開發 API Proxy

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

實作 API Proxy,在 Apigee 上公開 API。API Proxy 會將連結至應用程式的 API 從後端服務分離出去,讓應用程式不受後端程式碼變更的影響。

如以下各節所述,在 Cloud Code 中使用 Apigee 開發 API 代理項目。另請參閱「管理 Apigee 工作區中的資料夾和檔案」。

建立 API Proxy

如要在 Cloud Code 中使用 Apigee 建立 API Proxy,請務必建立本機開發工作區,然後執行下列步驟:

  1. 執行下列其中一項動作:

    • 在工作區中,將游標移至 apiproxies 資料夾上方,然後按一下 建立 API Proxy 圖示

      將游標放在 apiproxies 資料夾上時,會顯示「+」

    • 依序選取「View」>「Command Palette」開啟指令區塊面板,然後選取「Cloud Code: Create Apigee proxy bundle」

    「建立 Proxy」精靈隨即開啟。

  2. 選取下列選項之一:

    類型 說明
    Access token-based authentication

    在 API Proxy 中新增以 OAuth 2.0 為基礎的驗證機制。Apigee 會自動將下列政策新增至 API Proxy:

    • 配額,用於管理 Proxy 的配額。
    • 指派 AssignMessage,從轉送至後端伺服器的要求中,移除 API 呼叫中以查詢參數形式提供的 API 金鑰。
    • OAuthV2 做為驗證方法。
    API key-based authentication

    使用簡易 API 金鑰驗證的 API Proxy。Apigee 會自動將下列政策新增至 API Proxy:

    • 配額,用於管理 Proxy 的配額。
    • VerifyAPIKey:驗證要求應用程式提供的 API 金鑰。
    • 指派 AssignMessage,從轉送至後端伺服器的要求中,移除 API 呼叫中以查詢參數形式提供的 API 金鑰。
    Echo request

    API Proxy 會回應要求。這類 Proxy 類型沒有目標/API 後端,也沒有驗證。系統不會提示您指定後端服務的網址 (Target (Existing API)),也不會納入預設目標端點設定。

    Simple reverse proxy

    API Proxy 會將要求傳遞至後端目標。這不包括驗證,因此要求會傳遞至後端,且不會進行任何安全檢查。

    OpenAPI 3.0 spec

    載入現有的 OpenAPI 3.0 規格,即可建立 Proxy。詳情請參閱 OpenAPI Initiative

  3. 如要瞭解建立各類型 Proxy 時所需的欄位 (例如基本路徑),請參閱「API Proxy 主要欄位」。回應各項提示,然後按 Enter 鍵確認並繼續,或按 Esc 鍵取消精靈。

完成精靈中的步驟後,Apigee 專區的 apiproxies 下方就會新增 apiproxy-name 資料夾。每個 API Proxy 資料夾的結構都如「API Proxy 設定目錄結構」一文所述。

以下範例說明使用 API key-based authentication 類型建立的 API Proxy 預設設定。

以 API 金鑰為基礎的驗證 Proxy 資料夾結構

如需預設設定的說明,請參閱「探索預設 API Proxy 設定」。

探索預設 API Proxy 設定

下表摘要說明根據所選 API Proxy 類型和驗證選項建立 API Proxy 時,預設設定中包含的內容。

設定檔
簡單的反向 Proxy
Echo 要求
存取權杖 (OAuthV2) 驗證
API 金鑰驗證
proxies/default.xml
預設 Proxy 端點設定
targets/default.xml
預設目標端點設定
 
impose-quota.xml
配額政策:定義預設配額。
   
remove-header-authorization.xml
指派 AssignMessage 政策,移除傳遞用於驗證的 Authorization 標頭。
   
 
remove-query-param-apikey.xml
指派 AssignMessage 政策,移除為驗證傳遞的 apikey 查詢參數。
     
verify-api-key.xml
VerifyAPIKey 政策,強制執行 API 金鑰驗證。
     
verify-oauth-v2-access-token.xml
OAuthV2 政策,用於驗證 OAuth V2 存取權杖。
   
 

上傳 API Proxy 套件

如要在 Cloud Code 中將 API Proxy 套件上傳至 Apigee,請按照下列步驟操作:

  1. 執行下列其中一項動作:

    • 在 Apigee 工作區中,將游標移至 apiproxies 資料夾上方,然後按一下 匯入 API Proxy 套件圖示

    • 依序選取「View」>「Command Palette」,開啟指令區塊面板,然後選取「Cloud Code: Import Apigee proxy bundle」

  2. 找到要上傳的 API Proxy 套件,然後按一下「選取」。 API Proxy 套件的結構必須如「API Proxy 設定目錄結構」一文所述。

  3. (選用) 根據預設,系統會使用 ZIP 檔案的名稱 (不含副檔名) 做為 API Proxy 的名稱。如果名稱不重複,系統會提示您輸入不重複的名稱。

