Nim*_*eva 3 amazon-s3 aws-lambda serverless-framework
在带有 event: 的 lambda 函数中,在s3:ObjectCreated:*创建的对象上调用 head 对象会返回 NotFound 错误。
module.exports.handler = async function(event, context, callback) {
try {
const Bucket = event.Records[0].s3.bucket.name;
const Key = event.Records[0].s3.object.key;
console.log('Bucket', Bucket);
console.log('Key', Key);
const objectHead = await s3.headObject({ Bucket, Key }).promise();
console.log('Alas! I will never discover that the objectHead is:', objectHead);
callback();
} catch(err) {
console.error('Error', err);
callback(err);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
{
NotFound: null
message: null,
code: 'NotFound',
region: null,
time: 2018-02-19T11:06:35.894Z,
requestId: 'XXXXXXXXXXX',
extendedRequestId: 'XXX.....XXX',
cfId: undefined,
statusCode: 404,
retryable: false,
retryDelay: 77.24564264820208
}
Run Code Online (Sandbox Code Playgroud)
我注意到它region null在错误中说。我怀疑这无关紧要,因为我 99% 确定我设置正确:
const s3 = new AWS.S3({
region: 'us-east-1'
});
Run Code Online (Sandbox Code Playgroud)
这是 serverless.yml 函数声明,以防有人好奇:
obj_head:
handler: obj_head.handler
events:
- s3:
bucket: ${self:provider.environment.BUCKET_NAME}
event: s3:ObjectCreated:*
role: arn:aws:iam::XXXXXXXXX:role/RoleWithAllS3PermissionsEver
Run Code Online (Sandbox Code Playgroud)
这是接收事件的示例:
{
"Records": [
{
"eventVersion": "2.0",
"eventSource": "aws:s3",
"awsRegion": "us-east-1",
"eventTime": "2018-02-19T11:03:46.761Z",
"eventName": "ObjectCreated:Put",
"userIdentity": {
"principalId": "AWS:XXX"
},
"requestParameters": {
"sourceIPAddress": "X.X.X.X"
},
"responseElements": {
"x-amz-request-id": "X",
"x-amz-id-2": "X/X/X"
},
"s3": {
"s3SchemaVersion": "1.0",
"configurationId": "14122133-28e8-4cd9-907c-af328334c56b",
"bucket": {
"name": "BUCKET_NAME",
"ownerIdentity": {
"principalId": "X"
},
"arn": "arn:aws:s3:::BUCKET_NAME"
},
"object": {
"key": "input.key",
"size": X,
"eTag": "X",
"sequencer": "X"
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
令人费解的是,虽然触发该函数的事件是对象的创建,但并未找到对象的头部。
难道我做错了什么?关于在哪里看的任何想法?
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |