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); } }
/// <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()); } }
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); } } }
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"); } }
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); } }