部署 API Proxy

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

API Proxy 必須先部署,才能叫用。建立新的 API Proxy 或變更現有 API Proxy 後,即可將其部署至叢集。

如果您建立 API Proxy 的新修訂版本,但未變更其基本路徑,然後將新版本部署至已部署該 API Proxy 的環境,系統會取消部署舊版,並改為部署新版。

部署 API Proxy

請按照下列其中一種方法的說明,部署 API Proxy 修訂版本。

Apigee UI

如要部署 API Proxy,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Apigee」>「Proxy 開發」>「API Proxy」頁面。

    前往「API Proxies」(API Proxy)

  2. 按一下要部署的 API Proxy。使用者介面會顯示「總覽」頁面:

    API Proxy 詳細資料,包括每個環境的部署狀態、Proxy 端點詳細資料和目標端點詳細資料。

  3. 如要部署變更,請按一下「部署」,顯示「部署」對話方塊:

    在 Proxy Explorer 中選取的目標端點。

  4. 輸入下列資訊:
    • 修訂版本:要部署的 Proxy 修訂版本號碼。
    • 環境:要部署 Proxy 的環境。
    • 服務帳戶 (選用):Proxy 的服務帳戶
  5. 點選「Deploy」(部署)

使用者介面會開始部署所選修訂版本。

部署 Proxy 後,「部署作業」部分的「狀態」欄會顯示綠色圖示,表示已部署 Proxy 的修訂版本 1。

已部署的 Proxy 狀態圖示

Apigee API

以下各節提供使用 Apigee API 的範例,說明如何部署 API Proxy 修訂版本,以及列出貴機構的部署作業。

另請參閱「查看部署狀態」。

先建立部署變更報表,再進行部署

在同一個環境群組中,於多個環境部署 Proxy 可能會導致未定義的行為。如要判斷是否會發生這種情況,請使用 generateDeployChangeReport 方法產生報表,如下所示:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/deployments:generateDeployChangeReport" \
-X POST \
-H "Authorization: Bearer $TOKEN"

這會傳回 部署變更報表,如果現有部署作業已使用某個基本路徑,導致您要部署的 Proxy 中有基本路徑無法接收流量,系統就會發出警告。

使用 API 部署 API Proxy 修訂版本

如要部署 API Proxy 修訂版本,請使用下列 API 呼叫:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/deployments" \
  -X POST \
  -H "Authorization: Bearer $TOKEN"

其中 $TOKEN 是您設定的 OAuth 2.0 存取權杖,如「取得 OAuth 2.0 存取權杖」一文所述。如要瞭解本範例中使用的 curl 選項,請參閱「使用 curl」。如要瞭解可使用的環境變數,請參閱「為 Apigee API 要求設定環境變數」。

以下是回應輸出內容的範例。在本範例中,修訂版本 1helloworld API Proxy 已成功部署至 test 環境:

{
  "environment": "test",
  "apiProxy": "helloworld",
  "revision": "1",
  "deployStartTime": "1559149080457"
}

詳情請參閱「Deploy API proxy revision API」。

使用 API 列出部署作業

如要列出貴機構的所有 API Proxy 和共用流程部署作業,請輸入下列 API 呼叫:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/deployments" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

其中 $TOKEN 是您設定的 OAuth 2.0 存取權杖,如「取得 OAuth 2.0 存取權杖」一文所述。如要瞭解本範例中使用的 curl 選項,請參閱「使用 curl」。如要瞭解可使用的環境變數,請參閱「為 Apigee API 要求設定環境變數」。

以下是回應範例。在本範例中,已部署三個 API Proxy,包括上一節部署的 helloworld

{
  "deployments": [
    {
      "environment": "test",
      "apiProxy": "helloworld",
      "revision": "1",
      "deployStartTime": "1559149080457"
    },
    {
      "environment": "test",
      "apiProxy": "weather",
      "revision": "1",
      "deployStartTime": "1558620435217"
    },
    {
      "environment": "test",
      "apiProxy": "testproxy",
      "revision": "2",
      "deployStartTime": "1558635113086"
    }
  ]
}

gcloud

下列各節提供使用 gcloud apigee CLI 指令部署 API 代理修訂版本,以及列出貴機構部署作業的範例。

另請參閱「查看部署狀態」。

如要進一步瞭解範例中使用的環境變數,請參閱「開始使用 gcloud 和 Apigee」。

使用 gcloud CLI 部署 API Proxy 修訂版本

如要部署 API Proxy 修訂版本,請使用下列 gcloud 指令:

gcloud apigee apis deploy $REV --api=$API --environment=$ENV

以下是回應輸出內容的範例。在本範例中,修訂版本 1helloworld API Proxy 已成功部署至 test 環境:

Using Apigee organization 'my-org'
apiProxy: helloworld
deployStartTime: '1598032332802'
environment: test
revision: '1'

詳情請參閱「Deploy API proxy revision CLI」。

使用 gcloud CLI 列出部署作業

如要列出貴機構所有 API Proxy 和共用流程的部署作業,請使用下列 gcloud 指令:

gcloud apigee deployments list

以下是回應範例。在本範例中,已部署三個 API Proxy,包括上一節部署的 helloworld

Using Apigee organization `my-org`
 - apiProxy: helloworld
   deployStartTime: 1598032332802
   environment: test
   revision: 1
 - apiProxy: weather
   deployStartTime: 1558620435217
   environment: test
   revision: 1
 - apiProxy: testproxy
   deployStartTime: 1558635113086
   environment: test
   revision: 2

詳情請參閱「列出部署作業 CLI」。

疑難排解

如果無法部署 API Proxy,請檢查是否適用下列常見情境。

環境群組的命名限制

如果環境群組名稱不符合命名限制,Proxy 就無法部署。 在某些情況下,您可能不必遵守這些限制,就能建立環境群組並在其中新增環境。但這樣會導致 Proxy 無法部署。

如要瞭解命名規範和限制,請參閱「建立環境群組」。

使用先前用過的環境名稱建立環境

如果您建立的環境與先前刪除的環境同名,系統不會部署 Proxy。舉例來說,如果您先前建立並刪除了名為 prod-1 的環境,之後又建立同名環境,就必須移除該環境。prod-1如要解決這個問題,請按照下列步驟操作:

  1. 使用 API 從環境群組中分離 prod-1 環境。
  2. 使用 API 刪除 prod-1 環境。
  3. 建立新環境。例如 prod-2
  4. 使用 API,將新的 prod-2 環境附加至環境群組。