PartitionSender.SendAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
SendAsync(EventData) |
Enviar EventData a una partición de EventHub específica. La partición de destino se determina previamente cuando se creó partitionSender. Este patrón de envío resalta la correlación de datos sobre la disponibilidad y la latencia generales. Hay 3 maneras de enviar a EventHubs, cada uno expuesto como método (junto con su sobrecarga sendBatch): i. SendAsync(EventData) o SendAsync(IEnumerable<EventData>) ii. SendAsync(EventData, String) o SendAsync(IEnumerable<EventData>, String) iii. SendAsync(EventData) o SendAsync(IEnumerable<EventData>) Use este tipo de envío si:a. El cliente quiere tomar el control directo de la distribución de datos entre particiones. En este caso, el cliente es responsable de asegurarse de que hay al menos un remitente por partición del centro de eventos. b. El usuario no puede usar la clave de partición como medio para dirigir eventos a una partición específica, pero hay una necesidad de correlación de datos con el esquema de partición. |
SendAsync(EventDataBatch) |
Envíe un lote de EventData en EventDataBatch. |
SendAsync(IEnumerable<EventData>) |
Enviar EventData a una partición de EventHub específica. La partición de destino se determina previamente cuando se creó partitionSender. Hay 3 maneras de enviar a EventHubs, para comprender este tipo concreto de envío, haga referencia a la sobrecarga SendAsync(EventData), que es el mismo tipo de envío y se usa para enviar un solo EventData. Enviar un lote de EventData's es útil en los casos siguientes:i. Envío eficaz: el envío de un lote de EventData maximiza el rendimiento general mediante el uso óptimo del número de sesiones creadas en el servicio de EventHubs. ii. Enviar varios EventDataen una transacción. Para lograr las propiedades ACID, el servicio de puerta de enlace reenviará todo EventDatael lote a una sola partición de EventHub. |
SendAsync(EventData)
- Source:
- PartitionSender.cs
Enviar EventData a una partición de EventHub específica. La partición de destino se determina previamente cuando se creó partitionSender. Este patrón de envío resalta la correlación de datos sobre la disponibilidad y la latencia generales.
Hay 3 maneras de enviar a EventHubs, cada uno expuesto como método (junto con su sobrecarga sendBatch):
i. SendAsync(EventData) o SendAsync(IEnumerable<EventData>)
ii. SendAsync(EventData, String) o SendAsync(IEnumerable<EventData>, String)
iii. SendAsync(EventData) o SendAsync(IEnumerable<EventData>)
Use este tipo de envío si:a. El cliente quiere tomar el control directo de la distribución de datos entre particiones. En este caso, el cliente es responsable de asegurarse de que hay al menos un remitente por partición del centro de eventos.
b. El usuario no puede usar la clave de partición como medio para dirigir eventos a una partición específica, pero hay una necesidad de correlación de datos con el esquema de partición.
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
Parámetros
Devoluciones
Tarea que se completa cuando se realizan las operaciones de envío.
Excepciones
el tamaño total de EventData supera un límite predefinido establecido por el servicio. El valor predeterminado es 256 000 bytes.
El servicio Event Hubs encontró problemas durante la operación.
Se aplica a
SendAsync(EventDataBatch)
- Source:
- PartitionSender.cs
Envíe un lote de EventData en EventDataBatch.
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
Parámetros
- eventDataBatch
- EventDataBatch
el lote de eventos que se van a enviar a EventHub
Devoluciones
Tarea que se completa cuando se realiza la operación de envío.
Se aplica a
SendAsync(IEnumerable<EventData>)
- Source:
- PartitionSender.cs
Enviar EventData a una partición de EventHub específica. La partición de destino se determina previamente cuando se creó partitionSender.
Hay 3 maneras de enviar a EventHubs, para comprender este tipo concreto de envío, haga referencia a la sobrecarga SendAsync(EventData), que es el mismo tipo de envío y se usa para enviar un solo EventData.
Enviar un lote de EventData's es útil en los casos siguientes:i. Envío eficaz: el envío de un lote de EventData maximiza el rendimiento general mediante el uso óptimo del número de sesiones creadas en el servicio de EventHubs.
ii. Enviar varios EventDataen una transacción. Para lograr las propiedades ACID, el servicio de puerta de enlace reenviará todo EventDatael lote a una sola partición de 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
Parámetros
- eventDatas
- IEnumerable<EventData>
lote de eventos que se van a enviar a EventHub
Devoluciones
una tarea que se completa cuando se realiza la operación de envío.
Excepciones
el tamaño total de EventData supera un límite predefinido establecido por el servicio. El valor predeterminado es 256 000 bytes.
El servicio Event Hubs encontró problemas durante la operación.
Ejemplos
Ejemplo de código:
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);
}
Se aplica a
Azure SDK for .NET