建構簡單的 API Proxy

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

Apigee Edge 可讓您以 API 快速公開後端服務。只要建立 為您要公開的後端服務提供中繼介面的 API Proxy。您只需要 為後端服務提供網路位址,以及 Edge 能 用來建立對開發人員公開的 API Proxy。

API Proxy 能將後端服務實作項目與開發人員的 API 分離出來 續用折扣這可以防止開發人員日後更動後端服務。每次更新時 獨立於這類變更之外的後端服務,開發人員仍可繼續呼叫 API 不受廣告幹擾。

請觀看這部影片,概略瞭解建立 API Proxy 的程序。

使用 UI 建立 API Proxy

建立 API Proxy 最簡單的方法就是使用「建立 Proxy」精靈。

Edge

如何使用 Edge UI 存取「Create Proxy」精靈:

  1. 登入 apigee.com/edge
  2. 依序選取「開發」>「開發」API Proxy
  3. 按一下「+Proxy」

「Create Proxy」精靈會顯示並引導您逐步產生基本功能,並將功能新增至 API Proxy。

「建立 Proxy」精靈的第一個頁面,提示您選取反向 Proxy、SOAP 服務、無目標或 Proxy 組合,以自訂精靈流程。

傳統版 Edge (Private Cloud)

如何使用傳統版 Edge UI 存取「Create Proxy」精靈:

  1. 登入「http://ms-ip:9000」(ms-ip 為以下應用程式) Management Server 節點的 IP 位址或 DNS 名稱。
  2. 選取「API」>API Proxy
  3. 按一下「+ API Proxy」

「Create Proxy」精靈會顯示並引導您逐步產生基本功能,並將功能新增至 API Proxy。

「建立 Proxy」精靈的第一個頁面,提示您選取反向 Proxy、SOAP 服務、無目標或 Proxy 組合,以自訂精靈流程。

您可以透過精靈的第一頁,從下列來源建立 API Proxy:

類型 說明
反向 Proxy (最常見)

將傳入要求轉送至現有 HTTP 後端服務的 API Proxy。可以是 例如 JSON 或 XML API請參閱下一節的「為 HTTP 服務建立反向 Proxy」。

點選「Use OpenAPI Spec」,透過有效的 OpenAPI 產生 Proxy 規格。如要進一步瞭解這個選項,請參閱使用 OpenAPI 本節後段產生 Proxy 的規格

SOAP 服務 從 WSDL 檔案產生的 API Proxy。請參閱「將 SOAP 型網路服務公開為 API Proxy」。
沒有指定目標

沒有 API 後端的 API Proxy (「無目標」)。風格類似 為 HTTP 服務建立反向 Proxy (如前文所述)。 但您可以在定義 API Proxy 詳細資料時指定現有的 API。

點選「Use OpenAPI Spec」,透過有效的 OpenAPI 產生 Proxy 規格。如要進一步瞭解這個選項,請參閱使用 OpenAPI 本節後段產生 Proxy 的規格

代管目標

這個 API Proxy 會轉送至部署至託管目標環境的 Node.js 應用程式。 請參閱代管目標總覽

上傳 Proxy 組合 現有的 API Proxy 套裝組合 (例如,您可以透過 GitHub.)請參閱從 API Proxy 套件匯入 API Proxy

以下各節說明如何使用各個來源建立 API Proxy。

建立 HTTP 服務的反向 Proxy

邊緣根據兩項資訊產生反向 Proxy:

  • 後端服務的網址
  • 這個 URI 路徑,專門用於識別 API Proxy 要公開的 API 消費者應用程式

後端服務網址通常代表以下項目已啟用服務的應用程式: 並根據貴機構的使命 價值觀和目標進行調整以及指向公開可用的 API。API 或服務可位於 例如 Cloud 中的內部 HR 應用程式或 Rails 應用程式 為第三方 API 或服務 (例如 Twitter 或 Instagram)。

