private async Task SendDataToEventHub(StationObservation[] observations) { EventData eventData; using (var memoryStream = new MemoryStream()) using (var streamWriter = new StreamWriter(memoryStream)) { JsonUtils.WriteJson(streamWriter, observations); await streamWriter.FlushAsync(); await memoryStream.FlushAsync(); eventData = new EventData(memoryStream.ToArray()); } await _eventHubClient.SendAsync(eventData); }
private async Task CacheSearchAddressReverseAsync(string key, Address address) { if (address != null) { using (var stringWriter = new StringWriter()) { JsonUtils.WriteJson(stringWriter, address); stringWriter.Flush(); TableOperation replaceOperation = TableOperation.InsertOrMerge( new CacheEntry(SearchAddressReversePartitionKey, key, stringWriter.GetStringBuilder().ToString())); await _cacheCloudTable.ExecuteAsync(replaceOperation); } } else { await AzureUtils.DeleteTableRowIfExistsAsync(_cacheCloudTable, SearchAddressReversePartitionKey, key); } }
public async Task <string> GenerateReferenceDataJsonAsync() { if (Stations.Length == 0) { Logger.TraceLine($"GenerateReferenceData: Stations not loaded, reference data generation skipped"); } var instances = new List <List <TimeSeriesInstance> >(); await ProcessStationsInBatches( async stationsBatch => { var batchInstances = new List <TimeSeriesInstance>(); instances.Add(batchInstances); batchInstances.AddRange(await ConvertStationsToTimeSeriesInstancesAsync(stationsBatch)); }); Dictionary <string, string>[] referenceDataItems = instances.SelectMany(batch => batch) .Select( instance => { var referenceDataItem = new Dictionary <string, string>(instance.InstanceFields); referenceDataItem["StationId"] = (string)instance.TimeSeriesId.Single(); referenceDataItem["Name"] = instance.Name; referenceDataItem["Description"] = instance.Description; return(referenceDataItem); }) .ToArray(); using (var stringWriter = new StringWriter()) { JsonUtils.WriteJson(stringWriter, referenceDataItems); stringWriter.Flush(); return(stringWriter.ToString()); } }
private static void WritePutTimeSeriesInstancesRequest(TextWriter textWriter, TimeSeriesInstance[] instances) { JsonUtils.WriteJson(textWriter, new PutTimeSeriesInstancesRequest(instances)); }
private static void WritePutTimeSeriesHierarchiesRequest(TextWriter textWriter, TimeSeriesHierarchy[] hierarchies) { JsonUtils.WriteJson(textWriter, new PutTimeSeriesHierarchiesRequest(hierarchies)); }
private static void WritePutTimeSeriesTypesRequest(TextWriter textWriter, TimeSeriesType[] types) { JsonUtils.WriteJson(textWriter, new PutTimeSeriesTypesRequest(types)); }