本文整理汇总了C#中PartitionContext类的典型用法代码示例。如果您正苦于以下问题:C# PartitionContext类的具体用法?C# PartitionContext怎么用?C# PartitionContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PartitionContext类属于命名空间,在下文中一共展示了PartitionContext类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: ProcessEventsAsync
public async Task ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> messages)
{
var batch = new TableBatchOperation();
foreach(var msg in messages)
{
var snap = JsonConvert.DeserializeObject<BusSnapshotInfo>(Encoding.UTF8.GetString(msg.GetBytes()));
var entity = new DynamicTableEntity(snap.RouteShortName, snap.VehicleId.ToString());
entity.Properties.Add("RouteShortName", EntityProperty.GeneratePropertyForString(snap.RouteShortName));
entity.Properties.Add("VehicleId", EntityProperty.GeneratePropertyForInt(snap.VehicleId));
entity.Properties.Add("TripId", EntityProperty.GeneratePropertyForInt(snap.TripId));
entity.Properties.Add("Latitude", EntityProperty.GeneratePropertyForDouble(snap.Latitude));
entity.Properties.Add("Longitude", EntityProperty.GeneratePropertyForDouble(snap.Longitude));
entity.Properties.Add("DirectionOfTravel", EntityProperty.GeneratePropertyForString(snap.DirectionOfTravel.ToString()));
entity.Properties.Add("NextStopId", EntityProperty.GeneratePropertyForInt(snap.NextStopId));
entity.Properties.Add("Timeliness", EntityProperty.GeneratePropertyForString(snap.Timeliness.ToString()));
entity.Properties.Add("TimelinessOffset", EntityProperty.GeneratePropertyForInt(snap.TimelinessOffset));
entity.Properties.Add("Timestamp", EntityProperty.GeneratePropertyForDateTimeOffset(snap.Timestamp));
batch.Add(TableOperation.InsertOrReplace(entity));
}
var tableClient = _account.CreateCloudTableClient();
var table = tableClient.GetTableReference("snapshots");
await table.CreateIfNotExistsAsync();
await table.ExecuteBatchAsync(batch);
await context.CheckpointAsync();
}
开发者ID:jplane,项目名称:TheMartaBus.AzureServiceFabric,代码行数:34,代码来源:StorageProcessor.cs
示例2: Stopwatch
//------------------------------------------------------------------------------------------------------------------------
Task IEventProcessor.OpenAsync(PartitionContext context)
{
DebugEx.TraceLog("SimpleEventProcessor initialized. Partition: " + context.Lease.PartitionId + ", Offset: " + context.Lease.Offset);
this.checkpointStopWatch = new Stopwatch();
this.checkpointStopWatch.Start();
return Task.FromResult<object>(null);
}
开发者ID:yodiwo,项目名称:plegma,代码行数:8,代码来源:SimpleEventProcessor.cs
示例3: foreach
async Task IEventProcessor.ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> messages)
{
foreach (EventData eventData in messages)
{
_Logger.LogInfo(string.Format("Event received from partition: {0} - {1}", context.Lease.PartitionId,eventData.PartitionKey));
try
{
var httpMessage = HttpMessage.Parse(eventData.GetBodyStream());
await _MessageContentProcessor.ProcessHttpMessage(httpMessage);
}
catch (Exception ex)
{
_Logger.LogError(ex.Message);
}
}
//Call checkpoint every 5 minutes, so that worker can resume processing from the 5 minutes back if it restarts.
if (this.checkpointStopWatch.Elapsed > TimeSpan.FromMinutes(5))
{
_Logger.LogInfo("Checkpointing");
await context.CheckpointAsync();
this.checkpointStopWatch.Restart();
}
}
开发者ID:darrelmiller,项目名称:ApimEventProcessor,代码行数:26,代码来源:ApimEventProcessor.cs
示例4: OpenAsync
public async Task OpenAsync(PartitionContext context)
{
if (!WebJobsHelper.RunAsWebJobs)
Console.WriteLine(string.Format("EventProcessor initialization. Partition: '{0}', Offset: '{1}'",
context.Lease.PartitionId, context.Lease.Offset));
partitionContext = context;
var retries = 3;
while (retries > 0)
{
try
{
retries--;
hubClient = EventHubClient.CreateFromConnectionString(
ConfigurationManager.ConnectionStrings["SigfoxDemoAlertSender"].ConnectionString,
"alert");
cacheConnection = await ConnectionMultiplexer.ConnectAsync(ConfigurationManager.ConnectionStrings["SigfoxDemoCache"].ConnectionString);
cacheDatabase = cacheConnection.GetDatabase();
sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SigfoxDemoDatabase"].ConnectionString);
//sqlConnection.Open();
//sqlCommand = new SqlCommand("InsertAlert", sqlConnection) { CommandType = CommandType.StoredProcedure };
//sqlCommand.Parameters.Add(new SqlParameter("@Device", SqlDbType.VarChar));
retries = 0;
}
catch (Exception e)
{
Console.Error.WriteLine("Error opening destination Event Hub: " + e.Message);
if (retries == 0)
throw;
}
}
checkpointStopWatch = new Stopwatch();
checkpointStopWatch.Start();
}
开发者ID:danvy,项目名称:sigfox,代码行数:33,代码来源:EventProcessor.cs
示例5: CloseAsync
public async Task CloseAsync(PartitionContext context, CloseReason reason)
{
_log.InfoEvent("Close",
new Facet("reason", reason),
new Facet("partitionId", context.Lease.PartitionId),
new Facet("offset", context.Lease.Offset));
}
开发者ID:smartpcr,项目名称:bigdata2,代码行数:7,代码来源:DeepStorageEventProcessor.cs
示例6: OpenAsync
public async Task OpenAsync(PartitionContext context)
{
_log.InfoEvent("Open",
new Facet("eventHubPath", context.EventHubPath),
new Facet("partitionId", context.Lease.PartitionId),
new Facet("offset", context.Lease.Offset));
}
开发者ID:smartpcr,项目名称:bigdata2,代码行数:7,代码来源:DeepStorageEventProcessor.cs
示例7: ProcessEventsAsync
public async Task ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> events)
{
// Workaround for event hub sending null on timeout
events = events ?? Enumerable.Empty<EventData>();
if(!await _elasticSearchWriter.WriteAsync(events.ToList(), _token).ConfigureAwait(false))
{
return;
}
try
{
EventData checkpointEventData = events.LastOrDefault();
await context.CheckpointAsync(checkpointEventData);
WarmStorageEventSource.Log.CheckpointCompleted(ProcessorName, _eventHubName, context.Lease.PartitionId, checkpointEventData.Offset);
}
catch (Exception ex)
{
if (!(ex is StorageException || ex is LeaseLostException))
{
throw;
}
WarmStorageEventSource.Log.UnableToCheckpoint(ex, ProcessorName, _eventHubName, context.Lease.PartitionId);
}
}
开发者ID:sbidy,项目名称:iot-journey,代码行数:28,代码来源:WarmStorageProcessor.cs
示例8: ProcessEventsAsync
public async Task ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> messages)
{
Trace.TraceInformation("\n");
Trace.TraceInformation("........ProcessEventsAsync........");
foreach (EventData eventData in messages)
{
try
{
string jsonString = Encoding.UTF8.GetString(eventData.GetBytes());
Trace.TraceInformation(string.Format("Message received at '{0}'. Partition: '{1}'",
eventData.EnqueuedTimeUtc.ToLocalTime(), this.partitionContext.Lease.PartitionId));
Trace.TraceInformation(string.Format("-->Raw Data: '{0}'", jsonString));
SensorEvent newSensorEvent = this.DeserializeEventData(jsonString);
Trace.TraceInformation(string.Format("-->Serialized Data: '{0}', '{1}', '{2}', '{3}', '{4}'",
newSensorEvent.timestart, newSensorEvent.dsplalert, newSensorEvent.alerttype, newSensorEvent.message, newSensorEvent.targetalarmdevice));
// Issuing alarm to device.
string commandParameterNew = "{\"Name\":\"AlarmThreshold\",\"Parameters\":{\"SensorId\":\"" + newSensorEvent.dsplalert + "\"}}";
Trace.TraceInformation("Issuing alarm to device: '{0}', from sensor: '{1}'", newSensorEvent.targetalarmdevice, newSensorEvent.dsplalert);
Trace.TraceInformation("New Command Parameter: '{0}'", commandParameterNew);
await WorkerRole.iotHubServiceClient.SendAsync(newSensorEvent.targetalarmdevice, new Microsoft.Azure.Devices.Message(Encoding.UTF8.GetBytes(commandParameterNew)));
}
catch (Exception ex)
{
Trace.TraceInformation("Error in ProssEventsAsync -- {0}\n", ex.Message);
}
}
await context.CheckpointAsync();
}
开发者ID:mickeyhaynes,项目名称:iot-hub-c-mbed-temperature-anomaly,代码行数:34,代码来源:SensorEventProcessor.cs
示例9: Stopwatch
Task IEventProcessor.OpenAsync(PartitionContext context)
{
Console.WriteLine("SimpleEventProcessor initialized. Partition: '{0}', Offset: '{1}'", context.Lease.PartitionId, context.Lease.Offset);
this.checkpointStopWatch = new Stopwatch();
this.checkpointStopWatch.Start();
return Task.FromResult<object>(null);
}
开发者ID:davidebbo-test,项目名称:EventHubsSample,代码行数:7,代码来源:SimpleEventProcessor.cs
示例10: OpenAsync
public Task OpenAsync(PartitionContext context)
{
Console.WriteLine("EventProcessor started");
this.stopWatch = new Stopwatch();
this.stopWatch.Start();
return Task.FromResult<object>(null);
}
开发者ID:amykatenicho,项目名称:DataCultureIoT,代码行数:7,代码来源:EventProcessor.cs
示例11: DbService
async Task IEventProcessor.ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> messages)
{
var iDbService = new DbService();
_client = iDbService.GetFirebaseClient();
foreach (EventData eventData in messages)
{
string data = Encoding.UTF8.GetString(eventData.GetBytes());
FirebaseResponse response = await _client.PushAsync("event", new EHdata
{
offset = eventData.Offset,
body = data,
partitionId = context.Lease.PartitionId
});
Console.WriteLine(String.Format("Message received. Partition: '{0}', Data: '{1}', Offset: '{2}'",
context.Lease.PartitionId, data, eventData.Offset));
}
//Call checkpoint every 5 minutes, so that worker can resume processing from the 5 minutes back if it restarts.
if (this.checkpointStopWatch.Elapsed > TimeSpan.FromMinutes(5))
{
Console.WriteLine(this.checkpointStopWatch.Elapsed);
await context.CheckpointAsync();
this.checkpointStopWatch.Restart();
}
}
开发者ID:tzkwizard,项目名称:ELS,代码行数:25,代码来源:EventHubHost.cs
示例12: OpenAsync
public Task OpenAsync(PartitionContext context)
{
this.partitionContext = context;
this.checkpointStopWatch = new Stopwatch();
this.checkpointStopWatch.Start();
return Task.FromResult<object>(null);
}
开发者ID:Kgabo707,项目名称:azure-guidance,代码行数:7,代码来源:SimpleEventProcessor.cs
示例13:
async Task IEventProcessor.CloseAsync(PartitionContext context, CloseReason reason)
{
if (reason == CloseReason.Shutdown)
{
await context.CheckpointAsync();
}
}
开发者ID:PaulStubbs,项目名称:AzureSmartCitySimulator,代码行数:7,代码来源:EventProcessor.cs
示例14: CreateEventProcessor
public IEventProcessor CreateEventProcessor(PartitionContext context)
{
var processor = new DeviceAdministrationProcessor(_deviceLogic, _configurationProvider);
processor.ProcessorClosed += this.ProcessorOnProcessorClosed;
this.eventProcessors.TryAdd(context.Lease.PartitionId, processor);
return processor;
}
开发者ID:smartpcr,项目名称:azure-iot-remote-monitoring,代码行数:7,代码来源:DeviceAdministrationProcessorFactory.cs
示例15: AppendAndCheckpoint
async Task IEventProcessor.ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> messages)
{
foreach (EventData eventData in messages)
{
byte[] data = eventData.GetBytes();
if (eventData.Properties.ContainsKey("messageType") && (string)eventData.Properties["messageType"] == "interactive")
{
var messageId = (string)eventData.SystemProperties["message-id"];
var queueMessage = new BrokeredMessage(new MemoryStream(data));
queueMessage.MessageId = messageId;
queueMessage.Properties["messageType"] = "interactive";
await queueClient.SendAsync(queueMessage);
WriteHighlightedMessage(string.Format("Received interactive message: {0}", messageId));
continue;
}
if (toAppend.Length + data.Length > MAX_BLOCK_SIZE || stopwatch.Elapsed > MAX_CHECKPOINT_TIME)
{
await AppendAndCheckpoint(context);
}
await toAppend.WriteAsync(data, 0, data.Length);
Console.WriteLine(string.Format("Message received. Partition: '{0}', Data: '{1}'",
context.Lease.PartitionId, Encoding.UTF8.GetString(data)));
}
}
开发者ID:richross,项目名称:IoTDemo,代码行数:29,代码来源:StoreEventProcessor.cs
示例16: ProcessEventsAsync
public async Task ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> events)
{
// Workaround for event hub sending null on timeout
events = events ?? Enumerable.Empty<EventData>();
foreach (var eventData in events)
{
var updateTemperatureEvent = JsonConvert.DeserializeObject<UpdateTemperatureEvent>(Encoding.UTF8.GetString(eventData.GetBytes()));
eventData.Properties["BuildingId"] = _buildingLookupService.GetBuildingId(updateTemperatureEvent.DeviceId);
}
if(!await _elasticSearchWriter.WriteAsync(events.ToList(), _token).ConfigureAwait(false))
{
return;
}
try
{
EventData checkpointEventData = events.LastOrDefault();
await context.CheckpointAsync(checkpointEventData);
WarmStorageEventSource.Log.CheckpointCompleted(ProcessorName, _eventHubName, context.Lease.PartitionId, checkpointEventData.Offset);
}
catch (Exception ex)
{
if (!(ex is StorageException || ex is LeaseLostException))
{
throw;
}
WarmStorageEventSource.Log.UnableToCheckpoint(ex, ProcessorName, _eventHubName, context.Lease.PartitionId);
}
}
开发者ID:carloserodriguez2000,项目名称:iot-journey,代码行数:34,代码来源:WarmStorageProcessor.cs
示例17: foreach
async Task IEventProcessor.ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> messages)
{
var partitionedMessages = messages.GroupBy(data => data.PartitionKey).ToDictionary(datas => datas.Key, datas => datas.ToList());
//For each partition spawn a Task which will sequentially iterate over its own block
//Wait for all Tasks to complete, before proceeding.
await Task.WhenAll(partitionedMessages.Select(partition => Task.Run(async () =>
{
var block = partition.Value;
foreach (var eventData in block)
{
try
{
var data = Encoding.UTF8.GetString(eventData.GetBytes());
System.Console.WriteLine(DateTime.Now + ":Message received. Partition: '{0}', Data: '{1}', Partition Key: '{2}'", context.Lease.PartitionId, data, eventData.PartitionKey);
}
catch (Exception e)
{
//do something with your logs..
}
}
})));
//Call checkpoint every 5 minutes, so that worker can resume processing from the 5 minutes back if it restarts.
if (checkpointStopWatch.Elapsed > TimeSpan.FromMinutes(5))
{
await context.CheckpointAsync();
checkpointStopWatch.Restart();
}
}
开发者ID:nothingmn,项目名称:presentation-azureeventhubs,代码行数:31,代码来源:FarBetterEventProcessor.cs
示例18: OpenAsync
public Task OpenAsync(PartitionContext context)
{
/*client = new HttpClient();
client.DefaultRequestHeaders.Add("X-ZUMO-APPLICATION", APP_KEY_MOBILE_SERVICES);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
return Task.FromResult<object>(null);*/
var storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
var tableClient = storageAccount.CreateCloudTableClient();
sensorLogTable = tableClient.GetTableReference("SensorLog");
//sensorLogTable = tableClient.GetTableReference("SensorLog" + context.Lease.PartitionId);
// 閾値の取得
if (thresholdTempWarning == null)
{
var sensorConfigTable = tableClient.GetTableReference("SensorConfig");
var query = new TableQuery<SensorConfig>();
var configData = sensorConfigTable.ExecuteQuery(query);
foreach (SensorConfig config in configData)
{
if (config.PartitionKey == "TemperatureWarning")
{
thresholdTempWarning = config.Threshold;
System.Console.WriteLine("ThresholdTempWarning: " + thresholdTempWarning);
}
else if (config.PartitionKey == "TemperatureDanger")
{
thresholdTempDanger = config.Threshold;
System.Console.WriteLine("ThresholdTempDanger: " + thresholdTempDanger);
}
}
}
return sensorLogTable.CreateIfNotExistsAsync();
}
开发者ID:kenjihiranabe,项目名称:IoT-Hackathon-Zubogani-2015,代码行数:35,代码来源:SensorEventProcessor.cs
示例19: ProcessEventsAsync
public async Task ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> messages)
{
foreach (EventData eventData in messages)
{
if (eventData.Properties.ContainsKey("time"))
{
if (eventData.Properties.ContainsKey("temp"))
Console.WriteLine(string.Format("time = {0}, temp = {1}", eventData.Properties["time"], eventData.Properties["temp"]));
if (eventData.Properties.ContainsKey("hmdt"))
Console.WriteLine(string.Format("time = {0}, hmdt = {1}", eventData.Properties["time"], eventData.Properties["hmdt"]));
if (eventData.Properties.ContainsKey("accx") &&
eventData.Properties.ContainsKey("accy") &&
eventData.Properties.ContainsKey("accz"))
Console.WriteLine(string.Format("time = {0}, accx = {1}, accy = {2}, accz = {3}", eventData.Properties["time"], eventData.Properties["accx"], eventData.Properties["accy"], eventData.Properties["accz"]));
if (eventData.Properties.ContainsKey("bpm"))
Console.WriteLine(string.Format("time = {0}, bpm = {1}", eventData.Properties["time"], eventData.Properties["bpm"]));
}
}
//Call checkpoint every 5 minutes, so that worker can resume processing from the 5 minutes back if it restarts.
//if (this.checkpointStopWatch.Elapsed > TimeSpan.FromMinutes(5))
if (this.checkpointStopWatch.Elapsed > TimeSpan.FromSeconds(30))
{
await context.CheckpointAsync();
this.checkpointStopWatch.Restart();
}
}
开发者ID:Mecabot,项目名称:ble2azure,代码行数:30,代码来源:FEZSpiderEventHubProcessor.cs
示例20: CloseAsync
public async Task CloseAsync(PartitionContext context, CloseReason reason)
{
if (reason == CloseReason.Shutdown)
{
await context.CheckpointAsync();
}
}
开发者ID:tzkwizard,项目名称:Azure,代码行数:7,代码来源:EventHubHost.cs
注:本文中的PartitionContext类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论