sat*_*ram 3 amazon-s3 amazon-web-services aws-sdk
我正在尝试使用 AWS JS SDK 列出与前端授权用户关联的存储桶。
listBuckets API 文档: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listBuckets-property
并且,listBucket 请求失败,并显示以下错误消息:
https://s3-us-west-2.amazonaws.com/。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“ http://palombpramalis.local:8888 ”。响应的 HTTP 状态代码为 403。
如何为https://s3-us-west-2.amazonaws.com/配置 CORS ?
AWS 文档讨论了仅针对特定存储桶配置 CORS http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/browser-configuring.html。但此请求用于列出经过身份验证的用户的所有存储桶。
S3 区域终端节点(例如s3-region.amazonaws.com)不支持 CORS。CORS 仅在存储桶上受支持(启用后)。所以你不能调用listBuckets。如果 AWS 启用此功能,那就太好了,但可能有令人信服的理由不启用。
如果需要,您可以通过在 Web 客户端中硬编码存储桶名称(不理想)或通过在 S3 中存储的可读 JSON 文件中维护存储桶列表来解决此问题。就我个人而言,我更喜欢后者,并尝试使用AWS Lambda维护该文件。当然,您也可以要求用户提供存储桶名称,但他们通常不知道。
| 归档时间: |
|
| 查看次数: |
1920 次 |
| 最近记录: |