首先,需要确认是否有正确的连接字符串和权限。其次,需要确保事件中心中有消息。最后,可以参考以下代码示例,确保使用正确的名称空间,事件中心名称和接收方组:
string connectionString = "{EVENTHUBS_CONNECTION_STRING}";
string eventHubName = "{EVENTHUB_NAME}";
string consumerGroup = "{CONSUMER_GROUP_NAME}";
var receiverOptions = new EventHubReceiverOptions()
{
ReceiveTimeout = TimeSpan.FromSeconds(5)
};
await using var consumer = new EventHubConsumerClient(
consumerGroup,
connectionString,
eventHubName,
receiverOptions);
try
{
await foreach (PartitionEvent partitionEvent in consumer.ReadEventsAsync(cancellationToken))
{
Console.WriteLine($"Message received on partition '{partitionEvent.Partition.PartitionId}': ");
Console.WriteLine($"\tEventBody: {Encoding.UTF8.GetString(partitionEvent.Data.Body.ToArray())}");
Console.WriteLine($"\tPartition Key: {partitionEvent.Data.PartitionKey}");
Console.WriteLine($"\tSequence Number: {partitionEvent.Data.SequenceNumber}");
Console.WriteLine($"\tOffset: {partitionEvent.Data.Offset}\n");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}