如在AWS 文档 - 编程模型 (Node.js)中:
表示 Lambda 函数执行和所有回调成功完成。这是一般语法:
context.succeed (Object result);
在哪里
对象result
——提供函数执行的结果。提供的结果必须JSON.stringify
兼容。此参数是可选的。您可以不带任何参数 ( succeed()
) 调用此方法或传递null
值 ( succeed(null)
)。如果 AWS Lambda 无法字符串化或遇到另一个错误,则会引发未处理的错误,并将
X-Amz-Function-Error
响应标头设置为 Unhandled。
所以,你不能得到这样的结果:
Hello 世界!
因为,字符串Hello 世界!
将被编码为 JSON。因此,它将返回:
"Hello 世界!"
如果您使用 AWS Lambda 控制台在浏览器中看到:
"Hello ������!"
实际上它是一个有效的 JSON,你只需要先解码然后处理它。
尝试运行这个:
exports.handler = function (event, context) {
var jsonStr = JSON.stringify('Hello 世界!');
console.log(jsonStr);
console.log(JSON.parse(jsonStr));
context.succeed('Hello 世界!');
};
日志结果将是:
2015-08-07T12:49:54.888Z 12345678-90ab-cdef-1234-567890abcdef "Hello 世界!"
2015-08-07T12:49:54.889Z 12345678-90ab-cdef-1234-567890abcdef Hello 世界!
解码后,您可以取回原始字符串。