public static async Task Run( [QueueTrigger("tablequeue", Connection = "StorageConnectionString")] string myQueueItem, [Table("onboardingtable", Connection = "StorageConnectionString")] CloudTable onboardingTable, ILogger log) { log.LogInformation($"C# Queue trigger function processed: {myQueueItem}"); OnboardingDataEntity onboardingData = JsonConvert.DeserializeObject <OnboardingDataEntity>(myQueueItem); onboardingData.PartitionKey = "onboardingData"; onboardingData.RowKey = Guid.NewGuid().ToString(); TableOperation tableOperation = TableOperation.InsertOrMerge(onboardingData); TableResult result = await onboardingTable.ExecuteAsync(tableOperation); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); OnboardingDataEntity inputData = JsonConvert.DeserializeObject <OnboardingDataEntity>(requestBody); inputData.PartitionKey = "onboardingData"; inputData.RowKey = Guid.NewGuid().ToString(); if (!inputData.Validate()) { return(new BadRequestResult()); } var events = new List <Event> { new Event() { id = Guid.NewGuid().ToString(), eventTime = DateTime.UtcNow, eventType = "onboarding", subject = "new", data = JsonConvert.SerializeObject(inputData) } }; var httpClient = new HttpClient(); var url = Environment.GetEnvironmentVariable("EventGridUrl"); httpClient.DefaultRequestHeaders.Add("aeg-sas-key", Environment.GetEnvironmentVariable("EventGridSasKey")); await httpClient.PostAsJsonAsync(Environment.GetEnvironmentVariable("EventGridUrl"), events); return(new AcceptedResult()); }