ログ圧縮を使用する
この記事では、Event Hubs でログ圧縮機能を使用する方法について説明します。 ログ圧縮の詳細については、ログ圧縮に関する記事を参照してください。
この記事では、以下の主要な手順に従います。
- 圧縮されたイベント ハブ/Kafka トピックを作成する。
- 圧縮されたイベント ハブにイベントを発行する。
- 圧縮されたイベント ハブからイベントを使用する。
Note
ログ圧縮機能は Basic サービス レベルではサポートされていません。
圧縮されたイベント ハブ/Kafka トピックを作成する
このセクションでは、Azure portal と Azure Resource Manager (ARM) テンプレートを使用して、圧縮されたイベント ハブを作成する方法について説明します。
Azure portal を使用して、圧縮されたイベント ハブを作成するには、次の手順に従います。
- Event Hubs 名前空間に移動します。
- [Event Hubs 名前空間] ページで、左側のメニューから [Event Hubs] を選択します。
- ウィンドウの上部にある [+ Event Hubs] を選択します。
- イベント ハブの "名前" を入力し、"パーティション数" を指定します。 圧縮されたイベント ハブを作成するため、"圧縮ポリシー" として "圧縮" を選択し、"廃棄標識の保持時間" に必要な値を指定します。
- [作成] を選択し、圧縮されたイベント ハブを作成します。
圧縮のトリガー
Event Hubs サービスは、圧縮された特定のイベント ハブの圧縮ジョブを実行するタイミングを決定します。 圧縮されたイベント ハブは、非常に多くのイベントが存在する場合や、特定のイベント ログの合計サイズが大幅に大きくなった場合に、圧縮しきい値に達します。
圧縮されたトピックにイベントを発行する
圧縮されたイベント ハブへのイベントの発行は、通常のイベント ハブへのイベントの発行と同じです。 クライアント アプリケーションとして必要な作業は、パーティション キーを使用して設定した圧縮キーを決定することだけです。
Event Hubs SDK (AMQP) の使用
Event Hubs SDK を使用して、下に示すように、パーティション キーを設定し、イベントを発行できます。
var enqueueOptions = new EnqueueEventOptions
{
PartitionKey = "Key-1"
};
await producer.EnqueueEventAsync(eventData, enqueueOptions);
Kafka の使用
Kafka を使用して、下に示すように、ProducerRecord
を作成するときにパーティション キーを設定できます。
ProducerRecord<String, String> record = new ProducerRecord<String, String>(TOPIC, "Key-1" , "Value-1");
クォータと制限
制限 | Basic | Standard | Premium | 専用 |
---|---|---|---|---|
圧縮されたイベント ハブのサイズ | 該当なし | パーティションあたり 1 GB | パーティションあたり 250 GB | パーティションあたり 250 GB |
その他のクォータと制限については、Event Hubs のクォータと制限に関する記事を参照してください。
圧縮されたトピックからのイベントの使用
圧縮されたイベント ハブからイベントを使用するために必要なコンシューマー側の変更はありません。 そのため、任意の既存のコンシューマー アプリケーションを使用して、圧縮されたイベント ハブのデータを使用できます。
次のステップ
- ログ圧縮の仕組みの概念については、ログ圧縮に関するページを参照してください。