PartitionSender.SendAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
SendAsync(EventData) |
特定の EventHub パーティションに送信 EventData します。 ターゲット パーティションは、この PartitionSender の作成時に事前に決定されます。 この送信パターンは、一般提供と待機時間に対するデータの相関関係を強調します。 EventHubs に送信する方法は 3 つあります。それぞれメソッドとして公開されます (sendBatch オーバーロードと共に)。 i. SendAsync(EventData) または SendAsync(IEnumerable<EventData>) ii. SendAsync(EventData, String) または SendAsync(IEnumerable<EventData>, String) iii. SendAsync(EventData) または SendAsync(IEnumerable<EventData>) 次の場合は、この種類の送信を使用します。a. クライアントは、パーティション間でのデータの分散を直接制御したいと考えています。 この場合、クライアントは、イベント ハブ パーティションごとに少なくとも 1 つの送信者があることを確認する必要があります。 b. ユーザーは、特定のパーティションにイベントを転送するための平均としてパーティション キーを使用することはできませんが、パーティション構成とのデータ関連付けが必要です。 |
SendAsync(EventDataBatch) |
で EventDataBatchのバッチをEventData送信します。 |
SendAsync(IEnumerable<EventData>) |
特定の EventHub パーティションに送信 EventData します。 対象となるパーティションは、この PartitionSender の作成時に事前に決定されます。 EventHubs に送信する方法は 3 つあります。この特定の種類の送信を理解するには、同じ種類の送信であり、単一EventDataの を送信するために使用される オーバーロード SendAsync(EventData)を参照します。 のバッチを EventData送信すると、次の場合に便利です。i. 効率的な送信 - の EventData バッチを送信すると、EventHubs のサービスに対して作成されたセッションの数を最適に使用して、全体的なスループットが最大化されます。 ii. トランザクションで複数 EventDataの を送信しています。 ACID プロパティを実現するために、ゲートウェイ サービスはバッチ内のすべての EventDataを 1 つの EventHub パーティションに転送します。 |
SendAsync(EventData)
特定の EventHub パーティションに送信 EventData します。 ターゲット パーティションは、この PartitionSender の作成時に事前に決定されます。 この送信パターンは、一般提供と待機時間に対するデータの相関関係を強調します。
EventHubs に送信する方法は 3 つあります。それぞれメソッドとして公開されます (sendBatch オーバーロードと共に)。
i. SendAsync(EventData) または SendAsync(IEnumerable<EventData>)
ii. SendAsync(EventData, String) または SendAsync(IEnumerable<EventData>, String)
iii. SendAsync(EventData) または SendAsync(IEnumerable<EventData>)
次の場合は、この種類の送信を使用します。a. クライアントは、パーティション間でのデータの分散を直接制御したいと考えています。 この場合、クライアントは、イベント ハブ パーティションごとに少なくとも 1 つの送信者があることを確認する必要があります。
b. ユーザーは、特定のパーティションにイベントを転送するための平均としてパーティション キーを使用することはできませんが、パーティション構成とのデータ関連付けが必要です。
public System.Threading.Tasks.Task SendAsync (Microsoft.Azure.EventHubs.EventData eventData);
member this.SendAsync : Microsoft.Azure.EventHubs.EventData -> System.Threading.Tasks.Task
Public Function SendAsync (eventData As EventData) As Task
パラメーター
戻り値
送信操作が完了したときに完了するタスク。
例外
の合計サイズが EventData 、サービスによって設定された定義済みの制限を超えています。 既定値は 256,000 バイトです。
操作中に Event Hubs サービスで問題が発生しました。
適用対象
SendAsync(EventDataBatch)
で EventDataBatchのバッチをEventData送信します。
public System.Threading.Tasks.Task SendAsync (Microsoft.Azure.EventHubs.EventDataBatch eventDataBatch);
member this.SendAsync : Microsoft.Azure.EventHubs.EventDataBatch -> System.Threading.Tasks.Task
Public Function SendAsync (eventDataBatch As EventDataBatch) As Task
パラメーター
- eventDataBatch
- EventDataBatch
EventHub に送信するイベントのバッチ
戻り値
送信操作が完了したときに完了するタスク。
適用対象
SendAsync(IEnumerable<EventData>)
特定の EventHub パーティションに送信 EventData します。 対象となるパーティションは、この PartitionSender の作成時に事前に決定されます。
EventHubs に送信する方法は 3 つあります。この特定の種類の送信を理解するには、同じ種類の送信であり、単一EventDataの を送信するために使用される オーバーロード SendAsync(EventData)を参照します。
のバッチを EventData送信すると、次の場合に便利です。i. 効率的な送信 - の EventData バッチを送信すると、EventHubs のサービスに対して作成されたセッションの数を最適に使用して、全体的なスループットが最大化されます。
ii. トランザクションで複数 EventDataの を送信しています。 ACID プロパティを実現するために、ゲートウェイ サービスはバッチ内のすべての EventDataを 1 つの EventHub パーティションに転送します。
public System.Threading.Tasks.Task SendAsync (System.Collections.Generic.IEnumerable<Microsoft.Azure.EventHubs.EventData> eventDatas);
member this.SendAsync : seq<Microsoft.Azure.EventHubs.EventData> -> System.Threading.Tasks.Task
Public Function SendAsync (eventDatas As IEnumerable(Of EventData)) As Task
パラメーター
- eventDatas
- IEnumerable<EventData>
EventHub に送信するイベントのバッチ
戻り値
送信操作が完了したときに完了するタスク。
例外
の合計サイズが EventData 、サービスによって設定された定義済みの制限を超えています。 既定値は 256,000 バイトです。
操作中に Event Hubs サービスで問題が発生しました。
例
サンプル コード:
EventHubClient client = EventHubClient.Create("__connectionString__");
PartitionSender senderToPartitionOne = client.CreatePartitionSender("1");
while (true)
{
var events = new List<EventData>();
for (int count = 1; count < 11; count++)
{
var payload = new PayloadEvent(count);
byte[] payloadBytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(payload));
var sendEvent = new EventData(payloadBytes);
var applicationProperties = new Dictionary<string, string>();
applicationProperties["from"] = "csharpClient";
sendEvent.Properties = applicationProperties;
events.Add(sendEvent);
}
await senderToPartitionOne.SendAsync(events);
Console.WriteLine("Sent Batch... Size: {0}", events.Count);
}
適用対象
Azure SDK for .NET