【发布时间】:2021-01-19 03:47:48
【问题描述】:
我正在尝试在我的 JavaScript 代码中创建一个 S3 预签名 URL:
var params = {Bucket: 'myBucketName', Key: 'key', Expires: 60};
var url = s3.getSignedUrl('getObject', params);
console.log('The URL is ', url);
执行后,我的控制台日志显示:
但我认为它应该显示:
为什么会在 URL 中将 S3 存储桶名称放在“s3.amazonaws.com”之前?
过去使用这种方法可以正常工作。 AWS 开发工具包是否发生了变化?
【问题讨论】:
-
无论哪种方式都可以访问您的存储桶。这会导致问题吗?
-
请注意,bucket.s3.amazonaws.com/cat.png 是虚拟托管样式的 URL,而 s3.amazonaws.com/bucket/cat.png 是路径样式的 URL。两者都有效。
-
对于 us-east-1 中的存储桶仅有效。路径样式必须引用区域端点,否则,例如
https://s3.us-east-3.amazonaws.com/example-bucket为 us-east-2。 -
您遇到的实际问题是什么?
标签: javascript amazon-web-services amazon-s3