简单地说,是否可以将转移加速(TA)与使用AWS-SDK for JavaScript生成的预签名URL一起使用?
为特定S3存储桶启用TA会提供格式为{bucket}.s3-accelerate.amazonaws.com
的网址。但是,在为请求指定参数时,唯一有效的选项似乎是{Bucket: 'bucket', Key: 'key', Body: 'body', Expires: 60}
,似乎不允许我说我想使用TA。生成的URL采用通常的格式{bucket}.s3-{region}.amazonaws.com
,这对TA来说是错误的。
documentation似乎没有提供有关预签名网址的更多信息。
答案 0 :(得分:15)
是的,但这仍然没有记录,无法在他们的文档或其他任何地方找到(直到现在:))。我们通过搜索SDK的源代码来实现它。您需要像这样加载S3:
var s3 = new AWS.S3({useAccelerateEndpoint: true});
然后SDK将使用加速端点。
答案 1 :(得分:1)
实际上,有一种记录的方法可以在AWS SDK for JavaScript上启用S3传输加速功能。可以通过指定@Luc Hendriks提到的相同属性来完成,但是在AWS.Config类中如下:
AWS.config.update({
useAccelerateEndpoint: true
});
var s3 = new AWS.S3();
文档参考:http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html