【发布时间】:2019-08-07 01:27:06
【问题描述】:
我正在检查 amazon-api-gateway-developer-guide 的几个方法,我偶然发现了 api-gateway-export-api,我设法通过添加 --profile 和 --region 参数使 AWSCLI 命令 (aws apigateway get-export --parameters extensions='apigateway' --rest-api-id abcdefg123 --stage-name dev --export-type swagger latestswagger2.json --profile profile --region us-east-1) 正常工作,但无论如何原因是我无法获取返回 API 定义响应的请求 URL。
我正在尝试做以下几件事(邮递员):
- 使用 URL 获取请求:https://apigateway.us-east-1.amazonaws.com/restapis/abcdefg123/stages/dev/exports/oas30
- 向请求添加授权类型 AWS-Signature 填充的参数(AccessKey、SecretKey、AWS 区域、 服务名称和会话令牌)
- 据我所知,授权、x-Amz-Date 和 x-Amz-Security 令牌已成功生成
- 我还将发送标头主机 (apigateway.us-east-1.amazonaws.com) 和接受 (application/yaml)
这会导致以下错误:
{"logref":"2734hu2r2873","message":"用户: arn:aws:sts::7216832187:assumed-role/DEVELOPER/xxxx 无权执行: apigateway:获取资源: arn:aws:apigateway:us-east-1::/restapis/abcdefg123 /stages/dev/exports/oas30"}
在添加 --profile 和 --region 参数之前,我在使用 AWSCLI 命令时实际上遇到了同样的错误。我已经查看了几篇关于我的问题的帖子,这是一个示例export swagger api definition from api gateway via http request?,但我做的事情基本相同(发送相同的标头、相同的主机和 URL)并收到此错误。我不认为我的访问密钥、秘密密钥、令牌或任何此类信息可能是错误的......因为这是我用于 AWSCLI 命令的凭证。
感谢您抽出宝贵时间阅读和/或回复我的帖子,非常感谢您提供任何反馈。
【问题讨论】:
标签: amazon-web-services aws-api-gateway