可重複使用的共用流程

您正在查看 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,再呼叫至共用流程。

以下是開發共用流程的高階步驟:

  1. 確認什麼是共用地圖項目

    例如,您可能想要結合流量管理功能,包括抑制尖峰流量。這樣一來,您就可以在實作業務線邏輯的工作流程以外管理設定。

  2. 實作政策和支援資源來開發共用流程,就像開發 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
    
  3. 部署共用流程至環境,再部署會耗用 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
    
  4. 開發消耗的 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 呼叫共用流程或共用流程

  5. 部署消耗的 API Proxy 以開始使用共用流程。(如需更多有關部署的一般性資訊,請參閱瞭解部署一文)。
  6. 透過追蹤記錄疊代開發,與使用 API Proxy 一樣。

    與 API Proxy 一樣,您需要透過疊代和追蹤來開發共用流程,直到擁有您想要的邏輯為止。在這種情況下,由於共用流程不會自行執行,因此請叫用 Proxy 端點並追蹤 Proxy。

    步驟如下:

    1. 請確定共用流程和透過流程呼叫政策呼叫的 API Proxy 屬於同一機構,並部署至相同的環境。
    2. 在 API Proxy 的「Trace」分頁中,開始追蹤 API Proxy。
    3. 向 API Proxy 中的 Proxy 端點傳送要求。來自端點的流程必須包含呼叫共用流程的流程呼叫政策。
    4. 在「Trace」分頁中,檢查從 API Proxy 到共用流程的流程。

      請注意,在追蹤中,共用流程是以灰色方塊內的一組步驟或政策表示。代表流程呼叫政策的圖示,位於共用流程之前。(如要進一步瞭解追蹤功能,請參閱「使用 Trace 工具」一文)。

在 Edge UI 中建立共用流程

使用 Apigee Edge UI 建立共用流程時,您可以從頭開始建立流程,也可以匯入現有流程來源做為流程組合 .zip 檔案。

  1. 按照下文說明存取「共用流程」頁面。在「共用流程」頁面中,您可以查看機構中的共用流程清單,以及編輯或刪除清單中的流程。

    Edge

    如何使用 Edge UI 存取「共用流程」頁面:

    1. 登入 apigee.com/edge
    2. 選取含有共用流程的機構。請參閱「切換機構」。

      共用流程將適用於所有 API Proxy,以及部署至此機構中特定環境的共用流程。機構外部人員將無法存取其中內容。

    3. 在左側導覽列中,依序選取「Develop」(開發) >「Shared Flows」(共用流程)

    傳統邊緣 (Private Cloud)

    如何使用傳統版 Edge UI 存取「共用流程」頁面:

    1. 登入 http://ms-ip:9000,其中 ms-ip 是管理伺服器節點的 IP 位址或 DNS 名稱。
    2. 選取含有共用流程的機構。請參閱「切換機構」。

      共用流程將適用於所有 API Proxy,以及部署至此機構中特定環境的共用流程。機構外部人員將無法存取其中內容。

    3. 在頂端導覽列中,依序選取「API」>「Shared Flows」
  2. 按一下「+ 共用流程」按鈕,開始新增共用流程。
  3. 在「Build a Shared Flow」(建構共用流程) 頁面上,選擇建立新流程的方式:
    • 從頭開始建立新流程。您可以在流程中按照步驟設定政策和資源。
      1. 選取「Empty Shared Flow」
      2. 輸入名稱值。這會成為 API Proxy 和其他共用流程用來參照此共用流程的名稱。建議為使用流程的開發人員提供描述性的名稱。
      3. 輸入說明以提供更多流程功能相關資訊。
      4. 按一下「Next」
      5. 視需要選取要部署新流程的環境。

        舉例來說,如果您要測試的共用流程是來自部署至測試環境的 API Proxy,請將共用流程部署至「test」

      6. 按一下「Build and Deploy」,即可建立新的共用流程並部署至所選環境。如未選取環境,系統會建立共用流程,但不會部署。

    • 上傳流程組合,從現有來源建立共用流程。
      1. 選取「Shared Flow Bundle」,指定新流程中包含所需構件的 .zip 檔案。

        共用流程組合內含共用流程的來源構件。舉例來說,如要從 Edge UI 下載共用流程,就會有包含流程組合的 .zip 檔案。

      2. 按一下「Next」
      3. 按一下「Choose File」,瀏覽內含所要匯入共用流程來源的 .zip 檔案。
      4. 在「Shared Flow Name」(共用流程名稱) 方塊中,輸入已匯入流程的名稱。這會成為 API Proxy 和其他共用流程用來參照此共用流程的名稱。建議為使用流程的開發人員提供描述性的名稱。
      5. 按一下「Next」
      6. 按一下「Build」,從匯入的來源建構新流程。

從 API Proxy 或共用流程呼叫共用流程

您可以使用流程呼叫政策,從 Proxy 或其他共用流程呼叫共用流程。

  1. 在 Edge UI 中,找出要呼叫其他共用流程的 Proxy 或共用流程。
  2. 在「導覽器」中,按一下「政策」旁邊的「+」按鈕。
  3. 在政策清單中,按一下「Extension」(擴充功能) 下方的「Flow callout」(流程摘要)
  4. 輸入顯示名稱和名稱 (專屬 ID),然後選取這項政策呼叫的共用流程。
  5. 按一下 [新增]。
  6. 將新的 Flow 呼叫政策新增至要進行呼叫的 Proxy。

另請參閱

將 API Proxy 鏈結在一起