Beispiel #1
0
        public async static Task Run([QueueTrigger("watermarkqueue")] PictureWatermarkQueue myQueueItem, ILogger log)
        {
            ConnectionStrings.AzureStorageConnectionString = "DefaultEndpointsProtocol=https;AccountName=udemyrealstorageaccount;AccountKey=rzzWG1uOtG1SCvsC1xOz63N9iavDE2IJnbofGMHAAl/wW7oLbKwpWRlhWgiAJBq/CcdGIob1A123cmVVjuC0eg==;EndpointSuffix=core.windows.net";
            IBlobStorage blobStorage = new BlobStorage();
            INoSqlStorage <UserPicture> noSqlStorage = new TableStorage <UserPicture>();

            foreach (var item in myQueueItem.Pictures)
            {
                using var stream = await blobStorage.DownloadAsync(item, EContainerName.pictures);

                using var memoryStream = AddWaterMark(myQueueItem.WatermarkText, stream);

                await blobStorage.UploadAsync(memoryStream, item, EContainerName.watermarkpictures);

                log.LogInformation($"{item} resmine watermark eklenmiştir.");
            }

            var userpicture = await noSqlStorage.Get(myQueueItem.UserId, myQueueItem.City);

            if (userpicture.WatermarkRawPaths != null)
            {
                myQueueItem.Pictures.AddRange(userpicture.WatermarkPaths);
            }

            userpicture.WatermarkPaths = myQueueItem.Pictures;

            await noSqlStorage.Add(userpicture);

            HttpClient httpClient = new HttpClient();

            var response = await httpClient.GetAsync("https://localhost:44332/api/Notifications/CompleteWatermarkProcess/" + myQueueItem.ConnectionId);

            log.LogInformation($"Client({myQueueItem.ConnectionId}) bilgilendirilmiştir");
        }
        public async static void Run([QueueTrigger("watermarkqueue", Connection = "")] PictureWaterMarkQueque myQueueItem, ILogger log)
        {
            try
            {
                //  AzureStorageConstant.AzureStorageConnectionString = "AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;DefaultEndpointsProtocol=http;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;";
                IBlobStorage blobStorage = new BlobStorage();
                INoSqlStorage <UserPicture> noSqlStorage = new TableStorage <UserPicture>();


                foreach (var item in myQueueItem.Pictures)
                {
                    using var stream = await blobStorage.DownloadAsync(item, EContainerName.pictures);

                    using var memoryStream = AddWaterMark(myQueueItem.WatermarkText, stream);

                    await blobStorage.UploadAsync(memoryStream, item, EContainerName.watermarkpictures);

                    log.LogInformation($"{item} Pictures added for watermark.");
                }

                var userpicture = await noSqlStorage.Get(myQueueItem.UserId, myQueueItem.UserPartitionKey);

                if (userpicture.WatermarkRawPaths != null)
                {
                    myQueueItem.Pictures.AddRange(userpicture.WatermarkPaths);
                }

                userpicture.WatermarkPaths = myQueueItem.Pictures;

                await noSqlStorage.Add(userpicture);

                HttpClient httpClient = new HttpClient();

                var response = await httpClient.GetAsync("https://localhost:44392/api/Notifications/CompleteWatermarkProcess/" + myQueueItem.ConnectionId);

                log.LogInformation($"Client({myQueueItem.ConnectionId}) my process complate.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }