簡體   English   中英

GCP - 如何在 API 網關中更新 api 規范

[英]GCP - How to update api specification in API Gateway

我已經創建了一個 API 網關並創建了一個 API 配置以及與之關聯的列出一組 API 的配置。 現在我想添加/修改一組 API。 如何更新此網關的相同 API 配置?

我是使用 gcloud CLI 完成的。

首先使用更新后的打開 api 規范文件創建一個新配置:

gcloud api-gateway api-configs create NEW_CONFIG_ID --api=MY_API --openapi-spec=openapi2-functions.yaml 

然后使用新配置更新您的 api 網關:

gcloud api-gateway gateways update MY-GATEWAY --api=MY-API --api-config=NEW_CONFIG_ID --location=YOUR_LOCATION

參考官方文檔,它指出:

注意:只有名稱和標簽可以在 API 配置上更新。

因此,如果要添加/修改一組 API,則需要創建一個新的 API 配置

GCP 文檔提到您無法更新現有的 API 配置,只能更新其顯示名稱和標簽,並且您無法刪除網關正在使用的現有 API 配置 這意味着如果您的配置文件已更改,您需要完全創建一個新的 API 配置。

我為此找到的解決方法是:

  1. 新建API 配置,指向網關:
gcloud api-gateway api-configs create NEW_CONFIG_ID --api=MY_API --openapi-spec=openapi2-functions.yaml 
gcloud api-gateway gateways update MY-GATEWAY --api=MY-API --api-config=NEW_CONFIG_ID --location=YOUR_LOCATION
  1. 刪除原來的配置:
gcloud api-gateway api-configs delete OLD_CONFIG_ID --api=MY_API
  1. 使用原始配置的名稱重新部署的 API 配置,使用更新后的配置文件,指向網關:
gcloud api-gateway api-configs create OLD_CONFIG_ID --api=MY_API --openapi-spec=openapi2-functions.yaml 
gcloud api-gateway gateways update MY-GATEWAY --api=MY-API --api-config=OLD_CONFIG_ID --location=YOUR_LOCATION
  1. 刪除配置:
gcloud api-gateway api-configs delete NEW_CONFIG_ID --api=MY_API

一個笨拙的解決方法,但它允許在網關中自動重新部署名稱相似的 API 配置文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM