public static void ProcessRequest(GDPRMessageWrapper msg) { Type t = Type.GetType("GDPR.Util.Messages." + msg.Type); GDPRMessage actionMessage = (GDPRMessage)Newtonsoft.Json.JsonConvert.DeserializeObject(msg.Object, t); actionMessage.Process(); }
public string RecieveRequest([FromBody] string body) { bool valid = false; try { GDPRMessageWrapper message = JsonConvert.DeserializeObject <GDPRMessageWrapper>(body); if (message.IsEncrypted) { valid = MessageHelper.ValidateMessage(message); } else { valid = true; } if (valid) { Type t = Type.GetType("GDPR.Common.Messages.BaseApplicationMessage, GDPR.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"); BaseApplicationMessage actionMessage = (BaseApplicationMessage)Newtonsoft.Json.JsonConvert.DeserializeObject(message.Object, t); ProcessRequest(actionMessage, ctx); } else { return("NotValid"); } } catch (Exception ex) { return(ex.Message); } return("OK"); }
public static void Run([EventHubTrigger("gdprmessagehub", Connection = "EventHubConnectionAppSetting")] EventData myEventHubMessage, TraceWriter log) { string data = Encoding.UTF8.GetString(myEventHubMessage.GetBytes()); log.Info($"{data}"); GDPRMessageWrapper message = (GDPRMessageWrapper)Newtonsoft.Json.JsonConvert.DeserializeObject(data); MasterGDPRHelper.ProcessRequest(message); }
static public void SendMessage(GDPRMessage message) { GDPRMessageWrapper w = new GDPRMessageWrapper(); w.ApplicationId = message.ApplicationId; string msg = Newtonsoft.Json.JsonConvert.SerializeObject(message); w.Type = message.GetType().Name; w.Object = msg; w.MessageDate = DateTime.Now; SendMessage(w); }
async Task IEventProcessor.ProcessEventsAsync(PartitionContext context, IEnumerable <EventData> messages) { DateTime checkPoint = MasterGDPRHelper.GetOffset(context.ConsumerGroupName, context.Lease.PartitionId); DateTime lastMessageDate = checkPoint; foreach (EventData eventData in messages) { string data = Encoding.UTF8.GetString(eventData.GetBytes()); try { Type t = typeof(GDPRMessageWrapper); GDPRMessageWrapper w = (GDPRMessageWrapper)Newtonsoft.Json.JsonConvert.DeserializeObject(data, t); if (w.MessageDate > checkPoint) { if (w.MessageDate > lastMessageDate) { lastMessageDate = w.MessageDate; } Console.WriteLine(string.Format("Message received. Partition: '{0}', Data: '{1}'", context.Lease.PartitionId, data)); MasterGDPRHelper.ProcessRequest(w); } else { Console.WriteLine(string.Format("Skiping message {0}", eventData.Offset)); } } catch (Exception ex) { Console.WriteLine(data); } } MasterGDPRHelper.SetOffSet(context.ConsumerGroupName, context.Lease.PartitionId, lastMessageDate); //Call checkpoint every 5 minutes, so that worker can resume processing from 5 minutes back if it restarts. if (this.checkpointStopWatch.Elapsed > TimeSpan.FromMinutes(5)) { await context.CheckpointAsync(); this.checkpointStopWatch.Restart(); } }
static private void SendMessage(GDPRMessageWrapper message) { //send a message... //string connectionStringBuilder = "Endpoint=sb://gdprevents.servicebus.windows.net/;SharedAccessKeyName=GDPRPolicy;SharedAccessKey=ecCNa0UQXlCFiAIbAOMCBJLbzlWqOaCI7YQX3DCmSgo=;EntityPath=gdprmessagehub"; string connectionStringBuilder = Util.EventHubConnectionStringWithPath; eventHubClient = EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString()); if (!string.IsNullOrEmpty(message.ApplicationId)) { EventHubSender sender = eventHubClient.CreateSender("gdprgroup"); //EventHubSender sender = eventHubClient.CreatePartitionedSender("gdprgroup"); string msg = Newtonsoft.Json.JsonConvert.SerializeObject(message); sender.Send(new EventData(Encoding.UTF8.GetBytes(msg))); } else { string msg = Newtonsoft.Json.JsonConvert.SerializeObject(message); eventHubClient.Send(new EventData(Encoding.UTF8.GetBytes(msg))); } //eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(msg))); //eventHubClient.CloseAsync(); }
public static void Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, TraceWriter log) { string data = ""; GDPRMessageWrapper message = (GDPRMessageWrapper)Newtonsoft.Json.JsonConvert.DeserializeObject(data); }