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

问题描述 投票:0回答:1

我在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​​网关控制台测试程序进行测试,它会使用破折号和全部显示值。

所以lambda内联代码如下所示:

            method: event.context.httpmethod,
        }
    })
};
return response;
amazon-web-services aws-lambda
1个回答
0
投票

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

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

希望有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.