lambda函数使用node.js调用AWS胶水的原因不为console.log



我正在尝试使用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;
  }
});

最新更新