Edge

  1. 存取「建立 Proxy」精靈,如先前本節的使用 UI 建立 API Proxy 所述。
  2. 在「建立 Proxy」精靈中,按一下「反向 Proxy (最常見)」。目的地: 按一下 [Use OpenAPI Spec] (使用 OpenAPI 規格),根據現有的有效 OpenAPI 規格產生 Proxy。 如要進一步瞭解這個選項,請參閱下方的「使用 OpenAPI 規格產生 Proxy」一節。
  3. 在精靈的「詳細資料」頁面中輸入下列資訊。
    欄位 說明
    名稱 顯示的 API 名稱。指定英數字元、破折號 (-) 或底線 (_)。
    基本路徑

    顯示在 http(s)://[host] 位址後方的 URI 片段 並存取 API ProxyEdge 會使用基本路徑 URI 來比對及轉送傳入要求訊息 正確的 API Proxy

    注意:API Proxy 基本路徑預設為 Name 欄位會轉換為全部小寫。

    以基本路徑為依據,是任何其他資源網址。以下是完整的網址 用戶端呼叫 API Proxy 時使用的結構:

    https://[host]/base_path/conditional_flow_path

    注意:基礎路徑不得重複;您無法以相同的 基本路徑。如果編輯已部署的 API Proxy 並將基本路徑設為與其他 API Proxy 基本路徑相同的值,Edge 會自動取消部署 請儲存 API Proxy您必須先編輯基本路徑,重新部署 API Proxy,才能重新部署。

    在基本路徑中使用萬用字元

    在 API Proxy 基本路徑中使用一或多個 /*/ 萬用字元,以便: 確保 API Proxy 具有前瞻性例如 /team/*/members 的基本路徑 可讓用戶端呼叫 https://[host]/team/blue/membershttps://[host]/team/green/members中未回應 以及需要建立新的 API Proxy 來支援新的團隊請注意,/**/ 不是 支援。

    說明 (選填) API 的說明。
    目標 (現有 API) 這個 API Proxy 叫用的後端服務網址。
  4. 在精靈的「Common policy」(一般政策) 頁面中,設定以下項目:
    • 「安全性:授權」部分的安全性授權需求。請參閱本節的後續新增安全性一節。
    • 支援「安全性:瀏覽器」下的跨源資源共享 (CORS)。請參閱本節的後續章節新增 CORS 支援功能
    • 您可以運用配額,保護後端服務不受「配額」下的高流量影響。請參閱配額一文。(如果選取快速授權授權,則無法使用這個選項)。
    • 在「營利」下方針對已啟用營利功能的機構強制執行營利限制。請參閱「對 API Proxy 強制執行營利限制」。
  5. 在精靈的「虛擬主機」頁面中,選取 API Proxy 在部署後要繫結的虛擬主機。詳情請參閱「虛擬主機簡介」。
  6. 在「Summary」頁面中,視需要選取部署環境,然後按一下「Create and deploy」

    已建立新的 API Proxy 並在所選環境中部署及部署

  7. 按一下「編輯 Proxy」即可查看 到 API Proxy 的詳細資料頁面

