我正在尝试使用node.js来使用lambda函数启动AWS胶水工作。我可以很好地测试lambda功能,但是在脚本运行课程后似乎没有任何事情发生。我添加了几个台。log行,但是在SDK方法调用中以启动AWS胶合作业,没有一个台。log行记录任何内容(我正在检查lambda代码配置页面上的输出,以及在CloudWatch上(。我在这里错过了什么吗?我使用浏览器"测试"按钮测试了以下测试。
var aws = require('aws-sdk'(;aws.config.update({区域:'us-east-2'}(;
var glue = new Aws.glue((;
exports.handler = async(event(=> {
console.log("Hello!")
var params = {
JobName: 'ETL-store-inventory',
};
//Invoke job run
glue.startJobRun(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
console.log("Done")
const response = {
statusCode: 200,
body: JSON.stringify('Hello from Lambda!'),
};
return response;
};
我从控制台中获得以下内容:
响应:{ "状态密码":200, "身体":" " lambda!"你好"}
请求ID:" E205EC08-DCE1-4710-B944-F490544B1486"
功能日志:start requestID:E205EC08-DCE1-4710-B944-F490544B1486版本:$最新
2019-05-03T17:17:55.427Z E2S5EC08-DCE1-4710-B944-F490544B1486你好!
2019-05-03T17:17:55.525Z E2S5EC08-DCE1-4710-B944-F490544B1486完成
end requestID:e205ec08-dce1-4710-b944-f4905444486
报告requestID:E205EC08-DCE1-4710-B944-F490544B1486持续时间:324.11 MS
计费持续时间:400毫秒内存尺寸:128 MB最大内存:68 MB
您的功能正在返回和关闭,然后从胶工作返回回调之前。您可以在回调内移动返回,以使函数完成后,一旦回调返回
var AWS = require('aws-sdk'); AWS.config.update({region: 'us-east-2'});
var glue = new AWS.Glue();
exports.handler = async (event) => {
console.log("Hello!")
var params = {
JobName: 'ETL-store-inventory',
};
//Invoke job run
return glue.startJobRun(params, function(err, data) {
if (err) {
console.log(err, err.stack); // an error occurred
const response = {
statusCode: 200,
body: JSON.stringify('An error occurred!'),
};
return response
} else {
console.log(data); // successful response
console.log("Done")
const response = {
statusCode: 200,
body: JSON.stringify('Hello from Lambda!'),
};
return response;
}
});