可重複使用的共用流程

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

您可以將政策和資源合併為可使用的共用流程 多個 API Proxy,甚至是來自其他共用流程雖然這就如同 Proxy 則沒有端點只能從隸屬於相同 API Proxy 的 API Proxy 或共用流程中使用 做為共用流程本身

透過集中擷取在多個位置實用的功能,共用流程有助於 可確保一致性、縮短開發時間,以及更輕鬆地管理程式碼。

以下影片示範如何在 Edge UI 中建立及追蹤共用流程。

以下 5 分鐘影片示範如何在傳統版中建立及追蹤共用流程 Edge UI (僅限 Private Cloud 的邊緣)。

您可以使用流程摘要政策呼叫共用流程。此外,只要將共用的流程附加至 流程掛鉤,您可以讓共用流程在 Proxy 或目標要求之前執行,或者 並在 Proxy 或目標回應之後 自動啟動 Proxy 伺服器

如想瞭解資料流呼叫政策,請參閱資料流呼叫政策。如要進一步瞭解 流程掛鉤,請參閱附加共用流程 透過流程掛鉤

舉例來說,假設有的功能會在多個位置使用 或是為機構內的 API 完成標準化您可以為每個 類別,其中包括:

  • security:使用 OAuth 和 API 金鑰驗證的授權碼,以及 威脅防護程式碼
  • logging,用於產生標準錯誤訊息。
  • 中介服務,用於轉換 XML 和 JSON 訊息格式。

在下圖中,有兩個 API Proxy 向 共用流程來驗證傳入使用者要求。AuthSharedFlow 已部署完成 獨立於機構中,以便支援由 Proxy 伺服器提出的要求 Proxy 執行要求。共用流程可由大型公司負責的團隊開發及管理 再由業務單位團隊在 Proxy 中運用政策,建構出更特殊的應用程式。

開發共用流程

開發共用流程時,您一律必須使用傳送至 API Proxy 的呼叫來測試這個流程。於 換句話說,您無法像 API Proxy 一樣,直接將要求傳送至共用流程。 反之,您可將要求傳送至 API Proxy,然後呼叫已共用流程。

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

  1. 瞭解何謂共用的功能組合

    例如,您可能會想結合流量管理功能,包括抑制 流量突然攀升如此一來,除了服務的工作流程之外 。

  2. 實作政策和支援資源,開發共用流程,就像您一樣 是開發 API Proxy 的關鍵

    共用的流程是一系列的條件步驟。開發這類程式就像 並存取 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 檔案 構件 (請參閱匯入新的 API Proxy。進一步瞭解如何匯入 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 對共用流程的依附元件。

    您可以透過 Management 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 伺服器請參閱使用 gcloud 部署 API Proxy Management API)。以下是使用 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,讓該 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 都會透過 Flow 摘要 呼叫該流程 政策位於相同的組織,並部署至相同的環境。
    2. 在 API Proxy 的「Trace」Trace分頁中,開始追蹤 API Proxy。
    3. 向 API Proxy 中的 Proxy 端點傳送要求,來自端點的流量 納入會呼叫共用流程的流程呼叫政策。
    4. 在「Trace」Trace分頁中,查看從 API Proxy 到共用流程的流程。

      請注意,在追蹤記錄中,共用流程會以一組步驟或政策表示 。代表資料流呼叫政策的圖示,位於共用流程之前。 (如要進一步瞭解追蹤記錄,請參閱使用 追蹤工具)。

在 Edge UI 中建立共用流程

使用 Apigee Edge UI 建立共用流程時,您可以透過 或透過匯入現有流程來源的 .zip 檔案流程。

  1. 按照以下方式存取「Shared Flows」(共用流程) 頁面。在「Shared Flows」(共用流程) 頁面中,您可以查看機構中的共用流程清單,以及 編輯或刪除清單中的流程

    Edge

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

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

      共用流程適用於部署於 部署容器但無法存取這個機構以外的使用者。

    3. 依序選取「開發」>「開發」Shared Flows

    傳統版 Edge (Private Cloud)

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

    1. 登入「http://ms-ip:9000」(ms-ip 為以下應用程式) Management Server 節點的 IP 位址或 DNS 名稱。
    2. 選取包含共用流程的機構。請參閱切換機構

      共用流程適用於部署於 部署容器但無法存取這個機構以外的使用者。

    3. 選取「API」>Shared Flows (共用流程)。
  2. 按一下「+ Shared Flow」按鈕,開始新增共用流程。
  3. 在「Build a Shared Flow」(建構共用流程) 頁面中,選擇要建立新流程的方式:
    • 從頭開始建立新的流程。您可以 步驟。
      1. 選取「Empty Shared Flow」(空白共用流程)
      2. 輸入名稱值。這會是 API Proxy 和其他共用流程的名稱 來參照這個共用流程必須為開發人員提供描述性名稱 從而取得可解釋性
      3. 請輸入說明,進一步瞭解流程的運作方式。
      4. 點選「下一步」。
      5. 您也可以選取要部署新流程的環境。

        舉例來說,您可以透過 測試環境,然後將共用的流程部署至「test」

      6. 按一下「Build and Deploy」(建構及部署) 來建立新的共用流程,並部署至 並套用至您選取的環境如未選取任何環境,共用的流程就會 但尚未部署

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

        共用流程組合包含共用流程的來源構件。例如: 如果您是從 Edge UI 下載共用流程,就會取得 .zip 檔案。

      2. 點選「下一步」。
      3. 按一下「選擇檔案」,瀏覽包含共用流程的 .zip 檔案 選擇要匯入的來源
      4. 在「Shared Flow Name」(共用流程名稱) 方塊中,輸入匯入流程的名稱。這將 是 API Proxy 和其他共用流程用來參照此共用流程的名稱。 這個名稱應清楚描述,方便取用流程的開發人員使用。
      5. 點選「下一步」。
      6. 按一下「Build」,根據匯入來源建立新流程。

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

您可以使用 流程摘要政策

  1. 在 Edge UI 中,找出所需的 Proxy 或共用流程 呼叫另一個共用流程
  2. 在「Navigator」中,按一下「Policies」旁邊的「+」按鈕。
  3. 在政策清單中,按一下「額外資訊」下方的「流程摘要」
  4. 輸入顯示名稱與名稱 (專屬 ID),然後選取這個共用流程 呼叫政策。
  5. 按一下 [新增]。
  6. 將新的流程呼叫政策新增至要發出呼叫的 Proxy。

另請參閱

鏈結 API Proxy