Ejemplo n.º 1
0
 public async Task <string> HandleEventSubscriptionValidation(EventGridTopic @event)
 {
     return(await Task.Run(() =>
     {
         var eventData = DynamicToObject <SubscriptionValidationEventData>(@event.Data);
         dynamic eventResponse = new System.Dynamic.ExpandoObject();
         eventResponse.validationResponse = eventData.ValidationCode;
         return JsonConvert.SerializeObject(eventResponse);
     }));
 }
Ejemplo n.º 2
0
        public async Task HandleEventTypeBlobCreated(EventGridTopic @event)
        {
            var eventData = DynamicToObject <BlobCreatedData>(@event.Data);

            if (eventData.ContentLength > 0 | eventData.Api == "RenameFile")
            {
                var url        = new Uri(!string.IsNullOrEmpty(eventData.Url) ? eventData.Url : eventData.DestinationUrl);
                var localPath  = url.LocalPath;
                var fileName   = Path.GetFileName(localPath);
                var folderPath = Path.GetDirectoryName(localPath).Split(Path.DirectorySeparatorChar);

                var fileStream    = string.Empty;
                var directoryPath = string.Empty;


                foreach (var item in folderPath)
                {
                    if (String.IsNullOrEmpty(item))
                    {
                        continue;
                    }
                    if (string.IsNullOrEmpty(fileStream))
                    {
                        fileStream = item;
                        continue;
                    }
                    directoryPath = Path.Combine(directoryPath, item);
                }


                var data = await _dataLakeServiceClientRepository.DownloadJsonData(fileStream, directoryPath, fileName);

                //do something
                //....
                //End do something

                var id = "out_product" + "_" + Guid.NewGuid().ToString();
                await _dataLakeServiceClientRepository.UploadJsonData("outputfs", "output", data.ToString(), id);
            }
        }