我一直在尝试设置 Amazon S3 与我的 Symfony-Sylius 应用程序的集成,但我遇到了一个问题:该应用程序继续将图像上传到默认存储而不是 Amazon S3。检查来自图像的请求后,我注意到 URL 指向
127.0.0.1:8000
,而我的 MinIO 服务器正在 127.0.0.1:9000
上运行。我怀疑问题出在 Sylius 身上,但我不完全确定如何继续。
这是我的 services.yaml 文件的相关部分:
parameters:
amazon.s3.key: "%env(AWS_S3_KEY)%"
amazon.s3.secret: "%env(AWS_S3_SECRET)%"
amazon.s3.bucket: "%env(AWS_S3_BUCKET)%"
amazon.s3.region: "%env(AWS_S3_REGION)%"
amazon.s3.endpoint: "%env(AWS_S3_ENDPOINT)%"
amazon.s3.version: "%env(AWS_S3_VERSION)%"
services:
acme.amazon_s3:
class: Aws\S3\S3Client
factory: [Aws\S3\S3Client, factory]
arguments:
-
credentials: { key: "%amazon.s3.key%", secret: "%amazon.s3.secret%" }
region: "%amazon.s3.region%"
version: "%amazon.s3.version%"
acme.imagine.cache.resolver.aws_s3_resolver:
class: Liip\ImagineBundle\Imagine\Cache\Resolver\AwsS3Resolver
arguments:
- "@acme.amazon_s3"
- "%amazon.s3.bucket%"
tags:
- { name: "liip_imagine.cache.resolver", resolver: "aws_s3_resolver" }
这是我的 liip_imagine.yaml 配置:
liip_imagine:
resolvers:
aws_s3_resolver:
aws_s3:
client_config:
credentials:
key: "%amazon.s3.key%"
secret: "%amazon.s3.secret%"
region: "%amazon.s3.region%"
version: "%amazon.s3.version%"
bucket: "%amazon.s3.bucket%"
get_options:
Scheme: http
put_options:
CacheControl: "max-age=86400"
filter_sets:
cache: ~
runtime:
quality: 90
thumb:
quality: 75
filters:
thumbnail: { size: [ 150, 150 ], mode: outbound }
cache: aws_s3_resolver
我正在使用:
我已检查配置并确保我的 Amazon S3 凭证在 .env 文件中正确设置。但是,我仍然无法让应用程序将图像上传到 Amazon S3。
我的配置中是否缺少某些内容,或者我需要采取什么步骤才能使 Sylius 使用 Amazon S3 进行图像存储?任何有关如何排除或解决此问题的指导将不胜感激。谢谢!
根据您提供的详细信息,我将尝试以下一些操作。