通过集成将 aws-api-gateway 上的请求添加到 aws-sqs,即使指定了“版本”也会失败

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

我有一个 AWS Api-Gateway 资源,我尝试配置该资源以将消息添加到 AWS-SQS,但是当我尝试向 api 发送请求时,我收到了响应:

{
  "Error": {
      "Code": "MissingParameter",
      "Message": "Version is missing.",
      "Type": "Sender"
  },
  "RequestId": "the-multicharacter-request-id-blah-blah"
}

我已在集成选项卡中链接了这两个服务,权限策略如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "sqs:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

我尝试在策略中添加 api-gateway 权限,在标头中添加

Version
参数,再次从头开始设置。

我有什么遗漏的吗?

integration aws-api-gateway amazon-iam
3个回答
1
投票

“版本”此处指定要使用的“SQS”服务版本,应指定为查询参数而不是标头,例如:

?Version='2019-05-09'

策略中指定的“版本”是指策略语言的版本。

这是 RTFM 的一个案例。


1
投票

由于不同的根本原因,我遇到了这个问题:如果您不想使用“操作覆盖”,请确保将“操作类型”设置为“使用路径覆盖”


0
投票

[在您的 API 网关的映射模板中应该是

Action=SendMessage&MessageBody=$util.urlEncode($input.body)
]

https://i.stack.imgur.com/sIaBJ.png

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