部署 API Proxy

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

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

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

部署 API Proxy

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

Apigee UI

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

  1. 在 Google Cloud 控制台中,前往「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 環境附加至環境群組。