傳統版 Edge (Private Cloud)

  1. 存取「建立 Proxy」精靈,如先前本節的使用 UI 建立 API Proxy 所述。
  2. 在「Build a Proxy」精靈中,選取「Reverse proxy (mcommon)」。目的地: 從現有的有效 OpenAPI 規格產生 Proxy,然後按一下「Use OpenAPI」。 如要進一步瞭解這個選項,請參閱下方的使用 OpenAPI 規格產生 Proxy
  3. 點選「下一步」。
  4. 在精靈的「詳細資料」頁面中輸入下列資訊。
    欄位 說明
    Proxy 名稱 您的 API 顯示名稱。
    Proxy 基本路徑

    Proxy 基本路徑是您 http(s)://[host] 位址後方的 URI 片段 並存取 API ProxyEdge 會使用基礎路徑 URI 來比對及轉送傳入要求訊息 正確的 API Proxy

    注意:如需 Apigee 的 API 版本管理建議,請參閱「Web API 設計:缺少連結」中的「版本管理」一節 電子書。

    基本路徑之後,指的是任何其他資源網址。以下是完整的網址 用戶端呼叫 API Proxy 時使用的結構:

    https://[host]/base_path/conditional_flow_path

    注意:基本路徑不得重複。如果之後編輯這個 Proxy 並將基本路徑設定為與其他 API Proxy 相同,則此 API Proxy 會 您儲存時會自動取消部署。您必須先編輯基本路徑 可以重新部署

    在基本路徑中使用萬用字元

    您可以在 API Proxy 基本路徑中使用一或多個 /*/ 萬用字元,以便: 以確保 Proxy 具有前瞻性例如 /team/*/members 的基本路徑 可讓用戶端呼叫 https://[host]/team/blue/membershttps://[host]/team/green/members中未回應 以及需要建立新的 API Proxy 來支援新的團隊請注意,/**/ 並不是 支援。

    注意:「Proxy 基本路徑」預設為 除非你明確編輯 Proxy 基本路徑欄位。

    現有 API API 平台代表透過以下方式呼叫您的 API 的應用程式所叫用的網址 API Proxy 網址
    說明 API 的說明。
  5. 在精靈的「安全性」頁面中設定下列項目:
  6. 在精靈的「虛擬主機」頁面上,選取 API Proxy 在部署時要繫結的虛擬主機。詳情請參閱「虛擬主機簡介」。
  7. 選取部署環境,然後按一下「Build and Deploy」(建構及部署)
    已傳送確認訊息,確認新的 API Proxy 已成功建立 並在所選環境中部署及部署
  8. 按一下「查看 <Proxy 名稱>」 在編輯器中使用 Proxy 到 API Proxy 的詳細資料頁面

從 API Proxy 匯入 API Proxy 區域組合

您通常會將 API Proxy 定義為 XML 檔案的集合,以及任何其他 。只要將 API Proxy 定義為一組 Edge 外的檔案,您就能 維護在原始碼控管系統中保留的 Pod 並匯入 Edge 以進行測試 可能面臨擴充性、監控、持續整合 和部署等方面的挑戰

觀看這部影片,瞭解如何從 API Proxy 建立及匯入 API Proxy 軟體包。

Edge

如何從 API Proxy 軟體包匯入 API Proxy:

  1. 存取「建立 Proxy」精靈,如先前本節的使用 UI 建立 API Proxy 所述。
  2. 按一下「上傳 Proxy 組合」
  3. 在 Proxy 精靈的「上傳 Proxy 組合」頁面中,輸入下列資訊。

    欄位 說明
    ZIP 檔案包 ZIP 檔案,其中含有 API Proxy 設定拖曳或點選即可前往檔案。
    名稱 顯示的 API 名稱。預設為不含副檔名的 ZIP 檔案名稱。
  4. 點選「下一步」。
  5. 在「Summary」頁面中,視需要選取部署環境,然後按一下「Create and deploy」
    系統會顯示確認訊息,確認已成功建立新的 API Proxy。
  6. 按一下「編輯 Proxy」即可查看 到 API Proxy 的詳細資料頁面

傳統版 Edge (Private Cloud)

  1. 存取「建立 Proxy」精靈,如先前本節的使用 UI 建立 API Proxy 所述。
  2. 在「Build a Proxy」精靈中,選取「Proxy bundle」
  3. 點選「下一步」。
  4. 在 Proxy 精靈的「Details」(詳細資料) 頁面上,輸入以下資訊。

    欄位 說明
    ZIP 檔案組合 按一下「選擇檔案」,然後瀏覽至含有 API Proxy 設定
    Proxy 名稱 您的 API 顯示名稱。
  5. 查看版本資訊,然後按一下「Build」
    如果成功,畫面會顯示訊息,Edge 會自動將匯入的 API Proxy 部署至所選環境 組織。API Proxy 公開的 API 可供叫用。
  6. 按一下「查看 <Proxy 名稱>」在編輯器中顯示 到 API Proxy 的詳細資料頁面
  7. 如要部署 Proxy,請按一下「Deployment」下拉式選單,然後選取 並回應提示

以 API 的形式公開以 SOAP 為基礎的網路服務 Proxy

在「建立 Proxy」精靈中,按一下「SOAP 服務」,然後按照精靈的指示 為 SOAP 服務建立直通式或 REST 型 Proxy。詳情請參閱公開 以 API Proxy 的形式使用 SOAP 服務

新增安全防護機制

在「建立 Proxy」精靈的通用原則 (Edge) 或安全性 (經典邊緣) 頁面中,選取您要新增的安全性授權類型。下表摘要列出可用的選項:

安全性授權 說明
API 金鑰 將簡單的 API 金鑰驗證新增至您使用的 API Proxy 定義API 平台會在回應中加入 VerifyAPIKey 政策和 AssignMessage 政策 並將要求傳送至您的 API ProxyVerifyAPIKey 政策會驗證要求應用程式提供的 API 金鑰。 AssignMessage 政策會將 API 呼叫中做為查詢參數提供的 API 金鑰從 將要求轉送至後端伺服器。
OAuth 2.0 將 OAuth 2.0 式驗證新增至您的 API Proxy。Apigee Edge 會自動將兩項政策新增至您的 API Proxy:一種 政策,用於驗證存取權杖和其他政策,將存取權杖從訊息中移除 然後再轉送至後端服務如要瞭解如何取得存取權杖,請參閱 OAuth
通過 (無授權) 不需授權。要求會傳遞到後端 而且不會檢查 Apigee Edge 的任何安全性

新增 CORS 的支援

CORS (跨源資源共享) 是一種允許網路瀏覽器 將要求導向其他網域。CORS 標準會定義一組 HTTP 標頭 瀏覽器和伺服器實作跨網域通訊。

您可以在 API 中選取 新增 CORS 標頭, 「Create Proxy」精靈的「Common Policy」(Edge) 或「Security」(安全性) (傳統邊緣) 頁面。

如需 CORS 支援的詳細資訊,包括新增 CORS 預檢支援 請參閱新增 CORS API Proxy 支援功能

使用 OpenAPI 規格產生 Proxy

本節討論可從 OpenAPI 產生的「使用 OpenAPI」選項 請指定下列類型的 API Proxy:反向、Node.js 或沒有目標。

什麼是 OpenAPI 規格?

Open API 計畫標誌「Open API 計畫 (OAI) 的重點在於 根據 Swagger 製作、改良及宣傳各供應商適用的 API 說明格式 規格。」如要進一步瞭解 Open API 計畫,請參閱 https://openapis.org

OpenAPI 規格使用標準格式來描述符合 REST 樣式的 API。 OpenAPI 規格能以 JSON 或 YAML 格式編寫,機器可讀取,但也能 方便使用者閱讀及理解此規格說明這類 API 元素為 其基本路徑、路徑和動詞、標頭、查詢參數、作業、內容類型、回應 說明等等此外,OpenAPI 規格也常用於產生 API 說明文件。

以下為 OpenAPI 規格的片段,用於說明 Apigee 的模擬目標服務 http://mocktarget.apigee.net.適用對象 詳情請參閱 https://github.com/apigee/api-platform-samples/tree/master/default-proxies/helloworld/openapi

openapi: 3.0.0
info:
  description: OpenAPI Specification for the Apigee mock target service endpoint.
  version: 1.0.0
  title: Mock Target API
paths:
  /:
    get:
      summary: View personalized greeting
      operationId: View a personalized greeting
      description: View a personalized greeting for the specified or guest user.
      parameters:
        - name: user
          in: query
          description: Your user name.
          required: false
          schema:
            type: string
      responses:
        "200":
          description: Success
  /help:
    get:
      summary: Get help
      operationId: Get help
      description: View help information about available resources in HTML format.
      responses:
        "200":
          description: Success
...

您可以透過「建立 Proxy」精靈匯入 OpenAPI 規格,並用於 並產生 API Proxy產生 Proxy 後,您就能使用 Edge UI 進一步開發 Proxy 例如新增政策、實作自訂程式碼等。

使用 OpenAPI 規格建立 API Proxy

