symfony - 尝试使用 gaufrette 上传到 S3 时出错

标签 symfony amazon-web-services amazon-s3 symfony-2.4 gaufrette

我正在尝试使用 the KNPLabs gaufrette bundle将图像文件上传到 S3。调试来自 S3 的响应时出现以下错误:

The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.

images.mynamespace.com.s3.amazonaws.com

我已经尝试将 base_url 参数设置为该端点,但仍然出现相同的错误。还有其他关于 SO 的问题建议设置我也尝试过的区域。

我要上传到的存储桶位于欧盟西部地区(爱尔兰)。无论我尝试什么配置,gaufrette 似乎仍在尝试使用 s3.amazonaws.com

如何正确配置gaufrette?
config.yml:

knp_gaufrette:
    adapters:
        image_storage:
            amazon_s3:
                amazon_s3_id: mynamespace_admin.amazon_s3
                bucket_name:  %amazon_s3_bucket_name%
                create:       false
                options:
                    create:     true
                    directory: 'dirname'
                    region:     eu-west-1


    filesystems:
        image_storage:
            adapter:    image_storage
            alias:      image_storage_filesystem

最佳答案

I needed to set region to s3-eu-west-1.amazonaws.com

knp_gaufrette:
    adapters:
        image_storage:
            amazon_s3:
                amazon_s3_id: mynamespace_admin.amazon_s3
                bucket_name:  %amazon_s3_bucket_name%
                create:       false
                options:
                    create:     true
                    directory: 'dirname'
                    region:     s3-eu-west-1.amazonaws.com

关于symfony - 尝试使用 gaufrette 上传到 S3 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23307332/

相关文章:

php - Symfony 中的操作系统独立供应商路径

php - 重载 symfony2 供应商类以将 curl verify_peer 选项设置为 false

java - 使用 AWS JAVA SDK 使用查询参数作为身份验证方法进行 V4 身份验证的 S3 操作

php - 在本地主机上创建新的 symfony 项目

php - 如何自定义 Sylius 以销售免费产品(默认最低价格为 0.01)

hadoop - 失败 : ParseException: cannot recognize input near 'exchange' 'string' ',' in column specification

amazon-web-services - AWS - 使用 SecureTransport 设置策略后权限被拒绝 :false

php - AWS4 签名 key - 本教程有误吗?

php - 使用适用于 PHP 的 AWS 开发工具包以编程方式将文件夹添加到 S3

objective-c - 使用委托(delegate)、操作和队列