Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. class Program
  2. {
  3. private static void Main()
  4. {
  5. var eventProcessorHostName = Guid.NewGuid().ToString();
  6. const string eventHubPath = "";
  7. const string eventHubConnectionString = "";
  8. const string storageConnectionString = "";
  9. const string consumerGroupName = "";
  10.  
  11. var manager = NamespaceManager.CreateFromConnectionString(eventHubConnectionString);
  12. manager.CreateConsumerGroupIfNotExists(eventHubPath, consumerGroupName);
  13.  
  14. var host = new EventProcessorHost(
  15. eventProcessorHostName,
  16. eventHubPath,
  17. consumerGroupName,
  18. eventHubConnectionString,
  19. storageConnectionString,
  20. consumerGroupName.ToLower());
  21. host.RegisterEventProcessorAsync<EventProcessor>().Wait();
  22.  
  23. Console.ReadLine();
  24.  
  25. host.UnregisterEventProcessorAsync().Wait();
  26. manager.DeleteConsumerGroup(eventHubPath, consumerGroupName);
  27. }
  28. }
  29.  
  30. class EventProcessor : IEventProcessor
  31. {
  32. Task IEventProcessor.OpenAsync(PartitionContext context)
  33. {
  34. Console.WriteLine(
  35. "Open EventProcessor. Partition: {0}, Offset: {1}, SequenceNumber: {2}",
  36. context.Lease.PartitionId,
  37. context.Lease.Offset,
  38. context.Lease.SequenceNumber);
  39. return Task.FromResult<object>(null);
  40. }
  41.  
  42. async Task IEventProcessor.CloseAsync(PartitionContext context, CloseReason reason)
  43. {
  44. Console.WriteLine(
  45. "Close EventProcessor. Partition: {0}, Offset: {1}, SequenceNumber: {2}, Reason: {3}",
  46. context.Lease.PartitionId,
  47. context.Lease.Offset,
  48. context.Lease.SequenceNumber,
  49. reason);
  50. await context.CheckpointAsync();
  51. }
  52.  
  53. public async Task ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> messages)
  54. {
  55. foreach (var message in messages)
  56. {
  57. var str = Encoding.UTF8.GetString(message.GetBytes());
  58. Console.WriteLine("{0} : {1}", context.Lease.PartitionId, str);
  59. }
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement