將 API Gateway 連線至 API 中心
本頁說明如何將 API Gateway 連接至 Apigee API 中心,以便查看 API 並集中管理 API。
總覽
API Gateway 管理員如要將 API Gateway 連線至 API Hub,請按照下列步驟操作:
事前準備:授予角色
確認您具備適當的 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 中心」一文中的詳細佈建步驟操作。
將 API Gateway 專案連結至 API 中心
將 API Gateway 專案附加至 API 中心。
Google Cloud 控制台
如要將 API Gateway 專案附加至 API 中心,請按照下列步驟操作:
- 前往 Google Cloud 控制台的「API hub」(API 中心) 頁面。
- 按一下左側導覽選單中的「設定」,開啟「設定」頁面。
- 前往「專案關聯」分頁。
- 如果 API Gateway 專案不在已連結的執行階段專案清單中,請按照下列步驟操作:
- 按一下「Attach runtime project」(附加執行階段專案)。
系統會顯示「Select a resource」(選取資源) 窗格。 - 按一下佈建 API Gateway 的 Google Cloud 專案。
- 在「專案關聯設定」窗格中,選取「API Gateway」和任何要自動匯入的 API 資產。
- 按一下 [儲存]。
- 按一下「Attach runtime project」(附加執行階段專案)。
- 如果 API Gateway 專案已列在附加的執行階段專案清單中,請按照下列步驟操作:
- 在與 API Gateway 執行階段專案相關聯的資料列中,按一下「編輯設定」。
- 在「專案關聯設定」窗格中,選取「API Gateway」和任何要自動匯入的 API 資產。
- 按一下 [儲存]。
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 物件。