如果您在 Google Cloud上為應用程式啟用了 API 管理功能,但隨後決定不需要使用這類管理功能,則可以設定 Cloud Endpoints Frameworks 停止管理您的 API。
停用 API 管理功能不會導致系統停止提供您的 API。如要停止提供 API,您可以在 Google Cloud 控制台的「App Engine」的「Settings」(設定) 頁面停用應用程式,也可以刪除 Google Cloud 專案。詳情請參閱「停用應用程式和關閉專案」。
如何停用 API 管理功能:
備份 API 專案的
web.xml
與appengine-web.xml
檔案。在 API 專案的
web.xml
檔案中,移除下列項目:endpoints-api-configuration
篩選器。endpoints-api-controller
篩選器。endpoints-api-configuration
篩選器對應。endpoints-api-controller
篩選器對應。
刪除篩選器和篩選器對應後,
web.xml
應會類似於以下內容:在
appengine-web.xml
檔案中,移除定義ENDPOINTS_SERVICE_NAME
環境變數的那一行。如果ENDPOINTS_SERVICE_NAME
是您已定義的唯一環境變數,請移除整個env-variables
區段。清理專案,然後建構您的 API:
Maven
mvn clean mvn package
Gradle
gradle clean gradle build
重新部署應用程式:
Maven
mvn appengine:deploy
Gradle
gradle appengineDeploy
重新部署應用程式後,Cloud Endpoints Frameworks 就會停止管理您的 API。
確認停用 API 管理功能
如要確認 Endpoints Frameworks 是否已不再管理您的 API:
在 Google Cloud 控制台中,依序前往「Endpoints」 >「Services」頁面。
記下傳送到 API 中某個方法的要求數量。
按一下該方法的
View logs
連結。在
Produced API
記錄檔中,寫下最新記錄項目的日期和時間。傳送一些要求至 API 中的方法。
在 Google Cloud 控制台中,依序前往「Endpoints」 >「Services」頁面。
系統不會更新該方法的要求計數器。
按一下該方法的
View logs
連結。Produced API
記錄檔並未包含您傳送的要求記錄項目。
移除版本設定中的依附元件
您可以移除版本設定中的依附元件,不過這並非必要步驟。
如要移除版本設定中的依附元件:
備份您的
pom.xml
檔案或build.gradle
檔案。移除以下依附元件:
endpoints-management-control-appengine
endpoints-management-control-appengine-all
endpoints-framework-auth
清理專案,然後建構您的 API:
Maven
mvn clean mvn package
Gradle
gradle clean gradle build
重新部署應用程式:
Maven
mvn appengine:deploy
Gradle
gradle appengineDeploy
測試 API,確認 API 能正常運作。
刪除代管服務
Endpoints Frameworks 使用 Google 的 Service Management 來管理您的 API。使用 gcloud endpoints services
deploy
指令部署 OpenAPI 文件時,此指令會使用 Service Management 來建立適用您 API 的代管服務。如果您不需要「Endpoints」>「Services」頁面和「Logs Viewer」頁面中「Produced API」記錄檔的資料,則可刪除 API 的代管服務,進而從 Google Cloud 主控台移除資料。
如要刪除代管服務:
確認 gcloud CLI (
gcloud
) 已獲授權,可在 Google Cloud上存取您的資料與服務:gcloud auth login
輸入以下指令,以顯示 Google Cloud專案的專案 ID:
gcloud projects list
使用在上一個步驟中顯示的專案 ID,將預設Google Cloud 專案設為您的應用程式所屬專案:
gcloud config set project [YOUR_PROJECT_ID]
取得 Google Cloud 專案中所有代管服務的名稱:
gcloud endpoints services list
從 Service Management 中刪除該服務。將
SERVICE_NAME
替換為您要移除的服務名稱。gcloud endpoints services delete SERVICE_NAME
執行
gcloud endpoints services delete
並不會立即刪除代管服務。Service Management 會先將該代管服務停用 30 天,在這段期間內您可以視需要將其還原。30 天後,Service Management 就會永久刪除該代管服務。
後續步驟
如要還原代管服務,請參閱還原代管服務。
如要瞭解本頁面使用的
gcloud
指令,請參閱gcloud
參考資料。如要瞭解 Service Management,請參閱建立及刪除代管服務。