无法使用 Postman 将消息添加到 AWS SQS - AcessDenied?

问题描述 投票:0回答:2

我正在尝试使用

SQS
将消息添加到我的
Postman

当我在

Postman
上尝试以下操作时:

GET    https://sqs.us-east-1.amazonaws.com/205115639995/myQueue.fifo?Action=SendMessage&MessageBody={"message":"test1}

我得到:

<?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/205115639995/myQueue.fifo is denied.</Message>
        <Detail/>
    </Error>
    <RequestId>80ddb4e8-5eff-5143-adf6-e39d5cb46aa2</RequestId>
</ErrorResponse>

我已将

AWS ACCESS and SECRET keys
保存在我的环境变量中,它们是正确的。

这可能是什么问题?我需要将我的

KEYS
添加到请求中吗?

amazon-web-services http get postman amazon-sqs
2个回答
6
投票

AWS 凭证由 AWS 提供的工具(例如 AWS CLI、Boto3 (python) 等)获取。它们会查看各种位置,例如环境变量、由

aws configure
等生成的凭证文件

Postman 不是 AWS 属性,因此该查找逻辑不是内置的。这就是您面临此问题的原因。 需要进行一些配置才能让 Postman 知道您想要将 AWS 凭证用于特定 API 调用。

  1. 编辑请求时转到“Auth”选项卡。
  2. 从“类型”下拉列表中选择“AWS 签名”
  3. 在这里您可以找到添加accesskeysecretkey以及其他可选参数(例如区域)的位置。
  4. 一切就绪,如果您尝试连接的服务可公开访问,并且您使用的凭据具有访问该服务的策略,那么您现在应该经过身份验证才能访问它。

图片供您参考:


0
投票

我有一个 API 网关,它将消息转发到 SQS。我收到了上述错误。 “OAuth 2.0”授权。我试图发送 JSON 有效负载。

我通过观察

'Content-Type':application/json
被稍后列出的相同密钥覆盖来解决了这个问题。 enter image description here

我删除了重复的密钥,它开始工作。 enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.