Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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
Amazon web services AWS Lambda函数出现问题,在cloudwatch上调用错误_Amazon Web Services_Error Handling_Compiler Errors_Aws Lambda_Invoke - Fatal编程技术网

Amazon web services AWS Lambda函数出现问题,在cloudwatch上调用错误

Amazon web services AWS Lambda函数出现问题,在cloudwatch上调用错误,amazon-web-services,error-handling,compiler-errors,aws-lambda,invoke,Amazon Web Services,Error Handling,Compiler Errors,Aws Lambda,Invoke,嘿,大家好,我已经清理了互联网,找到了node.js函数的问题。Cloudwatch错误如下所示。任何见解或建议都会非常有用!代码可以运行,但存在一些问题。我不知道/var/runtime/CallbackContext.js代码在哪里,这似乎是问题的根源 2019-12-11T16:34:24.328Z 0211ab2b-8fea-4391-9cc6-01f5c5244c63 ERROR Invoke Error "errorType": "Error",

嘿,大家好,我已经清理了互联网,找到了node.js函数的问题。Cloudwatch错误如下所示。任何见解或建议都会非常有用!代码可以运行,但存在一些问题。我不知道/var/runtime/CallbackContext.js代码在哪里,这似乎是问题的根源

2019-12-11T16:34:24.328Z    0211ab2b-8fea-4391-9cc6-01f5c5244c63    ERROR   Invoke Error    
    "errorType": "Error",         "    at _homogeneousError (/var/runtime/CallbackContext.js:13:12)",
    "    at postError (/var/runtime/CallbackContext.js:30:51)",
    "    at done (/var/runtime/CallbackContext.js:57:7)",
    "    at fail (/var/runtime/CallbackContext.js:69:7)",
    "    at Object.fail (/var/runtime/CallbackContext.js:105:16)",
    "    at /var/task/index.js:42:25",
    "    at IncomingMessage.<anonymous> (/var/task/index.js:444:13)",
    "    at IncomingMessage.emit (events.js:203:15)",
    "    at endReadableNT (_stream_readable.js:1143:12)",
    "    at process._tickCallback (internal/process/next_tick.js:63:19)"
]
//v1.1.2
var https=require('https');
var zlib=需要('zlib');
var crypto=require('crypto');
var端点='vpc-esdxl-hx2nubxsqn3wh4hqwmywyy2g6y.us-east-1.es.amazonaws.com';
//如果要调试为什么数据无法访问,请将此设置为true
//你的Elasticsearch集群。这将启用失败项目的日志记录
//云监视日志。
var logFailedResponses=false;
exports.handler=函数(输入,上下文){
//从base64解码输入
var zippedInput=Buffer.from(input.awslogs.data,'base64');
//解压缩输入
gunzip(zippedInput,函数(错误,缓冲区){
if(error){context.fail(error);return;}
//从JSON解析输入
var awslogsData=JSON.parse(buffer.toString('utf8'));
//将输入转换为Elasticsearch文档
var elasticsearchBulkData=转换(awslogsData);
//跳过控制消息
如果(!elasticsearchBulkData){
log('收到控制消息');
success('成功处理控制消息');
返回;
}
//将文档发布到Amazon Elasticsearch服务
post(弹性数据、功能(错误、成功、状态码、故障编辑){
log('响应:'+JSON.stringify({
“状态代码”:状态代码
}));
如果(错误){
日志失败(错误,failedItems);
context.fail(JSON.stringify(error));
}否则{
log('Success:'+JSON.stringify(Success));
成功(“成功”);
}
});
});
};
功能转换(有效载荷){
if(payload.messageType==='CONTROL\u MESSAGE'){
返回null;
}
var bulkRequestBody='';
payload.logEvents.forEach(函数(logEvent){
var timestamp=新日期(1*logEvent.timestamp);
//索引名称格式:atg-YYYY.MM.DD
变量索引名=[
“atg-”+timestamp.getUTCFullYear(),//年
('0'+(timestamp.getUTCMonth()+1)).slice(-2),//月
('0'+timestamp.getUTCDate()).slice(-2)//天
]。加入(‘.);
var source=buildSource(logEvent.message、logEvent.extractedFields);
变量DXLRegex=/\\\ DXLORDER\\\/;
//var LogDatetimeRegex=/(信息|错误|警告|调试)\t(周一|周日|周六|周五|周四|周三|周二|)(.)\t([0-9])/;
var logtyperegex=/(信息|错误|警告|调试)/;
var WOrderRegex=/\\\\\(W)[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])\\\\\\/;
var DXLOrderRegex=/(DXL([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-;
[0-9[0-9][0-9][0-9][0-9[0-9][0-9][0-9][0-9][0-9[0-9][0-9[0-9][0-9[0-9][0-9][0-9][0-9[0-9[0-9[0-9[0-9[0-9[0-9][0-9[0-9[0-9][0-9][0-9[0-9[0-9[0-9][0-9[0-9][0-9[0-9][0-9][0-9][0-9[0-9][0-9[0-9[0-9][0-9][0-9][0-9][0-9[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][\.live \.gov)\s*)\\\/;
var EMailReferralRegex=/(#DXLORDER#)\\\\\\\|(SFMC),(\s*)(.*)(\s*)\\\|(W[0-9]\\\\[0-9])/;
(0-9[0-9][0-9][0-9][0-9[0-9][0-9][0-9][0-9][0-9 9][0-9[0-9[0-9][0-9][0-9[0-9][0-9][0-9][0-9][0-9[0-9[0-9][0-9[0-9][0-9[0-9][0-9[0-9][0-9[0-9[0-9][0-9][0-9[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-)\\\\)(.*;
var atgpathregex=/(\/)(.*)(\t)/;
(W[0-0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9[0-9][0-9[0-9][0-9[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9[0-9[0-9][0-9][0-9九九九九九存存存存存存在在在在在在天天天天;无效)的,124;(124;(12)无无无无任何任何124;(124;(124;(1)无无无无任何124;(124;(1-9)无无无任何任何任何任何任何任何任何任何人)无无任何人;(124,,,,,,\124;(124;;;;((([0-9[0-9[0-9[0-9[0-9[0-9-9[0-9[0-9-9 9][0-9])\|(DXL)/;
var refereralregex=/(#DXLORDER#)\s*\\\\\s*(.*)s*,\s*(.*)s*\\\\\\\(W[0-9]\\\\\\[0-9])/;
var ClientIPregex=/([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]。([0-9][0-9][0-9][0-9])/);
var ATGIDRegex=/(20[0-9][0-9])(\t)(.*)(\t)(\/)/;
var EmailSegmentRegex=/([a-z]w)([0-9][0-9][0-9][0-9][0-9][0-9]))(([0-9][0-9][0-9][0-9][0-9][0-9]))([a-z]|[a-z][a-z])\ |/;
var usernamesucregex=/(findUser:user)(.*)(found.)/;
var incorrectpassregex=/(尝试登录帐户)(*)(密码不正确)/;
var nonexistentregex=/(尝试登录到不存在的帐户)(.*)/;
var badcouponregex=/(noCouponFound:找不到索赔代码为()的优惠券()(.*)(.)/;
var ccauthamtregex=/()(.*)()/;
var couponremovedregex=/(在removeCoupon方法中:优惠券)(*)(已过期,因此从订单中删除couon)(*)/;
var Giftdollamramtregex=/()(.*)([0-9][0-9][0-9][0-9][0-9][0-9]|[A-Z][0-9][0-9][0-9][0-9][0-9])(.*)|HEM)(()/;
变量giftcardpinregex=/()(.*)()/;
var linkshareregex=/(#DXLORDER#)\s*\\\\\s*(linkshare)\s*,\s*(.*)\s*\\\\\\\\\\\\\\\(W[0-9]\\\\\\[0-9])/;
变量giftcardumregex=/(*)/;
var giftcardprocesseddollarregex=/Payment组中的付款状态,\s使用它。(.*):(.*)/;
var outofstockregex=/(很抱歉,\s*项:\s*)(.*)\s([A-Z][0-9][0-9][0-9][0-9])(.*)/;
if(outofstockregex.exec(logEvent.message)!=null){
var outofstockdesc=outofstockregex.exec(logEvent.message)[2];
var outofstockid=outofstockregex.exec(logEvent.message)[3];
}否则{
outofstockdesc=“-”;
outofstockid=“-”;
}
if(giftcardprocesseddollarregex.exec(logEvent.message)!=null){
var giftcardprocesseddollar=Number(giftcardproc
 if (error) {
            logFailure(error, failedItems);
            context.fail(JSON.stringify(error));
        } else {
            console.log('Success: ' + JSON.stringify(success));
            context.succeed('Success');
        }
if (error) {
            logFailure(error, failedItems);
            callback(error);
        } else {
            console.log('Success: ' + JSON.stringify(success));
            callback(null, 'Success');
        }