Amazon S3上传使用一个凭据但不使用其他凭据

时间:2018-03-15 11:24:16

标签: amazon-web-services amazon-s3

我在两个不同的帐户下有两个S3存储桶。两个桶的权限和CORS设置相同。 两个桶的区域如下(第一个工作)

  1. 地区:亚太地区(新加坡)(ap-southeast-1)的作品
  2. 地区:美国东部(俄亥俄州)(us-east-2)不起作用
  3. 我使用Node.js和提供的区域加上

    创建了上传脚本
    Key : __XXXX__
    secret: __XXXXX____,
    bucket: _____XXXX__
    'x-amz-acl': 'public-read',
    ACL: 'public-read'
    

    代码工作正常,首先上传的文件也可以公开访问。但是使用第二个帐户(Region:us-east-2),脚本运行成功并返回URL,但是当我查看存储桶时没有上传,并且url表示权限被拒绝,这意味着资源不可用。奇怪的事情是

    1. 如果文件未在存储桶中上传,为什么会返回URL?
    2. 为什么相同的代码不适用于其他帐户,
    3. 我也尝试过AWS文档,但这似乎不像我这样为人类编写。帮助将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

  

脚本成功运行并返回URL,但是当我查看存储桶时没有上传

如果您真的看不到存储桶中的资源,那么上传确实失败了(我看到太多脚本只是忽略了任何错误响应),或者上传执行到的位置超出了您的预期。小心分享剧本?

  

和url表示权限被拒绝,这意味着资源不可用

不幸的是,这是你自己发现的东西。如果对象在桶中,它具有公共访问权限,正确的cors设置,则可能是url不正确。