本頁內容適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
將政策和資源組合成共用流程,供多個 API Proxy 使用,甚至可供其他共用流程使用。雖然共用流程類似於 Proxy,但沒有端點。只能從與共用流程位於相同機構的 API Proxy 或共用流程使用。
共用流程可擷取多個位置適用的功能,集中管理,有助於確保一致性、縮短開發時間,以及更輕鬆地管理程式碼。
以下影片說明如何在 Apigee UI 中建立及偵錯共用流程。
您可以使用 FlowCallout 政策呼叫共用流程。此外,只要將共用流程附加至流程掛鉤,就能在 Proxy 或目標要求之前執行共用流程,或在 Proxy 或目標回應之後執行共用流程。
如要參考 FlowCallout 政策,請參閱「FlowCallout 政策」。如要進一步瞭解流程掛鉤,請參閱「使用流程掛鉤附加共用的流程」。
舉例來說,假設您有功能區域,這些區域會用於多個位置,或必須在貴機構的 API 中標準化。您可以為每個類別建立共用流程,包括:
- 安全性:使用 OAuth 授權碼和 API 金鑰驗證,以及威脅防護程式碼。
- 記錄:用於產生標準錯誤訊息。
- 中介服務:用於在 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>然後,您可以將 Spike Arrest 政策附加至流量管理共用流程,做為一個步驟。只要 API Proxy 呼叫共用流程,就會執行這項政策。
<SharedFlow name="default"> <Step> <Name>Spike-Arrest</Name> </Step> </SharedFlow>如要瞭解如何在管理主控台中啟動共用流程,請參閱「在 Apigee 使用者介面中建立共用流程」。
與 API Proxy 相同,您可以使用 Create shared flow API,匯入包含共用流程來源構件的 zip 檔案。下圖說明如何使用 Apigee API 匯入共用流程:
curl "https://apigee.googleapis.com/v1/organizations/$ORG/sharedflows?action=import&name=mySharedFlow" \ -X POST \ -F "file=@sharedflow.zip" \ -H "Authorization: Bearer $TOKEN"
其中
$TOKEN會設為您的 OAuth 2.0 存取權杖,如「取得 OAuth 2.0 存取權杖」一文所述。如要瞭解本範例使用的curl選項,請參閱「使用 curl」。如要瞭解可使用的環境變數,請參閱「為 Apigee API 要求設定環境變數」。 -
將共用流程部署至環境,再部署會使用該流程的 Proxy 或共用流程。部署共用流程的方式與部署 API Proxy 相同。(詳情請參閱「部署總覽」)。
共用流程必須與使用該流程的 API Proxy 和其他共用流程位於同一個機構,並部署至相同環境。在 Proxy 之前部署共用流程,即可在部署時解決 Proxy 對共用流程的依附元件。
您可以透過 Apigee API 呼叫 (如下所示) 部署共用流程:
curl https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/sharedflows/$SHAREDFLOW/revisions/$REV/deployments \ -X POST \ -H "Authorization: Bearer $TOKEN"
與 API Proxy 類似,所有成功部署至 Apigee 的共用流程都是零停機時間部署作業。
-
開發取用 API Proxy,以便在自己的流程中呼叫共用流程。
您可以使用 FlowCallout 政策,從 API Proxy 呼叫共用流程。(您也可以使用流程掛鉤,將共用流程附加至 Proxy)。
如要使用共用流程,請將
FlowCallout政策新增至要使用該流程的 Proxy 或共用流程。與您呼叫其他服務的服務呼叫政策類似,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 相同,您會透過反覆叫用及偵錯來開發共用流程,直到邏輯符合需求為止。在本例中,由於共用流程不會自行執行,因此您會叫用 Proxy 端點並偵錯 Proxy。
開始執行下列步驟前,請確認共用流程和呼叫該流程的 API 代理程式 (使用
FlowCallout政策) 位於同一機構,且部署至相同環境。透過 Cloud 控制台使用 Apigee
- 在 API Proxy 的「Debug」分頁中,開始偵錯 API Proxy。
- 將要求傳送至 API Proxy 中的 Proxy 端點。端點的流程必須包含呼叫共用流程的
FlowCallout政策。 - 在「Debug」分頁中,檢查從 API Proxy 到共用流程的流程。(如要進一步瞭解如何偵錯,請參閱「偵錯工具」一文。)
傳統版 Apigee
- 在 API Proxy 的「追蹤」分頁中,開始追蹤 API Proxy。
- 將要求傳送至 API Proxy 中的 Proxy 端點。端點的流程必須包含呼叫共用流程的
FlowCallout政策。 - 在「追蹤」分頁中,檢查從 API Proxy 到共用流程的流程。
請注意,在追蹤中,共用流程會以一組步驟或政策表示,並以灰色方塊括住。代表
FlowCallout政策的圖示會顯示在共用流程之前。 (如要進一步瞭解追蹤功能,請參閱「偵錯工具」一文)。
在 Apigee UI 中建立共用流程
使用 Apigee API 建立共用流程時,您可以從頭開始建立,也可以匯入現有流程來源做為流程套件 ZIP 檔案。
按照下列步驟存取「共用流程」頁面。在「共用流程」頁面中,您可以查看機構中的共用流程清單,並編輯或刪除清單中的流程。
如要在 Apigee UI 中建立共用流程,請按照下列步驟操作:
透過 Cloud 控制台使用 Apigee
前往 Google Cloud 控制台的「Proxy 開發」>「共用流程」頁面。
-
選取共用流程所屬的機構。請參閱「切換機構」。
部署至這個機構環境的任何 API Proxy 和共用流程,都能使用共用流程。這個應用程式不會對機構外部開放。
-
建立或上傳共用流程:
-
按一下「建立」,從頭開始建立新流程。您可以在流程中設定政策和資源。
系統會顯示「建立共用流程」對話方塊。
-
輸入共用流程的名稱。
API Proxy 和其他共用流程會使用這個名稱,以便參照共用流程。名稱應含有足以讓使用流程的開發人員識別自訂動作的描述。
- 輸入說明,進一步瞭解流程的用途。
- 如果貴機構已啟用 Apigee Spaces,您可以從可用選項清單中選取 Space,然後將共用流程與該 Space 建立關聯。詳情請參閱「Apigee Spaces 總覽」。
-
按一下「建立」。
共用流程已建立。
- 接著,您可以開發共用流程功能,並部署至所需環境。
-
輸入共用流程的名稱。
- 按一下「上傳套件」,上傳流程套件,即可從現有來源建立共用流程。
共用流程組合包含共用流程的來源構件。舉例來說,如果您從 Apigee 控制台下載共用流程,就會取得含有流程套件的 zip 檔案。
系統會顯示「建立共用流程」對話方塊。
- 選取含有要在新流程中使用的構件的 ZIP 檔案。
- 按一下「開啟」。
-
輸入匯入共用流程的名稱。
API Proxy 和其他共用流程會使用這個名稱,以便參照這個共用流程。名稱應含有足以讓使用流程的開發人員識別自訂動作的描述。
-
按一下「建立」。
共用流程是從套件建立。
- 接著,您可以開發共用流程功能,並部署至所需環境。
-
按一下「建立」,從頭開始建立新流程。您可以在流程中設定政策和資源。
傳統版 Apigee
- 登入 Apigee UI。
-
選取共用流程所屬的機構。請參閱「切換機構」。
部署至這個機構環境的任何 API Proxy 和共用流程,都能使用共用流程。這個應用程式不會對機構外部開放。
- 在左側導覽列中,依序選取「開發」>「共用流程」。
-
建立或上傳共用流程:
-
按一下「建立新流程」,從頭開始建立新流程。您可以在流程中設定政策和資源。
系統會顯示「建立共用流程」對話方塊。
-
輸入共用流程的名稱。
API Proxy 和其他共用流程會使用這個名稱,以便參照共用流程。名稱應含有足以讓使用流程的開發人員識別自訂動作的描述。
- 輸入說明,進一步瞭解流程的用途。
- 如果貴機構已啟用 Apigee Spaces,您可以從可用選項清單中選取 Space,然後將共用流程與該 Space 建立關聯。詳情請參閱「Apigee Spaces 總覽」。
-
按一下「建立」。
共用流程已建立。
- 接著,您可以開發共用流程功能,並部署至所需環境。
-
輸入共用流程的名稱。
- 按一下「上傳套件」,上傳流程套件,即可從現有來源建立共用流程。
共用流程套件包含共用流程的來源構件。舉例來說,如果您從 Apigee 使用者介面下載共用流程,就會取得含有流程套件的 zip 檔案。
系統會顯示「建立共用流程」對話方塊。
- 選取含有要在新流程中使用的構件的 ZIP 檔案。
- 按一下「開啟」。
-
輸入匯入共用流程的名稱。
API Proxy 和其他共用流程會使用這個名稱,以便參照這個共用流程。名稱應含有足以讓使用流程的開發人員識別自訂動作的描述。
-
按一下「建立」。
共用流程是從套件建立。
- 接著,您可以開發共用流程功能,並部署至所需環境。
-
按一下「建立新流程」,從頭開始建立新流程。您可以在流程中設定政策和資源。
從 API Proxy 或共用流程呼叫共用流程
您可以使用 FlowCallout 政策,從 Proxy 或其他共用流程呼叫共用流程。
透過 Cloud 控制台使用 Apigee
- 執行下列任一操作:
在 Google Cloud 控制台中,前往「Proxy 開發」>「API Proxy」頁面。
前往 Google Cloud 控制台的「Proxy 開發」>「共用流程」頁面。
- 點選「Develop」分頁標籤。
- 在導覽窗格中,按一下「政策」旁的 。
- 在政策清單中,選取「擴充功能」下方的「FlowCallout」。
- 輸入顯示名稱和名稱 (專屬 ID),然後選取這項政策要呼叫的共用流程。
- 點選「建立」。
- 按一下「儲存」旁的 ,然後點選「另存為新的修訂版本」。
傳統版 Apigee
- 在 Apigee 使用者介面中,開啟要呼叫共用流程的 API Proxy 或共用流程。
- 點選「Develop」分頁標籤。
- 在「Navigator」中,點選「Policies」旁的「+」。
- 在政策清單中,按一下「擴充功能」下方的「FlowCallout」。
- 輸入顯示名稱和名稱 (專屬 ID),然後選取這項政策要呼叫的共用流程。
- 按一下「新增」。