您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
您可以將政策和資源組合成共用流程,供多個 API Proxy 使用,甚至也能從其他共用流程使用。雖然共用流程類似於 Proxy,但沒有端點。只能從與共用流程位於相同機構的 API Proxy 或共用流程使用。
共用流程可擷取多個位置適用的功能,集中管理,有助於確保一致性、縮短開發時間,以及更輕鬆地管理程式碼。
以下影片說明如何在 Edge UI 中建立及追蹤共用流程。
以下 5 分鐘的影片說明如何在傳統 Edge 使用者介面中建立及追蹤共用流程 (僅限 Edge for Private Cloud)。
您可以使用 FlowCallout 政策呼叫共用流程。此外,只要將共用流程附加至流程掛鉤,就能在 Proxy 或目標要求之前執行共用流程,或在 Proxy 或目標回應之後執行共用流程。
如要參考 FlowCallout 政策,請參閱「FlowCallout 政策」。如要進一步瞭解流程掛鉤,請參閱「使用流程掛鉤附加共用的流程」。
舉例來說,假設您有功能區域,這些區域在多個位置使用,或必須在貴機構的 API 中標準化。您可以為每個類別建立共用流程,包括:
- 安全性,包括使用 OAuth 授權碼和 API 金鑰驗證,以及威脅防護程式碼。
- logging:用於產生標準錯誤訊息。
- 中介服務:用於在 XML 和 JSON 訊息格式之間轉換。
在下圖中,兩個 API Proxy 會呼叫 (使用 FlowCallout 政策) 共用流程,以驗證傳入的使用者要求。AuthSharedFlow 已部署至機構,然後才部署 Proxy,因此可支援 Proxy 的要求。負責廣泛公司政策的團隊可以開發及管理共用流程,然後由建構更專業應用程式的業務線團隊在 Proxy 中使用。

