部署 API Proxy

本頁適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

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

建立 API Proxy 的新修訂版本時,如果不變更其基礎路徑,然後將其部署至已部署的環境,系統就會取消部署先前的修訂版本,並在該位置部署新修訂版本。

部署 API Proxy

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

Cloud 控制台中的 Apigee UI

如何部署 API Proxy:

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

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

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

    Proxy Explorer 中選取的目標端點。

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

UI 會開始部署所選修訂版本的程序。

代理程式部署完成後,「部署」部分的「狀態」欄會顯示綠色圖示,表示已部署代理程式的修訂版本 1。

已部署的 Proxy 狀態圖示

傳統 Proxy 編輯器

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

  1. 登入 Apigee UI
  2. 依序選取「Develop」>「API Proxies」

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

    系統會顯示 API 代理程式清單,其中包含名稱、狀態、24 小時內的流量、作者和上次修改時間。

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

    UI 會顯示「API Proxy 總覽」分頁。這個檢視畫面包含「Deployments」、「Proxy Endpoints」和「Target Endpoints」部分:

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

    如果這是您尚未部署過的新 API Proxy (或您部署的 API Proxy),修訂版本欄會顯示「未部署」

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

    如果這是從未部署過的新 API 代理,下拉式選單只會顯示「1」和「Undeploy」

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

    如果 API 代理程式有多個修訂版本,下拉式清單會顯示可供選擇的所有修訂版本,以及「Undeploy」

    API Proxy 詳細資料的「Deployments」部分,以及為測試環境選取的下拉式選單。

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

    UI 會提示您確認部署作業:

    API Proxy 詳細資料的「Deployments」(部署作業) 部分,其中已為產品環境選取第 3 版。

  7. 按一下「Deploy」

    UI 會開始部署所選修訂版本的程序。

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

    將 my-new-proxy 部署至測試環境確認

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

    部署狀態顯示已部署 75% 的修訂版本 18,以及 25% 的修訂版本 17

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

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

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

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

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

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

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

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

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

  3. 按一下「Deploy」

    UI 會開始部署所選修訂版本的程序。

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"
}

詳情請參閱「部署 API proxy 修訂版 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 代理程式,包括上一節中部署的 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 代理程式修訂版本,以及列出貴機構的部署作業範例。

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

如需進一步瞭解範例中使用的環境變數,以及相關說明,請參閱「開始使用 Apigee 搭配 gcloud」。

使用 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'

詳情請參閱「部署 API proxy 修訂版本 CLI」一文。

使用 gcloud CLI 列出部署

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

gcloud apigee deployments list

以下提供回應範例。在本範例中,有三個已部署的 API 代理,包括上一節中部署的 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 就不會部署。舉例來說,如果您先前建立並刪除 prod-1 環境,接著建立名為 prod-1 的環境,就必須移除該環境。您可以按照下列步驟解決這個問題:

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