Fra*_*usy 6 javascript lambda amazon-web-services node.js
我正在尝试从外部 node.js 应用程序(即不在 AWS 上)调用 lambda 函数。我使用了 AWS 文档中的代码示例,它适用于名义案例。但是,在出现错误的情况下,我的调用函数永远不会正确处理它。
我的调用代码如下:
// AWS.config before
var pullParams = {
FunctionName : 'myFunctionName',
InvocationType : 'RequestResponse',
LogType : 'None',
Payload : JSON.stringify({
"myParam" : params
})
};
var lambda = new AWS.Lambda();
lambda.invoke(pullParams, function(error, data) {
console.log("error value: " + error);
if (error) {
console.log("Error invoking AWS " + error);
// process error
} else {
// process payload
}
});Run Code Online (Sandbox Code Playgroud)
在我的 lambda 函数中,如果没有提供参数,我会引发错误并提供错误消息
exports.handler = (event, context, callback) => {
var params = event.myParam;
if (!params) {
var error = new Error("Appropriate error message");
callback(error);
// In Node ?8, could also be expressed making handler `async` and `throw`ing here
}
else {
// do normal processing and create payload
callback(null, "Payload");
}
}Run Code Online (Sandbox Code Playgroud)
但是,在invoke回调中,error始终为 null(即使 lambda 通过错误代码路径),并且在通过错误代码路径时,则data包含errorMessage, errorType, stackTrace键。
我在这里缺少什么?不应该invoke绑定aws-sdkpopulateerror而不是让我检查data.errorMessage?!
| 归档时间: |
|
| 查看次数: |
4098 次 |
| 最近记录: |