上傳的 apiproxy-name 資料夾會新增至工作區的 apiproxies 下方。

管理 Proxy 端點

如「什麼是 API Proxy?」一文所述,Proxy 端點 (ProxyEndpoint) 會定義用戶端應用程式使用 API 的方式。您可以設定 Proxy 端點,定義 API Proxy 的網址。Proxy 端點也會決定應用程式是透過 HTTP 還是 HTTPS 存取 API Proxy。您可以將政策附加至 Proxy 端點,強制執行安全性、配額檢查,以及其他類型的存取權控管和速率限制。

按照下列各節的說明,建立及設定 Proxy 端點。

建立 Proxy 端點

建立 API Proxy 時,系統會將預設 Proxy 端點新增至 API Proxy 設定。詳情請參閱「探索預設 API Proxy 設定」。您可以視需要建立其他 Proxy 端點。

如要在 Cloud Code 中使用 Apigee 建立 Proxy 端點,請按照下列步驟操作:

  1. 在 Apigee 工作區中,執行下列任一操作:

    • 將游標懸停在下列任一資料夾上,按一下 建立 Proxy 端點圖示,然後選取「建立 Proxy 端點」
      • apiproxy-name proxy bundle
      • apiproxy-name/apiproxy
    • 將游標移到 apiproxy-name/apiproxy/proxies 資料夾上,然後按一下 建立 Proxy 端點圖示

    「建立 Proxy 端點」精靈隨即開啟。

  2. 輸入下一組提示的值。每輸入一項條件之後,請按下 Enter 鍵確認並繼續,或按下 Esc 鍵取消。

    欄位 說明
    Proxy endpoint name 用於識別 Proxy 端點的名稱。
    API proxy base path 用於向 API 發出要求的網址部分。Apigee 會使用這個網址比對連入要求,並將要求轉送至適當的 API Proxy。
    Target endpoint 選取 no targetdefault。詳情請參閱「ProxyEndpoint 設定元素」。

端點已建立並新增至 Apigee 區段的 apiproxy-name/apiproxy/proxies 資料夾,並在編輯器中開啟。按照下一節的說明設定 Proxy 端點。

設定 Proxy 端點

如要設定 Proxy 端點,請參閱下列各節:

管理目標端點

如「什麼是 API Proxy?」一文所述,目標端點 (TargetEndpoint) 定義 API Proxy 與後端服務的互動方式。您可以設定目標端點,將要求轉送至適當的後端服務,並定義任何安全性設定、HTTP 或 HTTPS 通訊協定,以及其他連線資訊。您可以將政策附加至目標端點,確保回應訊息的格式正確,可供發出初始要求的應用程式使用。

請按照本節說明建立及設定目標端點。

建立目標端點

建立反向 API Proxy 時,系統會將預設目標端點新增至 API Proxy 設定。建立沒有後端目標的 API Proxy 時,系統只會在 API Proxy 設定中新增預設 Proxy 端點,不會新增目標端點。詳情請參閱「探索預設 API Proxy 設定」。

視需要建立目標端點。

如要在 Cloud Code 中使用 Apigee 建立目標端點,請按照下列步驟操作:

  1. 在 Apigee 工作區中,執行下列任一操作:

    • 將游標懸停在下列任一資料夾上,按一下 建立目標端點圖示,然後選取「建立目標端點」
      • apiproxy-name proxy bundle
      • apiproxy-name/apiproxy
    • 將游標移到 apiproxy-name/apiproxy/targets 資料夾上,然後按一下 建立目標端點圖示

    「建立目標端點」精靈隨即開啟。

  2. 請根據要建立的目標端點類型,執行下列步驟:

    類型 步驟
    外部 HTTP(s) 目標

    如要定義外部 HTTP(S) 目標:

    1. 選取「HTTP(s) target」(HTTP(s) 目標)
    2. 在「目標端點名稱」中輸入目標端點的名稱。
    3. 在「Backend target URL」(後端目標網址) 中,輸入這個目標端點叫用的後端服務網址。

    詳情請參閱「判斷目標端點的網址」。

    Proxy 鏈結

    如要將在本機部署的 API Proxy 定義為目標:

    1. 選取「Proxy chaining」(Proxy 鏈結)
    2. 在「目標端點名稱」中輸入目標端點的名稱。
    3. 選取 API Proxy。
    4. 選取 Proxy 端點。

    詳情請參閱「將 Proxy 串連在一起」。

    達到負載平衡的目標

    如要使用環境中定義的目標伺服器定義負載平衡目標:

    1. 選取「負載平衡目標」
    2. 在「目標端點名稱」中輸入目標端點的名稱。

    詳情請參閱「設定 TargetEndpoint,在具名 TargetServer 之間進行負載平衡」。

目標端點已建立並新增至 apiproxy-name/apiproxy/targets 資料夾,並在編輯器中開啟。按照下一節的說明設定目標端點。

設定目標端點

設定目標端點,詳情請參閱下列主題。