Exemple #1
0
        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);
        }
Exemple #2
0
        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());
        }