public CreatedID Create(ScriptCreate apiModel)
        {
            string scriptURL = null;
            Script sc        = _aviBL.GetScriptByPilotID(apiModel.PilotID);

            if (sc != null)
            {
                scriptURL = sc.ScriptURL;
                _aviBL.DeleteScriptIfExists(apiModel.PilotID);
            }
            _aviBL.DeleteScenesIfExists(apiModel.PilotID);
            foreach (SceneCreate sceneApiModel in apiModel.Scenes)
            {
                sceneApiModel.PilotID = apiModel.PilotID;
                _aviBL.AddScene(sceneApiModel.ToDLModel());
            }
            BlobContainerClient containerClient = _blobSC.GetBlobContainerClient($"pilot{apiModel.PilotID}");

            if (!containerClient.Exists())
            {
                containerClient = _blobSC.CreateBlobContainer($"pilot{apiModel.PilotID}", Azure.Storage.Blobs.Models.PublicAccessType.BlobContainer);
            }
            else if (scriptURL != null)
            {
                containerClient.DeleteBlob(scriptURL.Substring(scriptURL.LastIndexOf('/') + 1));
            }
            BlobClient blobClient = containerClient.GetBlobClient($"script{Guid.NewGuid().ToString()}.html");

            blobClient.Upload(GenerateStreamFromString(apiModel.ScriptBody));
            apiModel.ScriptURL = blobClient.Uri.AbsoluteUri;
            return(new CreatedID {
                ID = _aviBL.AddScript(apiModel.ToDLModel()).ID
            });
        }
        public void DeleteFolder(string container, string folder)
        {
            BlobContainerClient containerClient = new BlobContainerClient(_connectionString, container);

            foreach (BlobItem blob in containerClient.GetBlobs(prefix: folder))
            {
                _logging.LogDebug("blob ==> {0}", blob.Name);

                containerClient.DeleteBlob(blob.Name);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Delete blob files older than a given age
        /// </summary>
        private static void DeleteOldGrabs(TimeSpan maxAge, BlobContainerClient container, ILogger log)
        {
            string[] oldBlobNames = container.GetBlobs()
                                    .Where(x => (DateTime.UtcNow - x.Properties.LastModified) > maxAge)
                                    .Select(x => x.Name)
                                    .ToArray();

            log.LogInformation($"Deleting {oldBlobNames.Length} old grab images...");

            foreach (var bloboldBlobName in oldBlobNames)
            {
                container.DeleteBlob(bloboldBlobName);
            }
        }
        public async Task <ActionResult <string> > DeletePhotos(Guid id)
        {
            string imageNamePrefix     = $"{id.ToString()}";
            BlobContainerClient client = new BlobContainerClient(_fokkersDbService.StorageConnectionString, "catches");
            var blobs = client.GetBlobs(Azure.Storage.Blobs.Models.BlobTraits.All, Azure.Storage.Blobs.Models.BlobStates.All, imageNamePrefix);

            if (blobs.Count() == 0)
            {
                return(NotFound());
            }
            else
            {
                foreach (var blob in blobs.ToList())
                {
                    client.DeleteBlob(blob.Name, Azure.Storage.Blobs.Models.DeleteSnapshotsOption.IncludeSnapshots);
                }
                return(NoContent());
            }
        }
Esempio n. 5
0
        private void DeleteOldLogFiles()
        {
            BlobContainerClient client = new BlobContainerClient(_connectionString, _containerName);

            int retention = 60; // Keep the last 60 days of log files

            int today    = DateTime.Now.DOY() + 366;
            int thisyear = DateTime.Now.Year;

            foreach (BlobItem item in client.GetBlobs())
            {
                string   name = item.Name;
                string   date = name.Mid((name.IndexOf("-")) + 1, 8);
                int      year = date.Left(4).ToInteger();
                DateTime dt   = new DateTime(year, date.Mid(4, 2).ToInteger(), date.Mid(6, 2).ToInteger());

                if ((dt.DOY() + 366 * (year - thisyear + 1)) < (today - retention))
                {
                    client.DeleteBlob(name);
                }
            }
        }
Esempio n. 6
0
        public void eliminarImg(int id)
        {
            //Subir a Azure
            string conn = "DefaultEndpointsProtocol=https;AccountName=spacedecor2021;AccountKey=IDhWTZdewBV6W9QOfYPE5A3HwGlWNCQN/5jz1mzaCweXllq1fabsA4PFi0Meg4/VYh2mGEQSfMnvSXyUG8BKzw==;EndpointSuffix=core.windows.net";

            BlobServiceClient   blobServiceClient = new BlobServiceClient(conn);
            BlobContainerClient containerClient   = blobServiceClient.GetBlobContainerClient("productsimage");

            List <Images> lista    = new List <Images>();
            var           consulta = from s in db.ProductsImg where s.idProducto == id
                                     select new Images
            {
                url  = s.ImageUrl,
                name = s.Nombre
            };

            lista = consulta.ToList();

            foreach (var item in lista)
            {
                containerClient.DeleteBlob(item.name);
            }
        }
        //Method to upload a file to a Blob.
        private static void SalesUpload(string ConnectionString, string Container, String filename)
        {
            BlobContainerClient blobcontainer = new BlobContainerClient(ConnectionString, Container);

            if (blobcontainer.GetBlobClient(filename).Exists())
            {
                blobcontainer.DeleteBlob(filename);
            }

            if (File.Exists(filename))
            {
                BlobClient blob = blobcontainer.GetBlobClient(filename);
                using (FileStream file = File.OpenRead(filename))
                {
                    blob.Upload(file);
                    Console.WriteLine("The File " + filename + " is being uploaded");
                }
                Console.WriteLine("The File " + filename + "is uploaded successfully");
            }
            else
            {
                Console.WriteLine("The file doesn't exist, Please provide a file name that exists in the folder data");
            }
        }
Esempio n. 8
0
        static void MergeSoundData(int dataPacketNo, string dataFormat, string blobNameCommon)
        {
            var             blobs       = blobContainerCleint.GetBlobs();
            List <BlobItem> targetBlobs = new List <BlobItem>();

            byte[] targetContent = null;
            foreach (var blob in blobs)
            {
                if (blob.Name.StartsWith(blobNameCommon))
                {
                    var blobClient    = blobContainerCleint.GetBlobClient(blob.Name);
                    var contentLength = blob.Properties.ContentLength;
                    var readBuf       = new byte[contentLength.Value];
                    using (var stream = new MemoryStream(readBuf))
                    {
                        blobClient.DownloadTo(stream);
                    }
                    if (targetContent == null)
                    {
                        targetContent = new byte[readBuf.Length];
                        readBuf.CopyTo(targetContent, 0);
                    }
                    else
                    {
                        var tmpBuf = new byte[targetContent.Length + readBuf.Length];
                        targetContent.CopyTo(tmpBuf, 0);
                        readBuf.CopyTo(tmpBuf, targetContent.Length);
                        targetContent = tmpBuf;
                    }
                    targetBlobs.Add(blob);
                    if (targetBlobs.Count >= dataPacketNo)
                    {
                        break;
                    }
                }
            }
            if (targetBlobs.Count == dataPacketNo)
            {
                string mergedBlobName = blobNameCommon + "." + dataFormat;
                if (dataFormat == "csv")
                {
                    var sb = new StringBuilder();
                    using (var writer = new StringWriter(sb))
                    {
                        for (var index = 0; index < targetContent.Length; index += 2)
                        {
                            byte l   = targetContent[index];
                            byte h   = targetContent[index + 1];
                            int  val = ((int)h) << 8 | (int)l;
                            writer.WriteLine(val);
                        }
                    }
                    var mergedCSVContent = System.Text.Encoding.UTF8.GetBytes(sb.ToString());
                    using (var contentReader = new MemoryStream(mergedCSVContent))
                    {
                        blobContainerOutClient.UploadBlob(mergedBlobName, contentReader);
                    }
                }
                else
                {
                    using (var dataStream = new MemoryStream(targetContent))
                    {
                        blobContainerOutClient.UploadBlob(mergedBlobName, dataStream);
                    }
                }
            }
            foreach (var targetedBlob in targetBlobs)
            {
                blobContainerCleint.DeleteBlob(targetedBlob.Name);
            }
        }