【发布时间】:2020-07-09 06:54:29
【问题描述】:
过去一小时我一直在寻找解决方案,但找不到任何解决方案。
我的aws上有几十个bucket,我可以很好地读写它们,它们都主要在美国地区。
但是,当我在欧盟(斯德哥尔摩)区域创建一个新存储桶时,尝试通过 PHP 使用 putObjectFile 时出现“访问被拒绝”错误。相同的脚本和其他所有内容都适用于所有其他存储桶,除了欧盟地区的存储桶。这是有原因的吗?
我可以通过 chrome 中的 aws 控制台上传文件。
【问题讨论】:
-
如果您能够通过浏览器中的 AWS 控制台正常上传,我怀疑您在代码中引用新存储桶时可能会出现拼写错误。你检查过吗?
-
是的,我什至复制并粘贴了实际名称。我做了更多的测试。在美国创建了一个新存储桶,在欧盟创建了一个,美国工作正常,欧盟获得许可被拒绝。设置中的其他所有内容都相同
-
检查您使用的是最新版本的适用于 AWS 的 PHP 开发工具包。最近的地区使用不同的“签名”样式来验证请求。
-
谢谢约翰,可能是这样。这个 SDK 已经有几年历史了
-
@RobertSamarji - 我不记得了,但我认为我使用的 SDK 已经过时了。使用更新的 SDK
标签: amazon-web-services amazon-s3