我有一个用NodeJs编写的lambda,它通过API网关端点调用。
lambda接收事件头中的标记和事件参数中的参数。 使用这些动态路径构建为从s3中检索对象。
使用给定路径S3 getObject()的初始请求失败,说“指定的密钥不存在”。状态码为404。
当使用相同的参数再次请求时,令牌会成功并继续。(这次在S3上找到密钥。)
s3.getObject(authParams, function (err, authData) {
if (err) {
console.log(err);
return callback(err);
}
}
authParams由Bucket名称和数据密钥组成。 两个请求的authParams都是相同的。
从邮递员或SFDC请求时会发生这种情况。
使用相同参数在本地调用的相同lambda工作正常。
交叉验证数据存在于该S3路径,并且该对象的URL或链接也相同。