无法将JSON从API网关传递到SQS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将JSON从API网关传递到SQS相关的知识,希望对你有一定的参考价值。

API网关与SQS集成的文献资料很少。我遇到的问题是,当POST到设置为将json传递到SQS的API网关REST端点时,我收到500响应。但是,当我通过API网关控制台进行测试时,一切正常。

API网关日志显示Method request body before transformations: [Binary Data],这使我相信由于某种原因,数据以某种方式而不是json的形式被提取为二进制。

这是我的集成请求配置:enter image description here

答案

我发现问题是,在我的招摇定义中,我包含了以下参数,该参数将所有请求转换为二进制。删除此参数为我解决了问题:

"x-amazon-apigateway-binary-media-types": [
    "*/*"
]

也可以在控制台的“二进制媒体类型”部分的API设置下配置。

以上是关于无法将JSON从API网关传递到SQS的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON 字符串从片段传递到适配器的问题

从 Typescript POST 到 Web API API,无法传递 JSON 对象

将 Google API 客户端对象从活动传递到滑动选项卡片段

如何将 API Gateway 与 SQS 集成

如何使用 celery worker 从 SQS 轮询消息,消息为 JSON 格式,并且 worker 无法解码该格式

AWS SAM 模板 - 定义由 API Gateway 触发的 SQS 队列