如何使用API Gateway作为SQS的反向HTTP代理?

0

【以下的问题经过翻译处理】 我尝试使用AWS API Gateway作为反向(转发)代理到AWS SQS。我希望将REST请求发送到API Gateway,然后直接转发到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)时,请求成功。

我少了什么吗?

配置:

  1. 集成
  2. 路由
  3. 参数映射
1 回答
0

【以下的回答经过翻译处理】 在这种情况下,需为API网关配置IAM角色,以获得所需的"sqs:SendMessage"权限。因为如果API网关包含AWS签名,它会删除"Authorization"标头。该信息在文档中提到,但它隐藏在标题映射表下。 https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-known-issues.html#api-gateway-known-issues-rest-apis

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则