您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
您可以將政策和資源合併成一個「共用流程」,可從多個 API Proxy 取用,也能從其他共用流程取用。雖然與 Proxy 類似,但共用流程沒有端點。這項工具只能透過與共用流程本身位於相同機構的 API Proxy 或共用流程使用。
在單一位置擷取實用的功能,共用流程可協助您確保一致性、縮短開發時間,以及更輕鬆地管理程式碼。
以下影片說明如何在 Edge UI 中建立及追蹤共用流程。
請觀看以下 5 分鐘的影片,瞭解如何在傳統版 Edge UI 中建立並追蹤共用流程 (僅限 Private Cloud 的 Edge)。
您可以使用資料流呼叫政策呼叫共用流程。此外,將共用流程附加至資料流掛鉤,即可在 Proxy 或目標要求之前,或是在 Proxy 或目標回應之後執行共用流程。
如需瞭解資料流呼叫政策的參考資料,請參閱資料流呼叫政策。如要進一步瞭解流程掛鉤,請參閱「使用流程掛鉤附加共用流程」。
舉例來說,假設您有功能的部分功能可在多個位置使用,或是必須讓貴機構的各個 API 保持一致。您可以為每個類別建立共用流程,包括:
- security:使用 OAuth 和 API 金鑰驗證的授權碼,以及威脅防護代碼。
- logging),用於產生標準錯誤訊息。
- 中介服務,用於轉換 XML 和 JSON 訊息格式。
在下圖中,兩個 API Proxy 會向共用流程呼叫 (包含流程呼叫政策),以便驗證傳入的使用者要求。在 Proxy 之前,AuthSharedFlow 已個別部署至機構,因此可用於支援來自 Proxy 的要求。共用流程可以由負責廣泛公司政策的團隊開發及管理,然後交由業務線團隊建構更多專門的應用程式。
開發共用流程
開發共用流程時,您必須一律使用傳送至 API Proxy 的呼叫來進行測試。換句話說,您無法像使用 API Proxy 一樣,直接將要求傳送至共用流程。而是將要求傳送至 API Proxy,再呼叫至共用流程。
以下是開發共用流程的高階步驟:
- 確認什麼是共用地圖項目。
例如,您可能想要結合流量管理功能,包括抑制尖峰流量。這樣一來,您就可以在實作業務線邏輯的工作流程以外管理設定。
-
實作政策和支援資源來開發共用流程,就像開發 API Proxy 時一樣。
共用流程是一連串的條件步驟。因此開發 API 就如同開發 API Proxy您可以納入可能包含在 Proxy 中的政策和資源。
舉例來說,管理流量管理支援時,您可以實施「尖峰流量防範」政策,僅允許每秒 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」一文。以下是使用 Management 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,使其可以在其流程中呼叫共用流程。
透過 API Proxy,您可以透過資料流呼叫政策呼叫共用流程。(您也可以按照使用流程掛鉤附加共用流程的說明,使用流程掛鉤將共用流程附加至 Proxy。)如需建立 API Proxy 的入門教學課程,請參閱建構第一個 API Proxy。
如要使用共用流程,請在 Proxy 或會取用此流程的共用流程中新增流程呼叫政策。如同服務呼叫政策,您在呼叫其他服務時,流程呼叫會呼叫至共用的流程。您必須在共用流程「之後」後部署消耗的 API Proxy,並與共用流程位於相同的環境。如要使用「流程呼叫」政策測試對其呼叫的呼叫,共用流程必須準備就緒。
在下列程式碼中,資料流呼叫政策會呼叫名為
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 屬於同一機構,並部署至相同的環境。
- 在 API Proxy 的「Trace」分頁中,開始追蹤 API Proxy。
- 向 API Proxy 中的 Proxy 端點傳送要求。來自端點的流程必須包含呼叫共用流程的流程呼叫政策。
- 在「Trace」分頁中,檢查從 API Proxy 到共用流程的流程。
請注意,在追蹤中,共用流程是以灰色方塊內的一組步驟或政策表示。代表流程呼叫政策的圖示,位於共用流程之前。(如要進一步瞭解追蹤功能,請參閱「使用 Trace 工具」一文)。
在 Edge UI 中建立共用流程
使用 Apigee Edge UI 建立共用流程時,您可以從頭開始建立流程,也可以匯入現有流程來源做為流程組合 .zip 檔案。
- 按照下文說明存取「共用流程」頁面。在「共用流程」頁面中,您可以查看機構中的共用流程清單,以及編輯或刪除清單中的流程。
Edge
如何使用 Edge UI 存取「共用流程」頁面:
- 登入 apigee.com/edge。
- 選取含有共用流程的機構。請參閱「切換機構」。
共用流程將適用於所有 API Proxy,以及部署至此機構中特定環境的共用流程。機構外部人員將無法存取其中內容。
- 在左側導覽列中,依序選取「Develop」(開發) >「Shared Flows」(共用流程)。
傳統邊緣 (Private Cloud)
如何使用傳統版 Edge UI 存取「共用流程」頁面:
- 登入
http://ms-ip:9000
,其中 ms-ip 是管理伺服器節點的 IP 位址或 DNS 名稱。 - 選取含有共用流程的機構。請參閱「切換機構」。
共用流程將適用於所有 API Proxy,以及部署至此機構中特定環境的共用流程。機構外部人員將無法存取其中內容。
- 在頂端導覽列中,依序選取「API」>「Shared Flows」。
- 按一下「+ 共用流程」按鈕,開始新增共用流程。
- 在「Build a Shared Flow」(建構共用流程) 頁面上,選擇建立新流程的方式:
- 從頭開始建立新流程。您可以在流程中按照步驟設定政策和資源。
- 選取「Empty Shared Flow」。
- 輸入名稱值。這會成為 API Proxy 和其他共用流程用來參照此共用流程的名稱。建議為使用流程的開發人員提供描述性的名稱。
- 輸入說明以提供更多流程功能相關資訊。
- 按一下「Next」。
- 視需要選取要部署新流程的環境。
舉例來說,如果您要測試的共用流程是來自部署至測試環境的 API Proxy,請將共用流程部署至「test」。
-
按一下「Build and Deploy」,即可建立新的共用流程並部署至所選環境。如未選取環境,系統會建立共用流程,但不會部署。
- 上傳流程組合,從現有來源建立共用流程。
- 選取「Shared Flow Bundle」,指定新流程中包含所需構件的 .zip 檔案。
共用流程組合內含共用流程的來源構件。舉例來說,如要從 Edge UI 下載共用流程,就會有包含流程組合的 .zip 檔案。
- 按一下「Next」。
- 按一下「Choose File」,瀏覽內含所要匯入共用流程來源的 .zip 檔案。
- 在「Shared Flow Name」(共用流程名稱) 方塊中,輸入已匯入流程的名稱。這會成為 API Proxy 和其他共用流程用來參照此共用流程的名稱。建議為使用流程的開發人員提供描述性的名稱。
- 按一下「Next」。
- 按一下「Build」,從匯入的來源建構新流程。
- 選取「Shared Flow Bundle」,指定新流程中包含所需構件的 .zip 檔案。
- 從頭開始建立新流程。您可以在流程中按照步驟設定政策和資源。
從 API Proxy 或共用流程呼叫共用流程
您可以使用流程呼叫政策,從 Proxy 或其他共用流程呼叫共用流程。
- 在 Edge UI 中,找出要呼叫其他共用流程的 Proxy 或共用流程。
- 在「導覽器」中,按一下「政策」旁邊的「+」按鈕。
- 在政策清單中,按一下「Extension」(擴充功能) 下方的「Flow callout」(流程摘要)。
- 輸入顯示名稱和名稱 (專屬 ID),然後選取這項政策呼叫的共用流程。
- 按一下 [新增]。
- 將新的 Flow 呼叫政策新增至要進行呼叫的 Proxy。