【问题标题】:How to access twilio's request from the aws api gateway mapping template?如何从 aws api 网关映射模板访问 twilio 的请求?
【发布时间】:2017-07-25 00:25:36
【问题描述】:

我想通过 aws api 网关访问我的 twilio 获取请求(正文、方法、查询等),但我不知道在映射模板中的我的 aws api 网关中放置什么来处理它。

我们将不胜感激。

谢谢。

【问题讨论】:

    标签: amazon-web-services twilio aws-lambda aws-api-gateway


    【解决方案1】:

    如果您希望端点的响应按原样传递,您可以使用传递映射。否则,您可以使用映射模板来自定义方法响应。这是 API 网关的 Mapping Template Reference。如果您有任何具体问题,请告诉我们。

    【讨论】:

    • 感谢您的回复。实际上,我想从运行在 ngrok 服务器上的网页访问请求数据。 /事实上,这是我公开的私有本地化网页,现在我希望 aws api 网关从该页面访问一些 GET 请求数据,例如正文、查询等。但是,我看不出我必须在哪里指定ngrok http url 在我的 api 网关中,以便在两个实体之间建立连接。这是我真正的问题。
    • John,您看过这篇将 Twilio 与 API Gateway 集成的帖子吗? twilio.com/blog/2015/09/…
    【解决方案2】:

    这是 AWS API Gateway 将表单 URL 编码的 POST 转换为 JSON 有效负载的最完整答案... Convert URL Encode to JSON 注意:向下滚动到最后一个答案,因为有几个已更新以解决极端情况。

    这是很多仪式,使用一种我以前从未见过的语言,但至少它是可读的。与 Azure 功能相去甚远的 IMO,您只需获取请求,然后使用您所使用的语言进行管理。

    这只会让你走到一半,但是,你还必须向集成响应添加一个映射模板 - 但该模板很简单,在前面的评论中引用 - 为了方便起见,在此重复

    #set($inputRoot = $input.path('$'))
    <?xml version="1.0" encoding="UTF-8"?>
    <Response>
                $inputRoot
    </Response> 
    

    由于我只使用响应 SMS 消息 - 我添加了以下内容,并且只从函数返回了一个字符串:

    #set($inputRoot = $input.path('$'))
    <?xml version="1.0" encoding="UTF-8"?>
    <Response>
        <Message>
            <Body>
                $inputRoot
            </Body>
        </Message>
    </Response> 
    

    【讨论】:

      猜你喜欢
      • 2019-07-11
      • 2021-01-14
      • 2018-01-20
      • 2016-01-21
      • 2018-07-31
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      相关资源
      最近更新 更多