【发布时间】:2022-09-30 04:08:25
【问题描述】:
我正在尝试使用屏幕截图中的配置将 AWS API Gateway 用作 AWS SQS 的反向(转发)代理。我本质上想向 API Gateway 发送一个 REST 请求,然后直接转发到 SQS REST API 并返回响应。
当我向网关发送请求时,我立即返回
<?xml version=\"1.0\"?>
<ErrorResponse xmlns=\"http://queue.amazonaws.com/doc/2012-11-05/\">
<Error>
<Type>Sender</Type>
<Code>AccessDenied</Code>
<Message>Access to the resource https://sqs.us-east-1.amazonaws.com/ is denied.</Message>
<Detail/>
</Error>
<RequestId>51c903b2-4da3-5d5e-a3b8-589ee72167de</RequestId>
</ErrorResponse>
但是,当我将请求 URL 直接切换到 SQS (https://sqs.us-east-1.amazonaws.com) 时,请求成功。
我错过了什么?
curl --request POST \'https://my-api-gateway.com/sqs\' \\
--header \'X-Amz-Date: <date>\' \\
--header \'X-Amz-Security-Token: <token>\' \\
--header \'Authorization: <auth>\' \\
--header \'Amz-Sdk-Invocation-Id: <invocation>\' \\
--header \'Amz-Sdk-Request: attempt=1; max=10\' \\
--header \'User-Agent: aws-sdk-go-v2/1.16.5 os/macos lang/go/1.18.3 md/GOOS/darwin md/GOARCH/arm64 api/sqs/1.18.6\' \\
--header \'Content-Length: 206\' \\
--data-urlencode \'Action=ReceiveMessage\' \\
--data-urlencode \'MaxNumberOfMessages=10\' \\
--data-urlencode \'QueueUrl=<my-queue-url>\' \\
--data-urlencode \'Version=2012-11-05\' \\
--data-urlencode \'WaitTimeSeconds=20\'
标签: amazon-web-services aws-api-gateway amazon-api-gateway