APIM 原則參考
適用於:所有 API 管理 層
本節提供所有 API 管理 原則的簡短描述和參考文章連結。 指出支援每個原則的 API 管理 閘道。 如需詳細的原則設定和範例,請參閱鏈接的參考文章。
關於原則的詳細資訊:
速率限制和配額
原則 |
描述 |
傳統 |
V2 |
耗用 |
自我裝載 |
依訂用帳戶限制通話率 |
藉由限制每個訂用帳戶的呼叫速率來防止 API 使用量尖峰。 |
Yes |
.是 |
.是 |
Yes |
依索引鍵限制呼叫速率 |
藉由限制每個索引鍵的呼叫速率來防止 API 使用量尖峰。 |
Yes |
.是 |
無 |
Yes |
依訂用帳戶設定使用量配額 |
可讓您根據每個訂用帳戶強制執行可更新或存留期通話量和/或頻寬配額。 |
Yes |
.是 |
.是 |
Yes |
依金鑰設定使用量配額 |
可讓您根據每個金鑰強制執行可更新或存留期的通話量和/或頻寬配額。 |
是 |
無 |
無 |
Yes |
限制並行 |
防止封入的原則一次執行超過指定的要求數目。 |
Yes |
.是 |
.是 |
Yes |
驗證和授權
原則 |
描述 |
傳統 |
V2 |
耗用 |
自我裝載 |
檢查 HTTP 標頭 |
強制執行 HTTP 標頭的存在和 / 或值。 |
Yes |
.是 |
.是 |
Yes |
取得授權內容 |
取得指定連接在 API 管理 實例中設定之認證提供者的授權內容。 |
Yes |
.是 |
.是 |
No |
限制呼叫端 IP |
篩選條件(允許/拒絕)來自特定IP位址和/或位址範圍的呼叫。 |
Yes |
.是 |
.是 |
Yes |
驗證 Microsoft Entra 令牌 |
強制執行從指定的 HTTP 標頭、查詢參數或令牌值擷取的 Microsoft Entra(先前稱為 Azure Active Directory)JWT 的存在和有效性。 |
Yes |
.是 |
.是 |
Yes |
驗證 JWT |
強制執行從指定的 HTTP 標頭、查詢參數或令牌值擷取的 JWT 存在和有效性。 |
Yes |
.是 |
.是 |
Yes |
驗證客戶端憑證 |
強制用戶端提供給 API 管理 實例的憑證符合指定的驗證規則和宣告。 |
Yes |
.是 |
.是 |
Yes |
使用基本身份驗證進行驗證 |
使用基本身份驗證向後端服務進行驗證。 |
Yes |
.是 |
.是 |
Yes |
使用客戶端憑證進行驗證 |
使用客戶端憑證向後端服務進行驗證。 |
Yes |
.是 |
.是 |
Yes |
使用受控識別進行驗證 |
使用 受控識別向後端服務進行驗證。 |
Yes |
.是 |
.是 |
Yes |
內容驗證
原則 |
描述 |
傳統 |
V2 |
耗用 |
自我裝載 |
驗證內容 |
根據一或多個 API 架構驗證要求或響應主體的大小或內容。 支援的結構描述格式為 JSON 和 XML。 |
Yes |
.是 |
.是 |
Yes |
驗證 GraphQL 要求 |
驗證並授權 GraphQL API 的要求。 |
Yes |
.是 |
.是 |
Yes |
驗證 OData 要求 |
驗證 OData API 的要求,以確保符合 OData 規格。 |
Yes |
.是 |
.是 |
Yes |
驗證參數 |
根據 API 架構驗證要求標頭、查詢或路徑參數。 |
Yes |
.是 |
.是 |
Yes |
驗證標頭 |
根據 API 架構驗證回應標頭。 |
Yes |
.是 |
.是 |
Yes |
驗證狀態代碼 |
驗證 API 架構回應中的 HTTP 狀態代碼。 |
Yes |
.是 |
.是 |
Yes |
路由
原則 |
描述 |
傳統 |
V2 |
耗用 |
自我裝載 |
轉寄要求 |
將要求轉送至後端服務。 |
Yes |
.是 |
.是 |
Yes |
設定後端服務 |
將傳入要求的後端服務基底 URL 變更為 URL 或 後端。 參考後端資源可讓您在單一位置管理後端服務基底 URL 和其他設定。 同時實作跨後端服務和斷路器規則集區的流量負載平衡,以保護後端免於太多要求。 |
Yes |
.是 |
.是 |
Yes |
設定 HTTP Proxy |
可讓您透過 HTTP Proxy 路由傳送轉送的要求。 |
Yes |
.是 |
.是 |
Yes |
快取功能
原則 |
描述 |
傳統 |
V2 |
耗用 |
自我裝載 |
從快取取得 |
執行快取查閱,並在可用時傳回有效的快取回應。 |
Yes |
.是 |
.是 |
Yes |
儲存至快取 |
根據指定的快取控制組態來快取回應。 |
Yes |
.是 |
.是 |
Yes |
從快取取得值 |
依索引鍵擷取快取的專案。 |
Yes |
.是 |
.是 |
Yes |
將值儲存在快取中 |
依索引鍵將項目儲存在快取中。 |
Yes |
.是 |
.是 |
Yes |
從快取中移除值 |
依索引鍵移除快取中的專案。 |
Yes |
.是 |
.是 |
Yes |
原則 |
描述 |
傳統 |
V2 |
耗用 |
自我裝載 |
設定要求方法 |
可讓您變更要求的 HTTP 方法。 |
Yes |
.是 |
.是 |
Yes |
設定狀態代碼 |
將 HTTP 狀態代碼變更為指定的值。 |
Yes |
.是 |
.是 |
Yes |
設定變數 |
在具名 內容 變數中保存值,以供稍後存取。 |
Yes |
.是 |
.是 |
Yes |
設定本文 |
設定要求或回應的訊息本文。 |
Yes |
.是 |
.是 |
Yes |
設定 HTTP 標頭 |
指派值給現有的回應和/或要求標頭,或是新增新的回應和/或要求標頭。 |
Yes |
.是 |
.是 |
Yes |
設定查詢字串參數 |
加入、取代的值或刪除要求查詢字串參數。 |
Yes |
.是 |
.是 |
Yes |
重寫 URL |
將要求 URL 從公用格式轉換成 Web 服務所需的格式。 |
Yes |
.是 |
.是 |
Yes |
將 JSON 轉換成 XML |
將要求或回應本文從 JSON 轉換為 XML。 |
Yes |
.是 |
.是 |
Yes |
將 XML 轉換成 JSON |
將要求或回應本文從 XML 轉換為 JSON。 |
Yes |
.是 |
.是 |
Yes |
在本文中尋找並取代字串 |
尋找要求或回應子字串,並取代為不同的子字串。 |
Yes |
.是 |
.是 |
Yes |
遮罩內容中的 URL |
重寫響應主體中的連結,以便透過閘道指向對等的連結。 |
Yes |
.是 |
.是 |
Yes |
使用 XSLT 轉換 XML |
將 XSL 轉換套用至要求或回應本文中的 XML。 |
Yes |
.是 |
.是 |
Yes |
傳回回應 |
中止管線執行,並將指定的回應直接傳回給呼叫端。 |
Yes |
.是 |
.是 |
Yes |
模擬回應 |
中止管線執行,並將仿真的回應直接傳回給呼叫端。 |
Yes |
.是 |
.是 |
Yes |
跨網域
原則 |
描述 |
傳統 |
V2 |
耗用 |
自我裝載 |
允許跨網域呼叫 |
讓 API 可從 Adobe Flash 和 Microsoft Silverlight 瀏覽器型用戶端存取。 |
Yes |
.是 |
.是 |
Yes |
CORS |
將跨原始來源資源分享 (CORS) 支援新增至作業或 API,以允許來自瀏覽器型用戶端的跨網域呼叫。 |
Yes |
.是 |
.是 |
Yes |
JSONP |
將具有填補 (JSONP) 支援的 JSON 新增至作業或 API,以允許來自 JavaScript 瀏覽器型用戶端的跨網域呼叫。 |
Yes |
.是 |
.是 |
Yes |
整合和外部通訊
原則 |
描述 |
傳統 |
V2 |
耗用 |
自我裝載 |
傳送要求 |
將要求傳送至指定的URL。 |
Yes |
.是 |
.是 |
Yes |
傳送單向要求 |
將要求傳送至指定的 URL,而不需要等候回應。 |
Yes |
.是 |
.是 |
Yes |
記錄至事件中樞 |
將指定格式的訊息傳送至 Logger 實體所定義的事件中樞。 |
Yes |
.是 |
.是 |
Yes |
將要求傳送至服務 (Dapr) |
使用 Dapr 運行時間找出並可靠地與 Dapr 微服務通訊。 若要深入瞭解 Dapr 中的服務引動,請參閱此讀我檔案的描述。 |
No |
無 |
無 |
Yes |
將訊息傳送至 Pub/Sub 主題 (Dapr) |
使用 Dapr 運行時間將訊息發佈至發佈/訂閱主題。 如果要深入瞭解 Dapr 中的發佈/訂閱傳訊,請參閱此 讀我檔案的描述。 |
No |
無 |
無 |
Yes |
觸發程式輸出系結 (Dapr) |
使用 Dapr 執行時間透過輸出系結叫用外部系統。 如果要深入瞭解 Dapr 中的繫結程序,請參閱此讀我檔案的描述。 |
No |
無 |
無 |
Yes |
記錄
原則 |
描述 |
傳統 |
V2 |
耗用 |
自我裝載 |
追蹤 |
在測試控制台、Application Insights 遙測和資源記錄中,將自定義追蹤新增至 要求追蹤 輸出。 |
Yes |
是1 |
是 |
Yes |
發出計量 |
在執行時將自定義計量傳送至 Application Insights。 |
Yes |
.是 |
.是 |
Yes |
1 在 V2 閘道中,原則 trace
目前不會在測試控制台中新增追蹤輸出。
GraphQL 解析程式
原則 |
描述 |
傳統 |
V2 |
耗用 |
自我裝載 |
解析程式的 Azure SQL 數據源 |
設定 Azure SQL 要求和選擇性回應,以解析 GraphQL 架構中物件類型和欄位的數據。 |
Yes |
.是 |
無 |
No |
解析程式的 Cosmos DB 數據源 |
設定 Cosmos DB 要求和選擇性回應,以解析 GraphQL 架構中物件類型和欄位的數據。 |
Yes |
.是 |
無 |
No |
解析程式的 HTTP 資料源 |
設定 HTTP 要求,並選擇性地設定 HTTP 回應,以解析 GraphQL 架構中物件類型和欄位的數據。 |
Yes |
.是 |
.是 |
No |
將事件發佈至 GraphQL 訂用帳戶 |
將事件發佈至 GraphQL API 架構中指定的一或多個訂用帳戶。 針對結構描述中的另一種作業類型 (例如變動),在 GraphQL 解析器中設定適用於相關欄位的原則。 |
Yes |
.是 |
.是 |
No |
原則控制和流程
原則 |
描述 |
傳統 |
V2 |
耗用 |
自我裝載 |
控制流程 |
根據布爾 表達式評估的結果,有條件地套用原則語句。 |
Yes |
.是 |
.是 |
Yes |
包含片段 |
在原則定義中插入原則片段。 |
Yes |
.是 |
.是 |
Yes |
重試 |
如果符合條件,則重試封閉式原則語句的執行。 系統會在指定的時間間隔重複執行,直到達到指定的重試計數值。 |
Yes |
.是 |
.是 |
Yes |
等候 |
等候封閉式 傳送要求、 從快取取得值,或 控制流程 原則完成,再繼續進行。 |
Yes |
.是 |
.是 |
Yes |
相關內容
如需使用原則的詳細資訊,請參閱: