設定 Cloud Endpoints

Cloud Endpoints 支援使用 OpenAPI 規範 2.0 版說明的 API。您可以在 OpenAPI 文件中說明 API 介面並設定 Endpoints 功能,例如驗證規則配額

Endpoints 會以特殊的方式使用 OpenAPI 文件中的下列必填欄位:

  • host
  • info.title
  • info.version
  • operationId

本頁提供 Endpoints 如何使用上述欄位的相關資訊。有了這項資訊,您就可以完成 OpenAPI 文件準備以進行部署

必備條件

本頁假設您已經:

host

Cloud Endpoints 會使用您在 OpenAPI 文件的 host 欄位中設定的名稱做為您的服務名稱。

API 服務名稱在 Google Cloud上不得重複。因為 Endpoints 會使用與 DNS 相容的名稱來識別服務,因此建議您使用 API 的網域名稱或子網域名稱做為服務名稱。使用這個方法時,「Endpoints Services」(Endpoints 服務) 頁面中顯示的服務名稱,會與用來要求您的 API 時所使用的名稱相符。Endpoints 對服務名稱有以下要求:

  • The maximum length of the domain name is 253 characters.
  • The domain name must start with a lowercase letter.
  • Each section in the domain name, which is delimited by dots, has the following requirements:
    • Must start with a lowercase letter.
    • Must not end with a dash.
    • The remaining characters can be lowercase letters, numbers, or dashes.
    • The maximum length is 63 characters.

您可以註冊自訂網域 (如 example.com),也可以使用 Google 代管的網域。

使用 Google 代管的網域

Google 擁有並管理 cloud.googappspot.com 網域。 如果您要使用 Google 代管的網域,就必須使用您的Google Cloud 專案 ID 做為服務名稱的一部分。因為Google Cloud 專案具備全域不重複的專案 ID,因此這項要求可確保您擁有不重複的服務名稱。

您使用的網域名稱視託管您 API 的後端而定:

  • 若在 App Engine 彈性環境中託管 API,您必須使用 appspot.com 網域,且服務名稱必須採用下列格式,其中 YOUR_PROJECT_ID 是您的 Google Cloud 專案 ID:

    YOUR_PROJECT_ID.appspot.com
    

    將您的 API 部署到 App Engine 時,將會自動建立名稱格式為 YOUR_PROJECT_ID.appspot.com 的 DNS 項目。

  • 若在 Compute Engine、Google Kubernetes Engine 或 Kubernetes 中託管 API,您必須使用 cloud.goog 網域,且服務名稱必須採用下列格式,其中 YOUR_API_NAME 是您的 API 名稱:

    YOUR_API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
    

    如要使用這個網域做為 API 的網域名稱,請參閱「cloud.goog 網域上設定 DNS」。

使用自訂網域

如果不想使用 Google 代管的網域,則可採用您已獲授權使用的自訂網域 (例如 myapi.mycompany.com)。 在部署 API 設定之前,請先按照驗證網域擁有權說明中的步驟進行。

info.title

info.title」欄位是 API 的易記名稱。 Google Cloud 控制台的「Endpoints」 >「Services」(服務) 頁面會顯示您在 info.title 欄位中設定的文字。如果每個 Google Cloud 專案擁有多個 API,在您第一次開啟頁面時,API 名稱會顯示在清單中。您可以按一下 API 名稱以開啟另一個頁面,該頁面會顯示 API 的指標、部署記錄和其他資訊。

info.version

Google Cloud 控制台中的「Endpoints」 >「Services」(服務) 頁面會顯示您的 API 版本號碼。在首次部署 API 設定之前,請先執行下列操作:

  • info.version 欄位中的版本號碼設定為適用的 API 版本,例如 1.0

  • basePath 欄位設為主要版本號碼,例如 /v1

如要進一步瞭解如何進行 API 版本管理,請參閱 API 生命週期管理一文。

operationId

雖然 operationId 是 OpenAPI 規範中的選填欄位,但 Endpoints 需要這個欄位以用於作業的內部識別。您用於 operationId 的字串不能在 API 中重複。如需命名的相關指南,請參閱 OpenAPI 規範中的 operationId 說明。

後續步驟