我从amazon-api-gateway-developer-guide中检查了几种方法,偶然发现了api-gateway-export-api,我通过添加--profile和-设法使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
)正常工作区域参数,但无论出于何种原因,我都无法获得请求URL来返回API定义响应。
我正在尝试做以下几件事(邮递员):
这会导致以下错误:
{“ logref”:“ 2734hu2r2873”,“消息”:“用户: 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命令的凭据。
感谢您抽出宝贵的时间阅读和/或回复我的帖子,我非常感谢任何反馈。
答案 0 :(得分:0)
尝试使该请求正常工作的要点是,我想将其作为HTTP代理添加到API,不幸的是,我无法使其正常工作。 我的问题是我的会话中有几个配置文件,并且每个配置文件都有不同的权限,我发现无法指定要在请求中使用的配置文件,因此导致了上述错误。
最后,我选择编写具有代理集成功能的Lambda函数,并且在向lambda配置文件授予apigateway:GET权限后,一切正常。
如果我对自己写的任何东西有误解,或者我使用的术语不正确,请纠正我,我对AWS还是很陌生,还有很多东西要学习!