在 API 管理原則定義中重複使用原則組態
適用於:所有 APIM 層
本文說明如何在您的 API 管理原則定義中建立和使用原則片段。 原則片段是集中管理、可重複使用的 XML 程式碼片段,其中包含一或多個 API 管理原則組態。
原則片段可協助您一致地設定原則,並維護原則定義,而不需要重複或重新鍵入 XML 程式碼。
原則片段:
- 必須是包含一或多個原則組態的有效 XML
- 如果參考的原則支援,則可能包含原則運算式
- 使用 include-fragment 原則,在原則定義中依原樣插入
限制:
- 原則片段不能包含原則區段識別碼 (
<inbound>
、<outbound>
等) 或<base/>
元素。 - 目前,原則片段無法與另一個原則片段建立巢狀。
- 原則片段的大小上限為 32 KB。
必要條件
如果您還沒有 API 管理執行個體和後端 API,請參閱:
雖然不需要,但您可能想要設定一或多個原則定義。 您可以在建立原則片段時,從這些定義複製原則元素。
移至您的 API 管理執行個體
在 Azure 入口網站中,搜尋並選取 [API 管理服務]。
在 [API 管理服務] 頁面中,選取您的 API 管理執行個體。
建立原則片段
在 API 管理執行個體的左側導覽中,於 API 下,選取 [原則片段] > [+ 建立]。
在 [建立新原則片段] 視窗中,輸入原則片段的 [名稱] 及選擇性的 [描述]。 名稱在您的 API 管理執行個體內必須是唯一的。
範例名稱:ForwardContext
在 [XML 原則片段] 編輯器中,在
<fragment>
和</fragment>
標籤之間輸入或貼上一或多個原則 XML 元素。例如,下列片段會包含
set-header
原則組態,以將內容資訊轉送至後端服務。 此片段會包含在輸入原則區段中。 此範例中的原則運算式會存取內建的context
變數。<fragment> <set-header name="x-request-context-data" exists-action="override"> <value>@(context.User.Id)</value> <value>@(context.Deployment.Region)</value> </set-header> </fragment>
選取 建立。 該片段會新增至原則片段的清單。
在原則定義中包含片段
設定 include-fragment
原則,以在原則定義中插入原則片段。 如需原則定義的詳細資訊,請參閱設定或編輯原則。
- 您可以在任何範圍和任何原則區段中包含片段,只要片段中的基礎一或多個原則支援該使用方式即可。
- 您可以在原則定義中包含多個原則片段。
例如,在輸入原則區段中插入名為 ForwardContext 的原則片段:
<policies>
<inbound>
<include-fragment fragment-id="ForwardContext" />
<base />
</inbound>
[...]
提示
若要查看原則定義中顯示的內含片段內容,請在原則編輯器中選取 [計算有效原則]。
管理原則片段
建立原則片段之後,您可以檢視及更新原則片段的屬性,或隨時刪除原則片段。
若要檢視原則片段的屬性:
- 在 API 管理執行個體的左側導覽中,於 API 下,選取 [原則片段]。 選取片段的名稱。
- 在 [概觀] 頁面上,檢閱 [原則文件參考],以查看包含片段的原則定義。
- 在 [屬性] 頁面上,檢閱原則片段的名稱和描述。 此名稱無法變更。
若要編輯原則片段:
- 在 API 管理執行個體的左側導覽中,於 API 下,選取 [原則片段]。 選取片段的名稱。
- 選取 [原則編輯器]。
- 更新片段中的陳述式,然後選取 [套用]。
注意
更新會影響包含片段的所有原則定義。
若要刪除原則片段:
- 在 API 管理執行個體的左側導覽中,於 API 下,選取 [原則片段]。 選取片段的名稱。
- 檢閱原則文件參考,以取得包含片段的原則定義。 刪除片段之前,您必須從所有原則定義中移除片段參考。
- 移除所有參考之後,選取 [刪除]。
相關內容
如需使用原則的詳細資訊,請參閱:
- 教學課程:轉換及保護 API
- 設定或編輯原則
- 原則參考,以取得原則陳述式的完整清單
- 原則程式碼片段存放庫 (英文)
- 使用 Microsoft Azure Copilot 撰寫原則