コード例 #1
0
ファイル: SBAdmin.cs プロジェクト: HydAu/IoTMasterClass
        public async Task<EventHubDescription> CreateEventHubAsync()
        {

            string serviceBusNamespace = "iotmc-ns";
            string serviceBusManageKey = "<< Add your SAS here >>";
            string eventHubName = "IoTMC";
            string eventHubSASKeyName = "Device01";

            Uri serviceBusUri = ServiceBusEnvironment.CreateServiceUri("sb", serviceBusNamespace, string.Empty);
            TokenProvider tokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider("RootManageSharedAccessKey", serviceBusManageKey);
            NamespaceManager nameSpaceManager = new NamespaceManager(string.Format("//{0}/", serviceBusUri.Host), tokenProvider);
            string eventHubKey = SharedAccessAuthorizationRule.GenerateRandomKey();

            EventHubDescription eventHubDescription = new EventHubDescription(eventHubName)
            {
                PartitionCount = 8,
                MessageRetentionInDays = 1
            };
            SharedAccessAuthorizationRule eventHubSendRule = new SharedAccessAuthorizationRule(eventHubSASKeyName, eventHubKey, new[] { AccessRights.Send, AccessRights.Listen });
            eventHubDescription.Authorization.Add(eventHubSendRule);
            eventHubDescription = await nameSpaceManager.CreateEventHubIfNotExistsAsync(eventHubDescription);

            string eventHubSASKey = ((SharedAccessAuthorizationRule)eventHubDescription.Authorization.First()).PrimaryKey;

            return eventHubDescription;
        }
コード例 #2
0
        public async Task <EventHubDescription> CreateEventHubAsync()
        {
            string serviceBusNamespace = "iotmc-ns";
            string serviceBusManageKey = "<< Add your SAS here >>";
            string eventHubName        = "IoTMC";
            string eventHubSASKeyName  = "Device01";

            Uri              serviceBusUri    = ServiceBusEnvironment.CreateServiceUri("sb", serviceBusNamespace, string.Empty);
            TokenProvider    tokenProvider    = TokenProvider.CreateSharedAccessSignatureTokenProvider("RootManageSharedAccessKey", serviceBusManageKey);
            NamespaceManager nameSpaceManager = new NamespaceManager(string.Format("//{0}/", serviceBusUri.Host), tokenProvider);
            string           eventHubKey      = SharedAccessAuthorizationRule.GenerateRandomKey();

            EventHubDescription eventHubDescription = new EventHubDescription(eventHubName)
            {
                PartitionCount         = 8,
                MessageRetentionInDays = 1
            };
            SharedAccessAuthorizationRule eventHubSendRule = new SharedAccessAuthorizationRule(eventHubSASKeyName, eventHubKey, new[] { AccessRights.Send, AccessRights.Listen });

            eventHubDescription.Authorization.Add(eventHubSendRule);
            eventHubDescription = await nameSpaceManager.CreateEventHubIfNotExistsAsync(eventHubDescription);

            string eventHubSASKey = ((SharedAccessAuthorizationRule)eventHubDescription.Authorization.First()).PrimaryKey;

            return(eventHubDescription);
        }
コード例 #3
0
        /// <summary>
        /// Creates an event hub in given service bus namespace
        /// </summary>
        /// <param name="eventHubConnectionString">Connection string to access the service bus namespace</param>
        /// <param name="eventHubName">Name of event hub to be created</param>
        /// <param name="partitionCount">Number of partitions in event hub</param>
        public static void CreateEventHubIfNotExists(string eventHubConnectionString, string eventHubName, int partitionCount = 0)
        {
            NamespaceManager namespaceManager = NamespaceManager.CreateFromConnectionString(eventHubConnectionString);
            var eventHubDescription           = new EventHubDescription(eventHubName);

            if (partitionCount > 0)
            {
                eventHubDescription.PartitionCount = partitionCount;
            }

            RetryPolicy.ExecuteAsync(() => namespaceManager.CreateEventHubIfNotExistsAsync(eventHubDescription)).Wait();
        }
