記錄到事件中樞
適用於:所有 APIM 層
log-to-eventhub
原則會將指定格式的訊息傳送至記錄器實體所定義的事件中樞。 正如其名稱所暗示,原則用於儲存選取的要求或回應內容資訊,以進行線上或離線分析。
注意
如需如何設定事件中樞和記錄事件的逐步指南,請參閱如何使用 Azure 事件中樞記錄 API 管理事件。
注意
請依照原則陳述式中提供的順序,來設定原則的元素和子元素。 深入了解如何設定或編輯 APIM 原則。
原則陳述式
<log-to-eventhub logger-id="id of the logger entity" partition-id="index of the partition where messages are sent" partition-key="value used for partition assignment">
Expression returning a string to be logged
</log-to-eventhub>
屬性
屬性 | 描述 | 是必要欄位 | 預設 |
---|---|---|---|
logger-id | 向 API 管理服務註冊之記錄器的識別碼。 不允許使用原則運算式。 | Yes | N/A |
partition-id | 指定訊息傳送目的地的資料分割索引。 不允許使用原則運算式。 | 選擇性。 如果使用 partition-key ,則請勿使用。 |
N/A |
partition-key | 指定在傳送訊息時,用來指派資料分割的值。 允許使用原則運算式。 | 選擇性。 如果使用 partition-id ,則請勿使用。 |
N/A |
使用方式
使用注意事項
- 此原則不會受到 Application Insights 取樣的影響。 系統會記錄所有原則呼叫。
- 此原則可傳送至事件中樞的支援訊息大小上限為 200 千位元組 (KB)。 較大的訊息會自動截斷成 200 KB,然後再傳送至事件中樞。
範例
任何字串皆可做為值來記錄到事件中樞內。 在此範例中,所有傳入呼叫的日期和時間、部署服務名稱、要求識別碼、IP 位址和作業名稱,都會記錄到以 contoso-logger
識別碼註冊的事件中樞記錄器內。
<policies>
<inbound>
<log-to-eventhub logger-id ='contoso-logger'>
@( string.Join(",", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) )
</log-to-eventhub>
</inbound>
<outbound>
</outbound>
</policies>
相關原則
相關內容
如需使用原則的詳細資訊,請參閱:
- 教學課程:轉換及保護 API
- 原則參考,取得原則陳述式及其設定的完整清單
- 原則運算式
- 設定或編輯原則
- 重複使用原則設定
- 原則程式碼片段存放庫 (英文)
- Azure API 管理 原則工具組
- 使用 Microsoft Azure Copilot 撰寫原則