static void Main(string[] args) { string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString"); string eventHubName = CloudConfigurationManager.GetSetting("EventHubName"); string numCamerasString = CloudConfigurationManager.GetSetting("NumCameras"); string numPartitionsString = CloudConfigurationManager.GetSetting("NumPartitions"); if (string.IsNullOrEmpty(connectionString) || string.IsNullOrEmpty(eventHubName) || string.IsNullOrEmpty(numCamerasString) || string.IsNullOrEmpty(numPartitionsString)) { Trace.WriteLine("One or more parameters missing in appsettings (app.config)"); return; } // Change Culture settings to en-US to ensure formatting of CSV data is correct System.Globalization.CultureInfo.DefaultThreadCurrentCulture = new System.Globalization.CultureInfo("en-US"); ServiceBusConnectionStringBuilder builder = new ServiceBusConnectionStringBuilder(connectionString); builder.TransportType = TransportType.Amqp; var namespaceManager = NamespaceManager.CreateFromConnectionString(builder.ToString()); EventHubManager.CreateEventHubIfNotExists(eventHubName, int.Parse(numPartitionsString), namespaceManager); var driver = new CamerasDriver(eventHubName, int.Parse(numCamerasString), int.Parse(numPartitionsString)); var token = tokenSource.Token; Task.Factory.StartNew(() => driver.Run(token)); Task.Factory.StartNew(() => driver.WaitForEnter(tokenSource)); driver.runCompleteEvent.WaitOne(); }
private Azure(RestClient restClient, string subscriptionId, string tenantId, IAuthenticated authenticated) { resourceManager = ResourceManager.Fluent.ResourceManager.Authenticate(restClient).WithSubscription(subscriptionId); storageManager = StorageManager.Authenticate(restClient, subscriptionId); computeManager = ComputeManager.Authenticate(restClient, subscriptionId); networkManager = NetworkManager.Authenticate(restClient, subscriptionId); batchManager = BatchManager.Authenticate(restClient, subscriptionId); keyVaultManager = KeyVaultManager.Authenticate(restClient, subscriptionId, tenantId); trafficManager = TrafficManager.Fluent.TrafficManager.Authenticate(restClient, subscriptionId); dnsZoneManager = DnsZoneManager.Authenticate(restClient, subscriptionId); sqlManager = SqlManager.Authenticate(restClient, subscriptionId); redisManager = RedisManager.Authenticate(restClient, subscriptionId); cdnManager = CdnManager.Authenticate(restClient, subscriptionId); appServiceManager = AppServiceManager.Authenticate(restClient, subscriptionId, tenantId); searchManager = SearchManager.Authenticate(restClient, subscriptionId); serviceBusManager = ServiceBusManager.Authenticate(restClient, subscriptionId); containerInstanceManager = ContainerInstanceManager.Authenticate(restClient, subscriptionId); registryManager = RegistryManager.Authenticate(restClient, subscriptionId); containerServiceManager = ContainerServiceManager.Authenticate(restClient, subscriptionId); cosmosDBManager = CosmosDBManager.Authenticate(restClient, subscriptionId); authorizationManager = AuthorizationManager.Authenticate(restClient, subscriptionId); msiManager = MsiManager.Authenticate(restClient, subscriptionId); batchAIManager = BatchAIManager.Authenticate(restClient, subscriptionId); monitorManager = MonitorManager.Authenticate(restClient, subscriptionId); eventHubManager = EventHubManager.Authenticate(restClient, subscriptionId); SubscriptionId = subscriptionId; this.authenticated = authenticated; }
public override void Run() { Trace.TraceInformation("ReceiverRole is running"); //Get settings from configuration var eventHubName = CloudConfigurationManager.GetSetting("eventHubName"); var consumerGroupName = CloudConfigurationManager.GetSetting("consumerGroupName"); var numberOfPartitions = int.Parse(CloudConfigurationManager.GetSetting("numberOfPartitions")); var blobConnectionString = CloudConfigurationManager.GetSetting("AzureStorageConnectionString"); // Required for checkpoint/state //Get AMQP connection string var connectionString = EventHubManager.GetServiceBusConnectionString(); //Create event hub if it does not exist var namespaceManager = EventHubManager.GetNamespaceManager(connectionString); EventHubManager.CreateEventHubIfNotExists(eventHubName, numberOfPartitions, namespaceManager); //Create consumer group if it does not exist var group = namespaceManager.CreateConsumerGroupIfNotExists(eventHubName, consumerGroupName); //Start processing messages receiver = new Receiver(eventHubName, connectionString); //Get host name of worker role instance. This is used for each environment to obtain //a lease, and to renew the same lease in case of a restart. string hostName = RoleEnvironment.CurrentRoleInstance.Id; receiver.RegisterEventProcessor(group, blobConnectionString, hostName); //Wait for shutdown to be called, else the role will recycle this.runCompleteEvent.WaitOne(); }
private static void SendMessages(MyArgs a) { var namespaceManager = EventHubManager.GetNamespaceManager(); EventHubManager.CreateEventHubIfNotExists(a.eventHubName, a.numberOfPartitions, namespaceManager); Sender s = new Sender(a.eventHubName, a.numberOfDevices, a.numberOfMessages); Trace.TraceInformation("Sending events"); s.SendEvents(); }
static void Main(string[] args) { ParseArgs(args); var connectionString = EventHubManager.GetServiceBusConnectionString(); var namespaceManager = EventHubManager.GetNamespaceManager(connectionString); EventHubManager.CreateEventHubIfNotExists(eventHubName, numberOfPartitions, namespaceManager); var group = namespaceManager.CreateConsumerGroupIfNotExists(eventHubName, "TestConsumerGroup"); Receiver r = new Receiver(eventHubName, connectionString); r.MessageProcessingWithPartitionDistribution(group); Console.WriteLine("Press enter key to stop worker."); Console.ReadLine(); }
///GENMHASH:58450A945E80C901D43CECE47608FEED:7062C994ACCC3143EB9A1DBD466807A4 public EventHubNamespacesImpl(EventHubManager manager) : base(manager.Inner.Namespaces, manager) { }
///GENMHASH:02FC52656FED15BFC1B5B9216A451178:D544D70B59C64F2C67EC02DE16CBAEF6 internal DisasterRecoveryPairingAuthorizationRulesImpl(EventHubManager manager) { this.manager = manager; }
///GENMHASH:D4CA07DF69C5770C25C54C590A72C9A3:84E3CA373B4BC562253F7D0744B26A1E public DisasterRecoveryPairingAuthorizationRuleImpl(AuthorizationRuleInner inner, EventHubManager manager) : base(inner) { this.manager = manager; this.ancestor = new TwoAncestor(inner.Id); }
static void Main(string[] args) { // Read configuration file to get the storage connection string var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); var configuration = builder.Build(); /* * Initialize the required repositories */ Console.WriteLine("Initializing repositories..."); var sqlConnectionString = configuration["SqlConnectionString"]; activityRepository = new ActivityRepository(sqlConnectionString); userRepository = new UserRepository(sqlConnectionString); telemetryRepository = new TelemetryRepository(sqlConnectionString); /* * Connect to the Service Bus Queues */ var storageConnectionString = configuration["StorageConnectionString"]; /* * BLOB Storage */ blobStorage = new BlobManager(storageConnectionString); Console.WriteLine("Connecting to blob containers..."); // For telemetry pictures var activityContainerName = configuration["BlobContainerName"]; blobSend = blobStorage.GetContainerReference(activityContainerName); // For user account pictures var userpicContainerName = configuration["UserpicContainerName"]; userpicSend = blobStorage.GetContainerReference(userpicContainerName); Console.WriteLine("Connecting to queues..."); /* * Service Bus */ /* * Service bus for sending messages back to the runner (used for redirects) */ var busConnectionString = configuration["ServiceBusConnectionString"]; var busQueueToRunnerName = configuration["ServiceBusQueueToRunnerName"]; responseClient = new ServiceBusManager(busConnectionString, busQueueToRunnerName); /* * Service bus to receive messages from the runner */ var busQueueName = configuration["ServiceBusQueueName"]; queueClient = new QueueClient(busConnectionString, busQueueName); var messageHandlerOptions = new MessageHandlerOptions(new Func <Microsoft.Azure.ServiceBus.ExceptionReceivedEventArgs, Task>( async(e) => { var x = e.ToString(); throw e.Exception; })) { MaxConcurrentCalls = 1, AutoComplete = false }; queueClient.RegisterMessageHandler(ProcessBusMessage, messageHandlerOptions); /* * Event Hubs */ var hubConnectionString = configuration["EventHubConnectionString"]; /* * Event Hub to send messages to the other worker (name is a misnomer) */ var hubToOrganizerEntityPath = configuration["EventHubToOrganizerEntityPath"]; eventHubSendToOrganizer = new EventHubManager(hubConnectionString, hubToOrganizerEntityPath); /* * Event Hub to receive telemetry data (from the runner) * REQUIRES a table storage to keep data */ var hubToWorkerContainerName = configuration["HubToWorkerContainerName"]; var hubToWorkerEntityPath = configuration["EventHubToWorkerEntityPath"]; // Name var eventProcessorHost = new EventProcessorHost( hubToWorkerEntityPath, PartitionReceiver.DefaultConsumerGroupName, hubConnectionString, storageConnectionString, hubToWorkerContainerName); eventProcessorHost.RegisterEventProcessorAsync <WorkerCommandManager>().GetAwaiter().GetResult(); // eventHubReceive.RegisterEventProcessor<WorkerCommandManager>(hubToWorkerEntityPath, connectionString, // hubToWorkerContainerName).GetAwaiter().GetResult(); while (true) { Task.Delay(1000); } }