HOK*_*HOK 6 javascript amazon-s3 amazon-web-services node.js aws-lambda
我想不通这个。任何帮助表示赞赏。
我有一个 lambda,它基本上将 HTML 文件从一个 S3 存储桶复制到另一个 S3 存储桶,其中包括一些“魔法”(重用其他 HTML 文件的部分)。
我已经在nodes.js 10中启动并运行了它
exports.handler = async (event, context, callback) => { }
Run Code Online (Sandbox Code Playgroud)
与回调。切换到node.js 12
exports.handler = async (event) => { }
Run Code Online (Sandbox Code Playgroud)
我不得不从回调切换到承诺。
生成的代码适用于 60% 的情况。
exports.handler = async (event) => {
for (var record of event.Records) {
if(record.s3.object.key.indexOf(".") != -1){
if (record.s3.object.key.localeCompare("website/") != 0) {
const objectCopied = await s3.putObject( { Body: (await generateHTML( (await s3.getObject({ Bucket: record.s3.bucket.name, Key: record.s3.object.key }).promise()).Body.toString('utf-8'), record.s3.bucket.name )), Bucket: DestBucket, Key: record.s3.object.key.slice("website/".length), ACL: 'public-read', ContentType: 'text/html'}).promise();
}
}
}
return 0;
};
Run Code Online (Sandbox Code Playgroud)
在另外 40% 中,我收到此错误:
Response:
{
"errorType": "TypeError",
"errorMessage": "Cannot read property 'push' of undefined",
"trace": [
"TypeError: Cannot read property 'push' of undefined",
" at Request.HTTP_DATA (/var/runtime/node_modules/aws-sdk/lib/event_listeners.js:389:35)",
" at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)",
" at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)",
" at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:683:14)",
" at IncomingMessage.onReadable (/var/runtime/node_modules/aws-sdk/lib/event_listeners.js:289:32)",
" at IncomingMessage.emit (events.js:311:20)",
" at IncomingMessage.EventEmitter.emit (domain.js:482:12)",
" at emitReadable_ (_stream_readable.js:562:12)",
" at onEofChunk (_stream_readable.js:540:5)",
" at readableAddChunk (_stream_readable.js:242:5)"
]
}
Run Code Online (Sandbox Code Playgroud)
我不知道我在这里做错了什么。请帮忙!
关于“为什么”的另一句话:我的研究表明,AWS 在链接承诺方面存在问题,但我发现的建议解决方案是使用回调。据我所知,这不是 Nodejs 12 的一个选项,而且它在代码中看起来非常丑陋。
| 归档时间: |
|
| 查看次数: |
2210 次 |
| 最近记录: |