使用 cloudformation 向 api 添加参数

Adding parameters to api using cloudformation

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

它按预期工作。但我想为 post 请求提供参数。我的 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 仍然不起作用并显示 "internal server error" 消息。

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

您应该改为使用 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 网关集成的好教程: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-http.html