Backand 的 S3 API:上传到美国标准以外的地区

Posted

技术标签:

【中文标题】Backand 的 S3 API:上传到美国标准以外的地区【英文标题】:Backand's API with S3: Upload to region other than US Standard 【发布时间】:2016-04-16 16:10:05 【问题描述】:

我想使用 AWS S3 安全地存储我的应用程序的用户文件。

我位于欧盟(英国),因此我的存储桶所在地区是欧盟(爱尔兰)。基于 Backand docs 中的 Noterious 示例以及 Backand 仪表板提供的 sn-p,这是我的自定义文件上传操作:

function backandCallback(userInput, dbRow, parameters, userProfile) 

  var data = 
    "key" : "<my AWS key ID", 
    "secret" : "<my secret key>", 
    "filename" : parameters.filename, 
    "filedata" : parameters.filedata,         
    "region" : "Ireland",
    "bucket" : "<my bucket name>"
  ;
  var response = $http(method:"PUT",url:CONSTS.apiUrl + "/1/file/s3" , 
           data: data, headers: "Authorization":userProfile.token);

  return response;

在 Backand 仪表板中测试操作时,我收到此错误:417 The remote server returned an error: (500) Internal Server Error.: An error occurred, please try again or contact the administrator. Error details: Maximum number of retry attempts reached : 3

使用美式水桶和region: "US Standard",它可以正常工作。所以,类似于this answer,我认为这是因为 AWS 端点没有正确设置。

我尝试过region: "EU"region: "Ireland"region: "eu-west-1" 和类似的组合。

那么 - 除了US Standard,还有什么方法可以配置 Backand 以使用 AWS 端点? (我原以为这就是设置region 的重点。)

【问题讨论】:

s3-eu-west-1 也许?这是对“区域”的错误答案,但话说回来,“美国标准”非常荒谬……但区域 REST 端点是 s3-eu-west-1.amazonaws.com,这就是为什么值得尝试一下。 感谢@Michael-sqlbot 的建议,但这也没有奏效。我会加入 Backand 团队。 当您找到它时,请在此处发布答案,以方便未来的访问者。如果您真正找到自己对真实问题的答案,那么回答您自己的问题是完全有效的。 【参考方案1】:

我们已经检查过这个问题,显然东海岸(弗吉尼亚北部)和爱尔兰等较新地区之间的 AWS 安全方法有所不同。 此问题计划在下一个版本中发布,解决后我会在此处更新。

【讨论】:

嗨@Itay。一段时间后我会回到这个问题上。这有没有得到解决?

以上是关于Backand 的 S3 API:上传到美国标准以外的地区的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中使用 REST API 将图像上传到 S3 存储桶,出现禁止错误:403

文件使用无服务器 api 成功上传到 s3,但未打开(已损坏)

使用 Learner Lab - 使用 API Gateway 与 Lambda 上传图片到 S3

如何通过 lambda 和 api 网关将我的 blob 上传到我的 s3 存储桶?

使用 Amazon Educate Starter 账户将图像上传到 S3

基于云和 REST API 的记录和存储到 Google 存储桶或 AWS S3