public async Task <Uri> RenameAsync(RawLogFileInfo rawLogFile, string newFileName) { if (rawLogFile == null) { throw new ArgumentNullException(nameof(rawLogFile)); } if (string.IsNullOrWhiteSpace(newFileName)) { throw new ArgumentNullException(nameof(newFileName)); } Uri rawLogUri; if (!rawLogFile.IsPendingDownload) { if (await RenameAsync(rawLogFile.Uri, newFileName)) { rawLogUri = new Uri(rawLogFile.Uri + FileExtensions.Download); } else { rawLogUri = null; } } else { rawLogUri = rawLogFile.Uri; } return(rawLogUri); }
public void CorrectlyParsesValidCdnRawLogFileName() { var uri = new Uri("ftp://someserver/logs/wpc_A000_20150603_0058.log.gz"); var rawLogFile = new RawLogFileInfo(uri); Assert.False(rawLogFile.IsPendingDownload); Assert.Equal(uri, rawLogFile.Uri); Assert.Equal("wpc_A000_20150603_0058.log.gz", rawLogFile.FileName); Assert.Equal("A000", rawLogFile.AzureCdnAccountNumber); Assert.Equal(AzureCdnPlatform.HttpLargeObject, rawLogFile.AzureCdnPlatform); Assert.Equal(FileExtensions.RawLog + FileExtensions.Gzip, rawLogFile.Extension); Assert.Equal("application/x-gzip", rawLogFile.ContentType); Assert.Equal(DateTime.ParseExact("20150603", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal), rawLogFile.GeneratedDate); Assert.Equal(58, rawLogFile.RollingFileNumber); Assert.Equal("wpc_A000_20150603_0058.log.gz", rawLogFile.ToString()); }
public async Task<bool> CheckIfBlobExistsAsync(CloudBlobContainer targetContainer, RawLogFileInfo logFile) { try { Trace.TraceInformation("Checking if file '{0}' exists.", logFile.FileName); var blob = targetContainer.GetBlockBlobReference(logFile.FileName); bool exists = await blob.ExistsAsync(); Trace.TraceInformation("Finished checking if file '{0}' exists (exists = {1}.", logFile.FileName, exists); return exists; } catch (Exception exception) { Trace.TraceError(exception.ToString()); } return false; }
public async Task<CloudBlobStream> OpenBlobForWriteAsync(CloudBlobContainer targetContainer, RawLogFileInfo logFile, string fileName) { if (targetContainer == null) { throw new ArgumentNullException("targetContainer"); } if (logFile == null) { throw new ArgumentNullException("logFile"); } var blobName = logFile.Uri.ToString(); _jobEventSource.BeginningBlobUpload(blobName); var blob = targetContainer.GetBlockBlobReference(fileName); blob.Properties.ContentType = logFile.ContentType; // return a writeable stream return await blob.OpenWriteAsync(); }
public async Task<Uri> RenameAsync(RawLogFileInfo rawLogFile, string newFileName) { if (rawLogFile == null) { throw new ArgumentNullException("rawLogFile"); } if (string.IsNullOrWhiteSpace(newFileName)) { throw new ArgumentNullException("newFileName"); } Uri rawLogUri; if (!rawLogFile.IsPendingDownload) { if (await RenameAsync(rawLogFile.Uri, newFileName)) { rawLogUri = new Uri(rawLogFile.Uri + FileExtensions.Download); } else { rawLogUri = null; } } else { rawLogUri = rawLogFile.Uri; } return rawLogUri; }
public async Task <bool> CheckIfBlobExistsAsync(CloudBlobContainer targetContainer, RawLogFileInfo logFile) { try { Trace.TraceInformation("Checking if file '{0}' exists.", logFile.FileName); var blob = targetContainer.GetBlockBlobReference(logFile.FileName); bool exists = await blob.ExistsAsync(); Trace.TraceInformation("Finished checking if file '{0}' exists (exists = {1}.", logFile.FileName, exists); return(exists); } catch (Exception exception) { Trace.TraceError(exception.ToString()); } return(false); }
public async Task <CloudBlobStream> OpenBlobForWriteAsync(CloudBlobContainer targetContainer, RawLogFileInfo logFile, string fileName) { if (targetContainer == null) { throw new ArgumentNullException("targetContainer"); } if (logFile == null) { throw new ArgumentNullException("logFile"); } var blobName = logFile.Uri.ToString(); _jobEventSource.BeginningBlobUpload(blobName); var blob = targetContainer.GetBlockBlobReference(fileName); blob.Properties.ContentType = logFile.ContentType; // return a writeable stream return(await blob.OpenWriteAsync()); }
public async Task <CloudBlobStream> OpenBlobForWriteAsync(CloudBlobContainer targetContainer, RawLogFileInfo logFile, string fileName) { if (targetContainer == null) { throw new ArgumentNullException(nameof(targetContainer)); } if (logFile == null) { throw new ArgumentNullException(nameof(logFile)); } var blobName = logFile.Uri.ToString(); _logger.LogInformation("Beginning blob upload: '{BlobUri}'", blobName); var blob = targetContainer.GetBlockBlobReference(fileName); blob.Properties.ContentType = logFile.ContentType; // return a writeable stream return(await blob.OpenWriteAsync()); }