Abd*_*naf 7 amazon-web-services aws-lambda aws-api-gateway
我已经创建了一个示例lambda函数来生成成功和错误响应.功能如下
exports.handler = (event, context, callback) => {
if(event.val1=="1")
{
callback(null, 'success');
}else
{
callback(true, 'fail');
}
};
Run Code Online (Sandbox Code Playgroud)
当我使用API网关测试此功能时,我得到了不同的响应体,但响应代码是相同的(总是返回200 ok响应代码).
是否可以从lambda函数自定义状态代码(例如:错误响应需要500,成功响应需要200)?
您可能想查看 API Gateway 的新简化Lambda 代理功能。
使用此功能,您可以直接从 Lambda 定义状态代码、返回标头和正文内容。
文档中的示例:
'use strict';
console.log('Loading hello world function');
exports.handler = function(event, context) {
var name = "World";
var responseCode = 200;
console.log("request: " + JSON.stringify(event));
if (event.queryStringParameters !== null && event.queryStringParameters !== undefined) {
if (event.queryStringParameters.name !== undefined && event.queryStringParameters.name !== null && event.queryStringParameters.name !== "") {
console.log("Received name: " + event.queryStringParameters.name);
name = event.queryStringParameters.name;
}
if (event.queryStringParameters.httpStatus !== undefined && event.queryStringParameters.httpStatus !== null && event.queryStringParameters.httpStatus !== "") {
console.log("Received http status: " + event.queryStringParameters.httpStatus);
responseCode = event.queryStringParameters.httpStatus;
}
}
var responseBody = {
message: "Hello " + name + "!",
input: event
};
var response = {
statusCode: responseCode,
headers: {
"x-custom-header" : "my custom header value"
},
body: JSON.stringify(responseBody)
};
console.log("response: " + JSON.stringify(response))
context.succeed(response);
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2913 次 |
最近记录: |