【发布时间】:2021-04-13 02:51:25
【问题描述】:
我有一个在 SQS 中发布请求的 API 网关。这个网关有 SQS SendMessage 策略,我这里描述的这个问题在我使用网关的 Test 选项时不会发生。
我正在使用 Insomnia 向服务器发出请求,带有这些标头:
Content-Type: application/x-www-form-urlencoded
x-api-key: <My API Key>
基本上配置是按照本教程完成的: https://medium.com/@pranaysankpal/aws-api-gateway-proxy-for-sqs-simple-queue-service-5b08fe18ce50
我在 Mapping 模板中包含 MessageGroupId 以进行重复数据删除的唯一区别:
Action=SendMessage&MessageBody=$input.body&MessageGroupId=$context.resourcePath
我得到的响应很奇怪,因为它是一个 Http 200,带有标题:
date: Mon, 12 Apr 2021 13:05:53 GMT
content-type: application/json
content-length: 377
x-amzn-requestid: xxxxxxxxxxxxxxxxxxx
x-amz-apigw-id: xxxxxxxxxxxxx
x-amzn-trace-id: Root=xxxxxx
还有身体:
<?xml version="1.0"?>
<ErrorResponse
xmlns="http://queue.amazonaws.com/doc/2009-02-01/">
<Error>
<Type>Sender</Type>
<Code>AccessDenied</Code>
<Message>Access to the resource https://sqs.xxxxxxx.amazonaws.com/arn:aws:sqs:us-xxxx-x:xxxxxxxx:xxxxxxxxx.fifo is denied.</Message>
<Detail/>
</Error>
<RequestId>xxxxxxxxxxxxxx</RequestId>
</ErrorResponse>
x 用于隐藏我不确定是否合理的信息。
我不确定如何继续,在队列中发布时似乎出现问题。
【问题讨论】:
标签: amazon-sqs