GCP:资源名称与 URL:匹配不一致
GCP: Resource Name vs URL : Inconsistent matching
对于资源名称,找到合适的 HTTP Rest URL。
在以下 Google 文档的帮助下,某些资源名称到 URL 的映射工作正常
示例:
- 姓名格式:
//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_NUMBER
- URL:
https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_NUMBER
基本上在名称前添加 HTTPS 方案,在资源路径前添加 API 主要版本,这很好。
但问题是这种转换方案对于某些资源不一致,如果我们用这种方法形成 URL 它将与实际的 URL 不同
示例:
- 名称格式://compute.googleapis.com/projects/PROJECT_ID/
- 形成URL:https://compute.googleapis.com/v1/projects/PROJECT_ID/
- URL 在 Google 文档中:https://compute.googleapis.com/**compute**/v1/projects
Compute Engine API 参考:https://cloud.google.com/compute/docs/reference/rest/v1
除计算之外的其他资源也与使用上述方法生成的资源实际上不同URL。
查询是:
- 除了上述方法之外,还有什么方法可以将资源名称映射到 URL
- 此类转换的最佳实践是什么
- 除了手动将每个名称映射到 URL 是否有任何通用方法
- 有没有API提供这个映射的,像pass一样,会返回一个资源名和URL(网上没找到)
Google API 有一个 discovery document.
在那个 JSON 文件中,有 2 个字段与这个问题相关:rootUrl
和 servicePath
。
要为 API 构造一个合适的 URL,请连接两个值。
discovery service docs 中有更多详细信息。
对于资源名称,找到合适的 HTTP Rest URL。
在以下 Google 文档的帮助下,某些资源名称到 URL 的映射工作正常
示例:
- 姓名格式: //cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_NUMBER
- URL: https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_NUMBER
基本上在名称前添加 HTTPS 方案,在资源路径前添加 API 主要版本,这很好。
但问题是这种转换方案对于某些资源不一致,如果我们用这种方法形成 URL 它将与实际的 URL 不同
示例:
- 名称格式://compute.googleapis.com/projects/PROJECT_ID/
- 形成URL:https://compute.googleapis.com/v1/projects/PROJECT_ID/
- URL 在 Google 文档中:https://compute.googleapis.com/**compute**/v1/projects
Compute Engine API 参考:https://cloud.google.com/compute/docs/reference/rest/v1
除计算之外的其他资源也与使用上述方法生成的资源实际上不同URL。
查询是:
- 除了上述方法之外,还有什么方法可以将资源名称映射到 URL
- 此类转换的最佳实践是什么
- 除了手动将每个名称映射到 URL 是否有任何通用方法
- 有没有API提供这个映射的,像pass一样,会返回一个资源名和URL(网上没找到)
Google API 有一个 discovery document.
在那个 JSON 文件中,有 2 个字段与这个问题相关:rootUrl
和 servicePath
。
要为 API 构造一个合适的 URL,请连接两个值。
discovery service docs 中有更多详细信息。