我在Method Request passthrough
下为常规模板选择了method integration
。
"context" : {
"account-id" : "$context.identity.accountId",
"api-id" : "$context.apiId",
"api-key" : "$context.identity.apiKey",
"authorizer-principal-id" : "$context.authorizer.principalId",
"caller" : "$context.identity.caller",
"cognito-authentication-provider" : "$context.identity.cognitoAuthenticationProvider",
"cognito-authentication-type" : "$context.identity.cognitoAuthenticationType",
"cognito-identity-id" : "$context.identity.cognitoIdentityId",
"cognito-identity-pool-id" : "$context.identity.cognitoIdentityPoolId",
"httpmethod" : "$context.httpMethod",
我必须从httpmethod中删除破折号才能看到lambda(我还必须更改body-json
)。但是,如果我使用API Gateway控制台测试仪进行测试,它将使用破折号和所有内容按原样显示值。
因此,lambda内联代码如下所示:
method: event.context.httpmethod,
}
})
};
return response;
答案 0 :(得分:0)
1。值得在API网关上使用Lambda proxy integration
。
2。使用Lambda代理集成时,当客户端提交API请求时,API网关将原始请求原样传递给集成的Lambda函数。该请求数据包括请求标头,查询字符串参数,URL路径变量,有效负载和API配置数据。配置数据可以包括当前部署阶段名称,阶段变量,用户身份或授权上下文(如果有)。后端Lambda函数解析传入的请求数据,以确定其返回的响应。 3. aws lambda proxy integration
希望有帮助