static void Main(string[] args) { bool useFieldGateway = false; EventHubIngest eventHubIngest = new EventHubIngest(); FieldGatewayIngest fieldGatewayIngest = new FieldGatewayIngest(); Random random = new Random(DateTime.Now.Millisecond); List<Task> ingests = new List<Task>(); for (int x = 0; x < 100; x++ ) { for (int i = 0; i < 10; i++) { Telemetry telemetry = new Telemetry(); telemetry.DeviceId = "Device-50"; telemetry.Temperature = 27.5; telemetry.Humidity = 68.3; telemetry.Pollution = random.NextDouble() * 100; if (useFieldGateway) ingests.Add(fieldGatewayIngest.TelemetryIngest(telemetry)); else ingests.Add(eventHubIngest.TelemetryIngest(telemetry)); } Thread.Sleep(500); } Task.WaitAll(ingests.ToArray<Task>()); }
public Task TelemetryIngest(Telemetry telemetry) { string fieldGatewayUrl = "http://<<add the ip of your field gateway here>>/sendtelemetry"; StringContent stringContent = new StringContent(JsonConvert.SerializeObject(telemetry)); HttpClient httpClient = new HttpClient(); return httpClient.PostAsync(fieldGatewayUrl, stringContent); }
public Task TelemetryIngest(Telemetry telemetry) { string serviceBusNamespace = "iotmc-ns"; string eventHubName = "IoTMC"; string eventHubSASKeyName = "Device01"; string eventHubSASKey = "<< Add your SAS here >>"; string eventHubConnectionString = ServiceBusConnectionStringBuilder.CreateUsingSharedAccessKey( ServiceBusEnvironment.CreateServiceUri("sb", serviceBusNamespace, string.Empty), eventHubSASKeyName, eventHubSASKey); EventHubClient eventHubClient = EventHubClient.CreateFromConnectionString(eventHubConnectionString, eventHubName); return Task.Run(async () => { EventData eventData = new EventData(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(telemetry))); eventData.PartitionKey = telemetry.DeviceId.ToString(); await eventHubClient.SendAsync(eventData); }); }