依據 OpenAPI 規格建立 API Proxy。 只要按幾下滑鼠,就能取得 API Proxy,自動產生路徑、參數、條件式流程和目標端點。接著,您可以新增 OAuth 安全性、頻率限制和快取等功能。

在「Create Proxy」精靈中,按一下「Use OpenAPI Spec」,然後按照精靈的指示,根據 OpenAPI 規格建立反向或不使用目標 Proxy。詳情請參閱「建立 API Proxy」 OpenAPI 規格

請觀看這部影片,瞭解如何依據 OpenAPI 規格建立 API Proxy。

使用 OpenAPI 規格更新 API Proxy 中的流程

根據 OpenAPI 規格建立 API Proxy 後,如果您修改規格以新增其他資源路徑,可以使用該規格將相關的條件式流程新增至 API Proxy。

如何使用 OpenAPI 規格更新 API Proxy 中的流程:

  1. 將新的資源路徑新增至 OpenAPI 規格。請參閱編輯現有的 OpenAPI 規格
  2. 在使用者介面中開啟 API Proxy,然後按一下「Develop」(開發) 分頁標籤。
  3. 在導覽器中,按一下您要更新的 Proxy 端點旁邊的「+」
    隨即會開啟「New Conditional Flow」對話方塊。
  4. 如果尚未選取「From OpenAPI」,請按一下這個選項。
    如果 OpenAPI 規格中的資源在 API Proxy 中沒有對應的條件式流程,就會列在對話方塊中,如下圖所示。 不在目前 API Proxy 中以資料流表示的資源。此範例包含 /loveapis、/ip、/json 和 /xml。
  5. 選取要新增條件式流程的每項資源。
  6. 按一下 [新增]。

條件流程會新增至 API Proxy。

建立新的 API Proxy 修訂版本

按照下方說明建立新的 API Proxy 修訂版本。

Edge

如何使用 Edge UI 建立新的 API Proxy 修訂版本:

  1. 登入 apigee.com/edge
  2. 依序選取「開發」>「開發」API Proxy
  3. 在要複製的清單中按一下 API Proxy。
  4. 選取 專案 >儲存為新修訂版本

傳統版 Edge (Private Cloud)

如何使用傳統版 Edge UI 建立新的 API Proxy 修訂版本:

  1. 登入「http://ms-ip:9000」(ms-ip 為以下應用程式) Management Server 節點的 IP 位址或 DNS 名稱。
  2. 選取「API」>API Proxy
  3. 在要複製的清單中按一下 API Proxy。
  4. 選取 專案 >儲存為新修訂版本

複製 API Proxy

將現有的 API Proxy 複製到新的 API Proxy,如下所述。

Edge

如何使用 Edge UI 複製 API Proxy:

  1. 登入 apigee.com/edge
  2. 依序選取「開發」>「開發」API Proxy
  3. 在要複製的清單中按一下 API Proxy。
  4. 選取 專案 >儲存為新的 API Proxy
  5. 在「另存為新 Proxy」對話方塊中,輸入新 API Proxy 的名稱。
  6. 按一下 [新增]。

傳統版 Edge (Private Cloud)

如何使用傳統版 Edge UI 複製 API Proxy:

  1. 登入「http://ms-ip:9000」(ms-ip 為以下應用程式) Management Server 節點的 IP 位址或 DNS 名稱。
  2. 選取「API」>API Proxy
  3. 在要複製的清單中按一下 API Proxy。
  4. 選取 專案 >儲存為新的 API Proxy
  5. 在「另存為新 Proxy」對話方塊中,輸入新 API Proxy 的名稱。
  6. 按一下 [新增]。

備份 API Proxy

您可以在 API Proxy 套件中,以一組 XML 檔案的形式備份現有的 API Proxy。將 API Proxy 匯出至軟體包後 遷移至新 Proxy,如先前本節所述的從 API Proxy 套件匯入 API Proxy 所述。詳情請參閱「下載 API Proxy」。

使用 API 建立 API Proxy

如要使用 API 建立 API Proxy,請參閱 API Proxy API