Cloud Endpoints Frameworks 提供 API 管理功能,這些功能相當於可擴充服務 Proxy (ESP) 為 Cloud Endpoints 提供的功能。Endpoints Frameworks 包含內建 API 閘道,可攔截所有要求並執行所有必要的檢查 (例如驗證),然後再將要求轉送至 API 後端。當後端回應時,Endpoints Frameworks 會收集並回報遙測資料。您可以在Google Cloud console 中,依序前往「Endpoints」>「Services」(服務) 頁面查看 API 的指標。
Endpoints Frameworks 提供的 API 管理功能包含:
如要讓 Endpoints 管理您的 API,您必須部署 OpenAPI 文件,且此文件應使用 OpenAPI 規範 2.0 版說明 API。 本頁說明如何產生及部署可讓 Endpoints 管理您 API 的 OpenAPI 文件。
如果您不新增 API 管理設定,API 仍然會處理要求,但不會出現在Google Cloud console 的「Endpoints」>「Services」(服務) 頁面上,且您無法使用 Endpoints 提供的功能,例如記錄、監控和設定配額。
如何將 API 管理功能新增到 API:
- 按照「設定建構檔案」一文的說明,設定 Maven - pom.xml檔案或 Gradle- build.gradle檔案。
- 請務必在建構檔案中設定專案 ID。 Google Cloud - Maven- 搜尋 - <endpoints.project.id>,然後將- YOUR_PROJECT_ID替換為您的專案 ID。 Google Cloud 例如:- <endpoints.project.id>example-project-12345</endpoints.project.id>- Gradle- 
        搜尋 def projectId,然後將YOUR_PROJECT_ID替換為您的專案 ID。 Google Cloud 例如:def projectId = 'example-project-12345'
- 
        請確認 build.gradle檔案包含replaceProjectId工作,該工作會在appengine-web.xml和web.xml檔案中設定專案 ID。
 
- 
        搜尋 
- 在 API 專案的 - web.xml檔案中,新增 API 管理 Servlet 篩選器設定:
- 修改 API 專案的建構設定: - Maven- 
      新增 API 管理相依項目: 
- 
      納入可用來產生用戶端程式庫和 OpenAPI 文件 ( openapi.json) 的外掛程式:
 - Gradle- 
    新增 API 管理相依項目: 
- 
         宣告外部相依項目,以便系統可從 Maven Central 擷取外掛程式: 
- 
       使用伺服器端的 Endpoints Frameworks Gradle 外掛程式來產生 OpenAPI 文件: 
- 
      設定 Endpoints 服務的名稱: 
 
- 
      
- 修改相依項目之後,清除專案並建構 API: - Maven- mvn clean mvn package - Gradle- gradle clean gradle build 
- 產生 OpenAPI 文件 - openapi.json:- Maven- mvn endpoints-framework:openApiDocs- Gradle- gradle endpointsOpenApiDocs
- 部署 OpenAPI 文件: - gcloud endpoints services deploy openapi.json- 初次部署 - openapi.json時,系統會新建名為- YOUR_PROJECT_ID.appspot.com的 Endpoints 服務。成功部署之後,您會看到一行如下的訊息,其中顯示服務設定 ID 和服務名稱:- Service Configuration 2017-02-13r0 uploaded for service example-project-12345.appspot.com - 在上方範例中, - 2017-02-13r0是服務設定 ID。服務設定 ID 是由一個日期戳記和一個修訂版本編號所組成。如果您再次部署- openapi.json,服務設定 ID 中的修訂版本編號就會增加。- 如要再次顯示服務設定 ID,請執行下列指令,但將其中的 - YOUR_PROJECT_ID替換成您的 Google Cloud 專案 ID:- gcloud endpoints configs list --service=YOUR_PROJECT_ID.appspot.com - 您可以建立及部署自己的 OpenAPI 文件,而不使用系統產生的文件,只需將上面的 - openapi.json替換為 OpenAPI 文件的路徑即可。如要進一步瞭解如何撰寫 OpenAPI 文件,請參閱 OpenAPI 總覽。
- 編輯 - appengine-web.xml檔案來設定環境變數的值:- 將 - ${endpoints.project.id}替換為專案 ID。 Google Cloud 例如:- <env-var name="ENDPOINTS_SERVICE_NAME" value="example-project-12345.appspot.com" />
- 重新部署應用程式。 - Maven- mvn appengine:deploy - Gradle- gradle appengineDeploy 
- 向 API 提出幾個要求來進行測試。 
- 如要查看 API 指標,請在 Google Cloud 主控台中依序前往您專案的「Endpoints」 >「Services」(服務) 頁面: