部署 API Proxy

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

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

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

部署 API Proxy

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

Cloud 控制台中的 Apigee UI

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

  1. 在 Cloud 控制台中開啟 Apigee 使用者介面
  2. 選取「Proxy development」>「API proxies」
  3. 按一下要部署的 API Proxy。使用者介面會顯示「總覽」頁面:

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

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

    在 Proxy 探索器中選取的目標端點。

  5. 輸入下列資訊:
    • 修訂版本:要部署的 Proxy 修訂版本號碼。
    • 環境:要部署 Proxy 的環境。
    • 服務帳戶 (選用):Proxy 的服務帳戶
  6. 按一下 [Deploy] (部署)

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

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

已部署的 Proxy 狀態圖示

傳統 Proxy 編輯器

如要在 Apigee 使用者介面中部署 API Proxy,請按照下列步驟操作:

  1. 登入 Apigee 使用者介面
  2. 選取「Develop」>「API Proxies」

    使用者介面會顯示 API Proxy 清單及其部署狀態:

    系統會顯示 API Proxy 清單,包括名稱、狀態、24 小時內的流量、作者和上次修改時間。

  3. 在「環境」下拉式清單中,選取要部署 API 代理的環境。
  4. 按一下要部署的 API Proxy。

    使用者介面會顯示「API Proxy 總覽」分頁。這個檢視畫面包含「部署」、「Proxy 端點」和「目標端點」部分:

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

    如果是您先前未部署的新 API Proxy (或取消部署的 API Proxy),「修訂版本」欄會顯示「未部署」

  5. 在「修訂版本」欄中,展開下拉式選單選取器。

    如果這是從未部署過的新 API Proxy,下拉式清單只會顯示 1 和「取消部署」

    部署 Proxy 的第一個修訂版本。

    如果 API Proxy 有多個修訂版本,下拉式清單會顯示所有可供選擇的修訂版本,以及「取消部署」

    API Proxy 詳細資料的「部署作業」部分,並選取測試環境的下拉式選單。

  6. 從下拉式清單中選取要部署的修訂版本。

    使用者介面會提示您確認部署作業:

    API Proxy 詳細資料的「Deployments」部分,並為 prod 環境選取修訂版本 3。

  7. 按一下「Deploy」(部署)

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

    將游標放在「狀態」欄中的「詳細資料」連結上,即可查看部署狀態。如果已部署一或多個修訂版本,您可以監控這些版本的取消部署狀態,如下圖所示。詳情請參閱「零停機時間部署」。

    將 my-new-proxy 部署至測試環境,確認是否正常運作

    部署完成後,「狀態」詳細資料會顯示修訂版本已完全部署:

    部署狀態:修訂版本 18 已部署 75%,修訂版本 17 已部署 25%

    請注意,部署作業不會立即完成。Apigee 的最終一致部署模型表示,新的部署作業會在短時間內推出至叢集,而不是立即推出。詳情請參閱「關於部署作業」。

    如要瞭解狀態指標的意義及如何查看狀態,請參閱「查看部署狀態」一文。

    部署狀態顯示修訂版本 18 已完全部署

或者,您也可以在「Develop」(開發) 分頁中,部署目前編輯的修訂版本。這麼做時,Apigee 會為您建立新的修訂版本。

  1. 按一下「部署至:」env_name 下拉式清單

    部署作業下拉式選單,可讓您將目前的修訂版本部署或取消部署至各個環境

    使用者介面會顯示環境清單。在「修訂版本」欄中,使用者介面會列出目前部署的修訂版本 (如果沒有,則為「‑‑」)。

  2. 按一下「Deploy」圖示 revision,即可部署最近編輯的修訂版本。

    使用者介面會提示您確認部署作業。

  3. 按一下「Deploy」(部署)

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

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 要求的環境變數」。

以下是回應輸出內容的範例。在本例中,helloworld API Proxy 的修訂版本 1 已成功部署至 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

以下是回應輸出內容的範例。在本例中,helloworld API Proxy 的修訂版本 1 已成功部署至 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 環境附加至環境群組。