將 API Gateway 連線至 API 中心

本頁說明如何將 API Gateway 連接至 Apigee API 中心,以便查看 API 並集中管理 API。

總覽

API Gateway 管理員如要將 API Gateway 連線至 API Hub,請按照下列步驟操作:

  1. 佈建 API 中心
  2. 將 API Gateway 專案附加至 API 中心

事前準備:授予角色

確認您具備適當的 Identity and Access Management (IAM) 角色,可將 API Gateway 連接至 API 中心。

在您要佈建 API 中心的專案中:

  • 按照 API 中心佈建步驟中的「事前準備」一節所述,授予佈建角色。

在要附加至 API 中心的 API Gateway 專案中:

  • 將「Cloud API 中心執行階段專案連結編輯者」 (roles/apihub.runTimeProjectAttachmentsEditor) 角色授予主體帳戶。
  • 如要使用 Google Cloud 控制台將 API Gateway 專案附加至 API 中樞,請將「瀏覽器」 (roles/browser) 角色授予主體帳戶。

佈建 API 中心

如要將 API Gateway 連接至 API 中心,您必須先在主專案中佈建 API 中心。主專案是 Google Cloud 您在 Google Cloud 機構中指定的專案,是所有 API 中心資源的消費者專案。一項主專案可以佈建一個 API 中心執行個體。

如要集中探索所有 API Gateway 的 API,建議您為 API 中心執行個體使用一個專屬主專案,並將多個 API Gateway 專案 (稱為執行階段專案) 附加至 API 中心執行個體。

如要在主專案中佈建 API 中心,請執行下列任一操作:

  • 在 Google Cloud 控制台中,前往「API hub」(API 中心) 頁面,選取要做為主機專案的 Google Cloud 專案,然後按一下「Set up API hub」(設定 API 中心)

    您可以透過下列方式,從 API Gateway 頁面存取這個頁面:

    • 在任何 API Gateway 頁面頂端的 API 中心橫幅中,按一下「開始使用」
    • 按一下「API」頁面頂端的「開始使用 API 中心」

    然後按照「在 Cloud 控制台中佈建 API 中心」一文中的詳細佈建步驟操作。

  • 使用指令列Terraform

將 API Gateway 專案連結至 API 中心

將 API Gateway 專案附加至 API 中心。

Google Cloud 控制台

如要將 API Gateway 專案附加至 API 中心,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「API hub」(API 中心) 頁面。

    前往 API Hub

  2. 按一下左側導覽選單中的「設定」,開啟「設定」頁面。
  3. 前往「專案關聯」分頁。
  4. 如果 API Gateway 專案不在已連結的執行階段專案清單中,請按照下列步驟操作:
    1. 按一下「Attach runtime project」(附加執行階段專案)
      系統會顯示「Select a resource」(選取資源) 窗格。
    2. 按一下佈建 API Gateway 的 Google Cloud 專案。
    3. 在「專案關聯設定」窗格中,選取「API Gateway」和任何要自動匯入的 API 資產。
    4. 按一下 [儲存]
  5. 如果 API Gateway 專案已列在附加的執行階段專案清單中,請按照下列步驟操作:
    1. 在與 API Gateway 執行階段專案相關聯的資料列中,按一下「編輯設定」
    2. 在「專案關聯設定」窗格中,選取「API Gateway」和任何要自動匯入的 API 資產。
    3. 按一下 [儲存]

REST

如要將 API Gateway 專案附加至 API 中心,請使用「建立執行階段專案附件」和「建立外掛程式執行個體」API。

舉例來說,如要建立執行階段專案附件,請執行下列操作:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/runtimeProjectAttachments?runtimeProjectAttachmentId=RUNTIME_PROJECT_ID" \
  -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{"runtimeProject":"projects/RUNTIME_PROJECT_ID"}'

更改下列內容:

  • HUB_PROJECT_ID:API 中樞主專案的名稱。佈建 API 中心時,系統會選取主專案。
  • HUB_LOCATION:主機專案的位置。API Hub 佈建時已選擇位置。
  • RUNTIME_PROJECT_ID:API Gateway 執行階段專案的名稱。

如果成功,系統會傳回 RuntimeProjectAttachment JSON 物件。

接著,請建立 API Gateway 外掛程式執行個體:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/plugins/PLUGIN_TYPE/instances" \
  -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "API Gateway Plugin Instance",
    "sourceProjectId": "RUNTIME_PROJECT_ID",
    "actions": [
      {
        "actionId": "sync-metadata"
      }
    ]
  }'

更改下列內容:

  • HUB_PROJECT_ID:API 中樞主專案的名稱。佈建 API 中心時,系統會選取主專案。
  • HUB_LOCATION:主機專案的位置。API Hub 佈建時已選擇位置。
  • PLUGIN_TYPE:外掛程式類型。設為 system-api-gateway
  • RUNTIME_PROJECT_ID:API Gateway 執行階段專案的名稱。

如果成功,系統會傳回 Operation JSON 物件。