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