AWS API通用模板-必须从通用模板中删除破折号

时间:2018-09-08 04:58:29

标签: amazon-web-services aws-lambda

我在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;

1 个答案:

答案 0 :(得分:0)

1。值得在API网关上使用Lambda proxy integration

2。使用Lambda代理集成时,当客户端提交API请求时,API网关将原始请求原样传递给集成的Lambda函数。该请求数据包括请求标头,查询字符串参数,URL路径变量,有效负载和API配置数据。配置数据可以包括当前部署阶段名称,阶段变量,用户身份或授权上下文(如果有)。后端Lambda函数解析传入的请求数据,以确定其返回的响应。 enter image description here 3. aws lambda proxy integration

希望有帮助