イベント ハブにログを記録する
適用対象: すべての API Management レベル
log-to-eventhub
ポリシーでは、指定された形式のメッセージを Logger エンティティによって定義されたイベント ハブに送信します。 その名前が示すように、このポリシーは、オンラインまたはオフライン分析のために、選択された要求または応答コンテキスト情報を保存するために使用します。
Note
イベント ハブの構成とイベントのログ記録に関する詳細な手順については、Azure Event Hubs で API Management イベントを記録する方法に関するページを参照してください。
Note
ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します。
ポリシー ステートメント
<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>
属性
属性 | 説明 | 必要 | Default |
---|---|---|---|
logger-id | API Management サービスに登録されているロガーの ID。 ポリシー式は使用できません。 | はい | 該当なし |
partition-id | メッセージが送信されるパーティションのインデックスを指定します。 ポリシー式は使用できません。 | 省略可能。 partition-key が使用されている場合は、使用しないでください。 |
該当なし |
partition-key | メッセージの送信時にパーティション割り当てに使用される値を指定します。 ポリシー式を使用できます。 | 省略可能。 partition-id が使用されている場合は、使用しないでください。 |
該当なし |
使用法
- ポリシー セクション: inbound、outbound、backend、on-error
- ポリシー スコープ: グローバル、製品、API、操作
- ゲートウェイ: クラシック、v2、従量課金、セルフホステッド
使用上の注意
- このポリシーは、Application Insights のサンプリングの影響は受けません。 ポリシーのすべての呼び出しがログに記録されます。
- このポリシーからイベント ハブに送信できる最大メッセージ サイズは 200 キロバイト (KB) です。 イベント ハブに転送する前に、より大きなメッセージが自動的に 200 KB に切り捨てられます。
例
イベント ハブに記録する値として、任意の文字列を使用できます。 この例では、すべての着信コールの日付と時刻、デプロイ サービス名、要求 ID、IP アドレス、操作名が、contoso-logger
ID で登録されたイベント ハブ ロガーに記録されます。
<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 で Microsoft Copilot を使用してポリシーを作成する