コード例 #4
0
 public static void CreateEventHub(string eventHubName, int numberOfPartitions, NamespaceManager manager)
 {
     try
     {
         // Create the Event Hub
         Console.WriteLine("Creating Event Hub...");
         EventHubDescription ehd = new EventHubDescription(eventHubName);
         ehd.PartitionCount = numberOfPartitions;
         manager.CreateEventHubIfNotExistsAsync(ehd).Wait();
     }
     catch (AggregateException agexp)
     {
         Console.WriteLine(agexp.Flatten());
     }
 }
コード例 #5
0
ファイル: EventHubManager.cs プロジェクト: tzkwizard/ELS
 public static void CreateEventHubIfNotExists(string eventHubName, int numberOfPartitions, NamespaceManager manager)
 {
     try
     {
         // Create the Event Hub
         Trace.WriteLine("Creating Event Hub...");
         EventHubDescription ehd = new EventHubDescription(eventHubName);
         ehd.PartitionCount = numberOfPartitions;
         manager.CreateEventHubIfNotExistsAsync(ehd).Wait();
     }
     catch (AggregateException agexp)
     {
         Trace.WriteLine(agexp.Flatten());
     }
 }
コード例 #6
0
 public static void CreateEventHubAndConsumerGroup()
 {
     try
     {
         NamespaceManager manager = NamespaceManager.CreateFromConnectionString(GetServiceBusConnectionString());
         // Create the Event Hub
         Console.WriteLine("Creating Event Hub...");
         EventHubDescription ehd = new EventHubDescription(eventHubName);
         //ehd.PartitionCount = numberOfPartitions;
         manager.CreateEventHubIfNotExistsAsync(ehd.Path).Wait();
         manager.CreateConsumerGroupIfNotExistsAsync(ehd.Path, consumerGroupName).Wait();
     }
     catch (AggregateException agexp)
     {
         Console.WriteLine(agexp.Flatten());
     }
 }
コード例 #7
0
        /// <summary>
        /// Deploys the event hub that sends messages to stream analytics, and then eventually to PowerBI.
        /// </summary>
        /// <returns></returns>
        private static async Task DeployEventHub(TextWriter writer, bool recreate = false)
        {
            writer.WriteLine("deploying event hub");
            var servicebusConnString = NearbyConfig.Settings["dumpling-service eventhub connection string"];
            var eventhubPath         = NearbyConfig.Settings["dumpling-service eventhub path"];

            NamespaceManager manager = NamespaceManager.CreateFromConnectionString(servicebusConnString);
            var exists = await manager.EventHubExistsAsync(eventhubPath);

            if (exists && recreate)
            {
                writer.WriteLine("event hub exists and we want to recreate it; deleting current instance.");
            }

            await manager.CreateEventHubIfNotExistsAsync(eventhubPath);

            writer.WriteLine($"event hub '{eventhubPath}' created or existed already.");
        }
コード例 #8
0
        public async Task <EventHubDescription> CreateEventHubByConnectionStringAsync()
        {
            string eventHubName               = "IoTMC";
            string eventHubSASKeyName         = "Device01";
            string serviceBusConnectionString = "Endpoint=sb://iotmc-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<<Add your SAS here>>";

            NamespaceManager    nameSpaceManager    = NamespaceManager.CreateFromConnectionString(serviceBusConnectionString);
            string              eventHubKey         = SharedAccessAuthorizationRule.GenerateRandomKey();
            EventHubDescription eventHubDescription = new EventHubDescription(eventHubName)
            {
                PartitionCount         = 8,
                MessageRetentionInDays = 1
            };
            SharedAccessAuthorizationRule eventHubSendRule = new SharedAccessAuthorizationRule(eventHubSASKeyName, eventHubKey,
                                                                                               new[] { AccessRights.Send, AccessRights.Listen });

            eventHubDescription.Authorization.Add(eventHubSendRule);
            eventHubDescription = await nameSpaceManager.CreateEventHubIfNotExistsAsync(eventHubDescription);

            string eventHubSASKey = ((SharedAccessAuthorizationRule)eventHubDescription.Authorization.First()).PrimaryKey;

            return(eventHubDescription);
        }