Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么lambda函数使用Node.JS调用AWS glue而不使用console.log?_Node.js_Amazon Web Services_Aws Lambda_Console.log_Aws Glue - Fatal编程技术网

为什么lambda函数使用Node.JS调用AWS glue而不使用console.log?

为什么lambda函数使用Node.JS调用AWS glue而不使用console.log?,node.js,amazon-web-services,aws-lambda,console.log,aws-glue,Node.js,Amazon Web Services,Aws Lambda,Console.log,Aws Glue,我正在尝试使用lambda函数和node.js启动AWS胶水作业。我可以很好地测试lambda函数,但在脚本运行完之后,似乎什么也没有发生。我添加了一些console.log行,但是在启动AWS粘合作业的SDK方法调用期间,console.log行中没有记录任何内容,我正在lambda代码配置页面和CloudWatch上检查输出。我是不是遗漏了什么?我使用浏览器中的测试按钮测试了以下内容 var AWS=需要“AWS-sdk”; AWS.config.update{region:'us-east

我正在尝试使用lambda函数和node.js启动AWS胶水作业。我可以很好地测试lambda函数,但在脚本运行完之后,似乎什么也没有发生。我添加了一些console.log行,但是在启动AWS粘合作业的SDK方法调用期间,console.log行中没有记录任何内容,我正在lambda代码配置页面和CloudWatch上检查输出。我是不是遗漏了什么?我使用浏览器中的测试按钮测试了以下内容

var AWS=需要“AWS-sdk”; AWS.config.update{region:'us-east-2'}

var glue=新AWS.glue

exports.handler=异步事件=>{

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

功能日志: 启动请求ID:e205ec08-dce1-4710-b944-f490544b1486版本:$最新

2019-05-03T17:17:55.427Z e205ec08-dce1-4710-b944-f490544b1486你好

2019-05-03T17:17:55.525Z e205ec08-dce1-4710-b944-f490544b1486完成

结束请求ID:e205ec08-dce1-4710-b944-f490544b1486

报告请求ID:e205ec08-dce1-4710-b944-f490544b1486持续时间:324.11毫秒


计费持续时间:400毫秒内存大小:128 MB最大已用内存:68 MB

您的函数正在返回并在胶水作业的回调返回之前关闭。您可以在回调中移动return,以在回调返回后使函数完成

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;
  }
});



在从粘合作业返回回调之前,函数将返回并关闭。您可以将粘合作业转换为承诺并等待其完成,或者将返回调用移到回调中。