Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "context"
  5. "fmt"
  6. "os"
  7. "os/signal"
  8. "time"
  9. "github.com/davecgh/go-spew/spew"
  10. "github.com/Azure/azure-event-hubs-go/v2"
  11. )
  12.  
  13. func main() {
  14.  
  15. CONNSTRING := os.Getenv("CONNSTRING")
  16. CONSUMERGROUP := os.Getenv("CONSUMERGROUP")
  17.  
  18. hub, err := eventhub.NewHubFromConnectionString(CONNSTRING)
  19. if err != nil {
  20. fmt.Println(err)
  21. return
  22. }
  23.  
  24. ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second)
  25. defer cancel()
  26.  
  27. handler := func(c context.Context, event *eventhub.Event) error {
  28.  
  29. spew.Dump(event.SystemProperties)
  30. return nil
  31. }
  32.  
  33. runtimeInfo, err := hub.GetRuntimeInformation(ctx)
  34. if err != nil {
  35. fmt.Println(err)
  36. return
  37. }
  38.  
  39. for _, partitionID := range runtimeInfo.PartitionIDs {
  40.  
  41. _, err = hub.Receive(
  42. ctx,
  43. partitionID,
  44. handler,
  45. eventhub.ReceiveWithConsumerGroup(CONSUMERGROUP),
  46. eventhub.ReceiveWithLatestOffset())
  47. if err != nil {
  48. fmt.Println(err)
  49. return
  50. }
  51. }
  52.  
  53. signalChan := make(chan os.Signal, 1)
  54. signal.Notify(signalChan, os.Interrupt, os.Kill)
  55. <-signalChan
  56.  
  57. err = hub.Close(context.Background())
  58. if err != nil {
  59. fmt.Println(err)
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement