AWS v1 与 v2 API 用于在 AWS API 网关 return 上列出 APIs 同一 API 网关实例的不同数据
AWS v1 vs v2 API for listing APIs on AWS API Gateway return different data for the same API Gateway instance
我想使用 REST API 在我的 AWS API 网关实例上使用列表 API。我试过了:
- v2 API :: https://apigateway.eu-central-1.amazonaws.com/v2/apis
- v1 API :: https://apigateway.eu-central-1.amazonaws.com/restapis
我对这两个调用使用相同的身份验证凭据。
双方都回复 200 OK。
- v1 returns 我的 APIs
的正确数据
- v2 returns 空响应 ( {"items": []} )
- AWS-CLI v2 命令
aws apigateway get-rest-apis
returns正确的数据
知道为什么 v2 REST API returns 空响应吗?
v1 api 网关和 v2 api 网关是 AWS 中的不同资源。在 v1 中只有 REST
API 网关,在 v2 中有两种类型:HTTP
和 WebSocket
网关。它们可以共存,但它们与 each-other 不兼容并且具有非常不同的功能集。
有关差异的概述,请在此处查看 API 网关类型之间的比较:https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vs-rest.html
但为了更具体地回答您的问题,https://apigateway.eu-central-1.amazonaws.com/v2/apis 的回复是空的,因为您没有任何 v2“HTTP”apis 和“REST”apis v2 中不存在。
您在 v2 cli 中看到它们的原因是 v2 cli 工具通过单独的 sub-commands 支持两者。重要的不是你使用的 sub-command 的 cli 版本:
- “HTTP”API 由
apigatewayv2
管理
- “REST”API 是用
apigateway
创建的。
因此,将 v2 AWS-CLI 与 apigateway
sub-command 一起使用仍在访问 v1 apigateway
资源。
在使用“HTTP”API 网关资源时,您需要使用 aws apigatewayv2 get-apis
以获得等效功能。
我想使用 REST API 在我的 AWS API 网关实例上使用列表 API。我试过了:
- v2 API :: https://apigateway.eu-central-1.amazonaws.com/v2/apis
- v1 API :: https://apigateway.eu-central-1.amazonaws.com/restapis
我对这两个调用使用相同的身份验证凭据。
双方都回复 200 OK。
- v1 returns 我的 APIs 的正确数据
- v2 returns 空响应 ( {"items": []} )
- AWS-CLI v2 命令
aws apigateway get-rest-apis
returns正确的数据
知道为什么 v2 REST API returns 空响应吗?
v1 api 网关和 v2 api 网关是 AWS 中的不同资源。在 v1 中只有 REST
API 网关,在 v2 中有两种类型:HTTP
和 WebSocket
网关。它们可以共存,但它们与 each-other 不兼容并且具有非常不同的功能集。
有关差异的概述,请在此处查看 API 网关类型之间的比较:https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vs-rest.html
但为了更具体地回答您的问题,https://apigateway.eu-central-1.amazonaws.com/v2/apis 的回复是空的,因为您没有任何 v2“HTTP”apis 和“REST”apis v2 中不存在。
您在 v2 cli 中看到它们的原因是 v2 cli 工具通过单独的 sub-commands 支持两者。重要的不是你使用的 sub-command 的 cli 版本:
- “HTTP”API 由
apigatewayv2
管理
- “REST”API 是用
apigateway
创建的。
因此,将 v2 AWS-CLI 与 apigateway
sub-command 一起使用仍在访问 v1 apigateway
资源。
在使用“HTTP”API 网关资源时,您需要使用 aws apigatewayv2 get-apis
以获得等效功能。