開發共用流程
開發共用流程時,請務必透過傳送至 API Proxy 的呼叫進行測試。換句話說,您無法像 API Proxy 一樣,直接將要求傳送至共用流程。而是將要求傳送至 API Proxy,再由 API Proxy 呼叫共用流程。
以下是開發共用流程的基本步驟:
- 找出共用功能集應包含哪些功能。
舉例來說,您可能會想結合流量管理功能,包括抑制流量尖峰。這樣一來,您就能在實作業務邏輯的工作流程之外,管理這些設定。
-
實作政策和支援資源,開發共用流程,就像開發 API Proxy 一樣。
共用流程是一連串的條件步驟,因此開發 API Proxy 就像開發 API Proxy 一樣。您可以加入 Proxy 中可能包含的政策和資源。
舉例來說,在流量管理支援服務中,您可能會導入 Spike Arrest 政策,將每秒允許的要求數設為 30 個,如下例所示:
<SpikeArrest async="false" continueOnError="false" enabled="true" name="Spike-Arrest"> <DisplayName>Spike Arrest</DisplayName> <Properties/> <Identifier ref="request.header.some-header-name"/> <MessageWeight ref="request.header.weight"/> <Rate>30ps</Rate> </SpikeArrest>然後,您可以將尖峰流量防範政策附加至流量管理共用流程,做為一個步驟。只要 API Proxy 呼叫共用流程,就會執行這項政策。
<SharedFlow name="default"> <Step> <Name>Spike-Arrest</Name> </Step> </SharedFlow>如要瞭解如何在管理主控台中啟動共用流程,請參閱「在 Edge UI 中建立共用流程」。
與 API Proxy 相同,您可以匯入含有共用流程來源構件的 ZIP 檔案 (如要進一步瞭解如何匯入 Proxy,請參閱「匯入新的 API Proxy」)。以下說明如何使用 Management API 匯入共用流程:
curl -X POST -F "file=@/path/to/zip/file.zip" \ 'https://api.enterprise.apigee.com/v1/o/{org_name}/sharedflows?action=import&name=shared-flow-name' \ -u email:password -
先將共用流程部署至環境,再部署會使用該流程的 Proxy 或共用流程。部署共用流程的方式與部署 API Proxy 相同。(詳情請參閱「部署總覽」)。
共用流程必須與 API Proxy 和其他共用流程位於相同機構,並部署至相同環境,才能供這些項目使用。在 Proxy 之前部署共用流程,即可在部署時解決 Proxy 對共用流程的依附元件。
您可以透過管理 API 呼叫 (如下所示) 部署共用流程:
curl -X POST --header "Content-Type: application/octet-stream" \ https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments \ -u email:password您也可以在不停止服務的狀態下,替換目前部署的共用流程。(這與 API Proxy 非常相似。詳情請參閱「使用 Management API 部署 API Proxy」。以下是使用管理 API 的要求表單:
curl -X POST --header "Content-Type:application/x-www-form-urlencoded" \ https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments?"override=true" \ -u email:password -
開發取用 API Proxy,以便在自己的流程中呼叫共用流程。
您可以使用 FlowCallout 政策,從 API Proxy 呼叫共用流程。(您也可以使用流程掛鉤將共用流程附加至 Proxy,詳情請參閱「使用流程掛鉤附加共用的流程」一文)。如需建立 API Proxy 的入門教學課程,請參閱「建構第一個 API Proxy」。
如要使用共用流程,請將 FlowCallout 政策新增至要使用該流程的 Proxy 或共用流程。與您呼叫其他服務的 Service Callout 政策類似,FlowCallout 會呼叫共用流程。使用中的 API Proxy 必須在共用流程之後部署,且部署至與共用流程相同的環境。如要使用 FlowCallout 政策測試對共用流程的呼叫,必須先建立共用流程。
在下列程式碼中,FlowCallout 政策會呼叫名為
traffic-management-shared的共用流程。<FlowCallout async="false" continueOnError="false" enabled="true" name="Traffic-Management-Flow-Callout"> <DisplayName>Traffic Management FlowCallout</DisplayName> <Properties/> <SharedFlowBundle>traffic-management-shared</SharedFlowBundle> </FlowCallout>詳情請參閱「從 API Proxy 或共用流程呼叫共用流程」一文。
- 部署取用 API Proxy,開始使用共用流程。(如要進一步瞭解一般部署作業,請參閱瞭解部署作業)。
-
如同使用 API Proxy,透過追蹤功能以疊代方式開發。
與 API Proxy 相同,您會透過反覆叫用及追蹤的方式開發共用流程,直到邏輯符合需求為止。在本例中,由於共用流程不會自行執行,因此您會叫用 Proxy 端點並追蹤 Proxy。
步驟如下:
- 請確認共用流程和呼叫該流程的 API Proxy (使用 FlowCallout 政策) 位於同一機構,並部署至相同環境。
- 在 API Proxy 的「追蹤」分頁中,開始追蹤 API Proxy。
- 向 API Proxy 中的 Proxy 端點傳送要求。端點的流程必須包含 FlowCallout 政策,以呼叫共用流程。
- 在「追蹤」分頁中,檢查從 API Proxy 到共用流程的流程。
請注意,在追蹤中,共用流程會以一組步驟或政策表示,並以灰色方塊括住。代表 FlowCallout 政策的圖示會顯示在共用流程之前。 (如要進一步瞭解追蹤功能,請參閱「使用 Trace 工具」一文)。

在 Edge UI 中建立共用流程
使用 Apigee Edge UI 建立共用流程時,您可以從頭開始建立,也可以匯入現有流程來源做為流程套件 .zip 檔案。
- 按照下文說明存取「共用流程」頁面。在「共用流程」頁面中,您可以查看機構中的共用流程清單,並編輯或刪除清單中的流程。
邊緣
如要使用 Edge UI 存取「共用流程」頁面,請按照下列步驟操作:
- 登入 apigee.com/edge。
- 選取含有共用流程的機構。請參閱「切換機構」。
這個組織部署至環境的任何 API Proxy 和共用流程,都能使用共用流程。貴機構外部人員無法存取。
- 在左側導覽列中,依序選取「開發」>「共用流程」。
Classic Edge (Private Cloud)
如要使用傳統 Edge UI 存取「共用流程」頁面,請按照下列步驟操作:
- 登入
http://ms-ip:9000,其中 ms-ip 是管理伺服器節點的 IP 位址或 DNS 名稱。 - 選取含有共用流程的機構。請參閱「切換機構」。
這個組織部署至環境的任何 API Proxy 和共用流程,都能使用共用流程。貴機構外部人員無法存取。
- 選取頂端導覽列中的「API」>「共用流程」。
- 按一下「+ 共用流程」按鈕,開始新增共用流程。
- 在「Build a Shared Flow」(建立共用流程) 頁面中,選擇要如何建立新流程:
- 從頭開始建立新流程。您可以在流程中設定政策和資源。
- 選取「Empty Shared Flow」(清空共用流程)。
- 輸入名稱值。API Proxy 和其他共用流程會使用這個名稱,以便參照共用流程。名稱應含有足以讓使用流程的開發人員識別自訂動作的描述。
- 輸入說明,進一步瞭解流程的用途。
- 點選 [下一步]。
- (選用) 選取要部署新流程的環境。
舉例來說,如果您要從部署至測試環境的 API Proxy 測試共用流程,請將共用流程部署至「test」。
-
按一下「Build and Deploy」(建構及部署),即可建立新的共用流程,並部署至所選環境。如果未選取任何環境,系統會建立共用流程,但不會部署。
- 上傳流程套件,從現有來源建立共用流程。
- 選取「共用流程套件」,指定含有要在新流程中使用的構件的 .zip 檔案。
共用流程組合包含共用流程的來源構件。舉例來說,如果您從 Edge UI 下載共用流程,會得到含有流程套件的 .zip 檔案。
- 點選 [下一步]。
- 按一下「選擇檔案」,瀏覽要匯入的共用流程來源所在的 .zip 檔案。
- 在「Shared Flow Name」(共用流程名稱) 方塊中,輸入匯入流程的名稱。API Proxy 和其他共用流程會使用這個名稱,以便參照共用流程。名稱應含有足以讓使用流程的開發人員識別自訂動作的描述。
- 點選 [下一步]。
- 按一下「建構」,從匯入的來源建構新流程。
- 選取「共用流程套件」,指定含有要在新流程中使用的構件的 .zip 檔案。
- 從頭開始建立新流程。您可以在流程中設定政策和資源。
從 API Proxy 或共用流程呼叫共用流程
您可以使用 FlowCallout 政策,從 Proxy 或其他共用流程呼叫共用流程。
- 在 Edge 使用者介面中,找出要呼叫其他共用流程的 Proxy 或共用流程。
- 在「Navigator」中,點選「Policies」旁的「+」按鈕。
- 在政策清單中,按一下「擴充功能」下方的「FlowCallout」。
- 輸入顯示名稱和名稱 (專屬 ID),然後選取這項政策要呼叫的共用流程。
- 按一下 [新增]。
- 將新的 FlowCallout 政策新增至要進行呼叫的 Proxy。