当前位置: 首页 > 知识库问答 >
问题:

API网关导出API定义与邮递员

祁承嗣
2023-03-14

我在amazon api gateway developer guide中查看了一些方法,我无意中发现了api gateway导出api,通过添加--profile和--region参数,我成功地获得了AWSCLI命令(aws apigateway get export--parameters extensions='apigateway'--restapi id abcdefg123--stage name dev--export type swagger latestswagger 2.json--profile profile--region us-east-1),但无论出于什么原因,我都无法获取返回API定义响应的请求URL。

我正在尝试做以下几件事(邮递员):

  • 使用URL获取请求:https://apigateway.us-east-1.amazonaws.com/restapis/abcdefg123/stages/dev/exports/oas30
  • 向请求添加授权类型AWS签名,并填写所有参数(AccessKey、SecretKey、AWS Region、服务名称和会话令牌)
  • 据我所知,授权、x-Amz-Date和x-Amz-Security令牌已成功生成
  • 我还向主机(apigateway.us-east-1.amazonaws.com)发送了一个头文件,并接受(application/yaml)

这将导致以下错误:

{“logref”:“2734hu2r2873”,“message”:“User:arn:aws:sts::7216832187:假定角色/DEVELOPER/xxxx无权执行:apigateway:GET-on-resource:arn:aws:apigateway:us-east-1::/restapis/abcdefg123/stages/dev/exports/oas30”}

在添加--profile和--region参数之前,我实际上在使用AWSCLI命令时遇到了相同的错误。我已经查看了一些关于类似我的问题的帖子,这是一个通过http请求从api网关导出swagger api定义的示例?,但我基本上做了同样的事情(发送相同的头、相同的主机和URL)并得到了这个错误。我不认为我的访问密钥、密钥、令牌或任何信息可能是错误的。。。因为这是我用于AWSCLI命令的凭据。

谢谢你花时间阅读和/或回复我的帖子,我真的很感激任何反馈。

共有1个答案

盖向荣
2023-03-14

尝试让这个请求工作的要点是,我想将它作为HTTP代理添加到API中,不幸的是,我无法让它工作。我的问题是,我的会话中有几个配置文件,每个配置文件都有不同的权限,我找不到方法指定我想在请求中使用的配置文件,因此导致了上述错误。

最后,我选择编写一个带有代理集成的Lambda函数,在给Lambda配置文件apigateway:GET权限之后,一切都很顺利。

如果我对我写的任何东西有误解,或者我使用的术语不正确,请纠正我,我还是AWS的新手,还有很多东西要学!

 类似资料:
  • 在AWS文档之后,我尝试使用以下http请求从api网关导出api定义。知道它为什么不起作用吗?

  • 我在api网关中遇到了一个奇怪的lambda集成问题(尝试过的代理也是同样的问题) 无服务器apigateway安装程序:

  • 我正在尝试在postman中成功完成spotify验证流,在那里我获得一个访问令牌,并请求创建一个新的播放列表。 因此,第一步是向auth url发出get请求,登录并获取访问令牌。我当前的身份验证url如下所示: https://accounts.spotify.com/authorize?client_id=5a576333cfb1417fbffbfa3931b00478 这里有我的客户机id

  • AWS文件说, 私有API不支持自定义域名。 来源:https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-apis.html 这到底是什么意思?我可以将自定义域名附加到私有API。 然而,我面临着SSL证书的问题。

  • 几周来,我一直在与 AWS API Gateway 作斗争。 我的API网关控制台中有一个带有客户端证书和自定义lambda授权器的API的工作版本。 我正在尝试导出到一个 swagger 文件,以作为不同的 API 在同一 AWS 账户中导入,但导入的 API 不起作用。 所有endpoint在具有“测试”功能的“资源”面板中运行良好,但当我尝试部署阶段时,它不起作用。昂首阔步的导入和导出都可以

  • 我是API网关的新手。我尝试使用“自定义授权程序”。我遵循了下面的文档,并使用了网站提供的示例代码。https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html “令牌类型的lambda授权者”是工作的。 但是... 我对“请求类型”感到困惑,不知道如何将quer