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。我试过了:

我对这两个调用使用相同的身份验证凭据。

双方都回复 200 OK。

知道为什么 v2 REST API returns 空响应吗?

v1 api 网关和 v2 api 网关是 AWS 中的不同资源。在 v1 中只有 REST API 网关,在 v2 中有两种类型:HTTPWebSocket 网关。它们可以共存,但它们与 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 以获得等效功能。