Esempio n. 1
0
        public static void Run([ServiceBusTrigger("integrate2019", Connection = "servicebusconn")] Message msg, ILogger log)
        {
            object filename;

            msg.UserProperties.TryGetValue("FileName", out filename);
            Task <string> content = BlobStorageUtils.GetBlob(AppConfiguration.BlobContainer, filename.ToString(), AppConfiguration.StorageAccountName, AppConfiguration.StorageAccountKey);

            log.LogInformation($"C# ServiceBus queue trigger function processed message: {msg.MessageId}, with filename {filename.ToString()}");
            log.LogInformation($"FileContent: {content.Result}");
        }
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            var stopWatch = new Stopwatch();

            stopWatch.Start();
            log.LogInformation("C# HTTP trigger function processed a request.");


            string name = req.Query["name"];

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            var    fileName    = $"{Guid.NewGuid().ToString()}.json";

            await BlobStorageUtils.UploadBlob(AppConfiguration.BlobContainer, fileName, requestBody, AppConfiguration.StorageAccountName, AppConfiguration.StorageAccountKey);

            DemoMessage msg = new DemoMessage()
            {
                FileName          = fileName,
                Stage             = MessageStage.Received,
                RetryCount        = 0,
                MessageIdentifier = Guid.NewGuid().ToString()
            };

            var result = ServiceBusUtils.PublishMessage(ServiceBusUtils.CreateSBMessage(msg), AppConfiguration.ServiceBusEndPoint, AppConfiguration.ServiceBusEntityPath, AppConfiguration.ServiceBusKeyName, AppConfiguration.ServiceBusSASKey);

            stopWatch.Stop();

            if (result)
            {
                AppInsightUtils.CreateTrackedEvent(msg, msg.MessageIdentifier, "Completed", "ReceiveMessage", stopWatch.Elapsed);
                return((ActionResult) new OkObjectResult(msg));
            }
            else
            {
                AppInsightUtils.CreateTrackedEvent(msg, msg.MessageIdentifier, "Failed", "ReceiveMessage", stopWatch.Elapsed);
                return((ActionResult) new BadRequestObjectResult("Failed to Receive Message"));
            }
        }