2

我尝试了在这里找到的 cloudformation 模板... https://bl.ocks.org/magnetikonline/c314952045eee8e8375b82bc7ec68e88

它按预期工作。但我想为发布请求提供参数。我的 Curl 命令应该看起来像这样......

curl -d "mynumber=12345" -X POST https://tyin2sswj2.execute-api.us-east-1.amazonaws.com/mycall

cloudformation模板中的API网关如何处理?我已经在 lambda 函数级别设置了环境变量。


不起作用的模板是这个...

https://raw.githubusercontent.com/shantanuo/cloudformation/master/updated/lambda_api.tpl.txt

很明显,我无法通过网关传递“mnumber”变量。


我已经更新了我的模板,现在它正确地部署了功能和网关。仍然生成的 URL 不起作用并显示“内部服务器错误”消息。

https://raw.githubusercontent.com/shantanuo/cloudformation/master/testapi.tpl.txt

4

1 回答 1

1

您应该更改为使用 HTTP 代理集成。以下是 AWS 关于代理集成的一些信息:https ://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-http-integrations.html

尝试从以下位置更改您的 RequestParameters:

RequestParameters:
        method.request.querystring.mnumber: false

RequestParameters:
        method.request.path.proxy: true

并在以下方面进行整合:

RequestParameters:
        integration.request.querystring.mnumber: "method.request.querystring.mnumber"

RequestParameters:
          integration.request.path.proxy: 'method.request.path.proxy'

这是一个关于代理与 API Gateway 集成的好教程: https ://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-http.html

于 2019-07-26T15:30:40.290 回答