我注意到我无法解释的带有S3签名URL的有趣行为。
我使用以下代码生成S3签名的URL:
s3.getSignedUrl("putObject", {
Bucket: bucketName,
Key: itemId,
Expires: expirationTime
})
当我在eu-central-1
中使用Lambda函数创建签名的URL时,它将返回有效的有效URL,我可以使用该URL上传文件。
但是,如果我在us-east-1
中的同一Lambda函数中执行此操作,则会得到一个URL,该URL立即在生成签名URL的同一秒内过期。当我尝试使用us-east-1
中的URL时,出现以下错误:
我还注意到us-east-1
(无效)和eu-central-1
(有效)的签名URL包含不同的参数集。
我们东部-1
eu-central-1
us-east-1
中有Lambda函数的IAM权限: