/// <summary> /// Creates a new TableStorage object /// </summary> /// <param name="tableName">The name of the table to be managed</param> /// <param name="storageConnectionString">The connection string pointing to the storage account (this can be local or hosted in Windows Azure</param> public TableStorageAsync(string tableName, string storageConnectionString) { Validate.TableName(tableName, "tableName"); Validate.String(storageConnectionString, "storageConnectionString"); StorageConnectionString = storageConnectionString; TableName = tableName; }
/// <summary> /// Creates a new queue message with the given content and adds it to the queue /// </summary> /// <param name="content">The content to add to the queue message</param> public async Task EnQueueAsync(string content) { Validate.String(content, "content"); var cloudQueueMessage = new CloudQueueMessage(content); await cloudQueue.AddMessageAsync(cloudQueueMessage); }
/// <summary> /// Creates a new queue message with the given content and adds it to the queue /// </summary> /// <param name="content">The content to add to the queue message</param> public void EnQueue(string content) { Validate.String(content, "content"); var cloudQueueMessage = new CloudQueueMessage(content); cloudQueue.AddMessage(cloudQueueMessage); }
public async Task DeleteDirectoryAsync(string directoryName) { Validate.String(directoryName, "directoryName"); var rootDirectory = cloudFileShare.GetRootDirectoryReference(); var newDirectory = rootDirectory.GetDirectoryReference(directoryName); await newDirectory.DeleteIfExistsAsync(); }
/// <summary> /// Creates a new BlobStorage object /// </summary> /// <param name="blobContainerName">The name of the blob to be managed</param> /// <param name="storageConnectionString">The connection string pointing to the storage account (this can be local or hosted in Windows Azure</param> public BlobStorageAsync(string blobContainerName, string storageConnectionString) { Validate.BlobContainerName(blobContainerName, "blobContainerName"); Validate.String(storageConnectionString, "storageConnectionString"); StorageConnectionString = storageConnectionString; BlobContainerName = blobContainerName; }
public bool DirectoryExists(string directoryName) { Validate.String(directoryName, "directoryName"); var rootDirectory = cloudFileShare.GetRootDirectoryReference(); var directoryToTest = rootDirectory.GetDirectoryReference(directoryName); return(directoryToTest.Exists()); }
public void DeleteDirectory(string directoryName) { Validate.String(directoryName, "directoryName"); var rootDirectory = cloudFileShare.GetRootDirectoryReference(); var newDirectory = rootDirectory.GetDirectoryReference(directoryName); newDirectory.DeleteIfExists(); }
/// <summary> /// Creates a new block blob and populates it from a file /// </summary> /// <param name="blobId">The blobId for the block blob</param> /// <param name="filePath"></param> /// <returns>The URI to the created block blob</returns> public async Task <string> CreateBlockBlobAsync(string blobId, string filePath) { Validate.BlobName(blobId, "blobId"); Validate.String(filePath, "contentType"); var cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(blobId); await cloudBlockBlob.UploadFromFileAsync(filePath); return(cloudBlockBlob.Uri.ToString()); }
public bool FileExists(string directoryName, string fileName) { Validate.String(directoryName, "directoryName"); Validate.String(fileName, "fileName"); var rootDirectory = cloudFileShare.GetRootDirectoryReference(); var directoryToUpdate = rootDirectory.GetDirectoryReference(directoryName); var file = directoryToUpdate.GetFileReference(fileName); return(file.Exists()); }
public void DeleteFile(string directoryName, string fileName) { Validate.String(directoryName, "directoryName"); Validate.String(fileName, "fileName"); var rootDirectory = cloudFileShare.GetRootDirectoryReference(); var directoryToUpdate = rootDirectory.GetDirectoryReference(directoryName); var file = directoryToUpdate.GetFileReference(fileName); file.DeleteIfExists(); }
/// <summary> /// Creates a new block blob and populates it from a file /// </summary> /// <param name="blobId">The blobId for the block blob</param> /// <param name="filePath"></param> /// <returns>The URI to the created block blob</returns> public string CreateBlockBlob(string blobId, string filePath) { Validate.BlobName(blobId, "blobId"); Validate.String(filePath, "contentType"); var cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(blobId); cloudBlockBlob.UploadFromFile(filePath); return(cloudBlockBlob.Uri.ToString()); }
public async Task DeleteFileAsync(string directoryName, string fileName) { Validate.String(directoryName, "directoryName"); Validate.String(fileName, "fileName"); var rootDirectory = cloudFileShare.GetRootDirectoryReference(); var directoryToUpdate = rootDirectory.GetDirectoryReference(directoryName); var file = directoryToUpdate.GetFileReference(fileName); await file.DeleteIfExistsAsync(); }
public FileStorageAsync(string fileShareName, string storageConnectionString) { Validate.String(fileShareName, "fileShareName"); Validate.String(storageConnectionString, "storageConnectionString"); var cloudStorageAccount = CloudStorageAccount.Parse(storageConnectionString); var fileClient = cloudStorageAccount.CreateCloudFileClient(); cloudFileShare = fileClient.GetShareReference(fileShareName); cloudFileShare.CreateIfNotExists(); }
/// <summary> /// Constructor /// </summary> /// <param name="queueName">The name of the queue to be managed</param> /// <param name="storageConnectionString">The connection string pointing to the storage account (this can be local or hosted in Windows Azure</param> public QueueStorage(string queueName, string storageConnectionString) { Validate.QueueName(queueName, "queueName"); Validate.String(storageConnectionString, "storageConnectionString"); var cloudStorageAccount = CloudStorageAccount.Parse(storageConnectionString); var cloudQueueClient = cloudStorageAccount.CreateCloudQueueClient(); cloudQueue = cloudQueueClient.GetQueueReference(queueName); cloudQueue.CreateIfNotExists(); }
/// <summary> /// Creates a new block blob and populates it from a string /// </summary> /// <param name="blobId">The blobId for the block blob</param> /// <param name="contentType">The content type for the block blob</param> /// <param name="data">The data to store in the block blob</param> /// <returns>The URI to the created block blob</returns> public string CreateBlockBlob(string blobId, string contentType, string data) { Validate.BlobName(blobId, "blobId"); Validate.String(contentType, "contentType"); Validate.String(data, "data"); var cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(blobId); cloudBlockBlob.Properties.ContentType = contentType; cloudBlockBlob.UploadText(data); return(cloudBlockBlob.Uri.ToString()); }
/// <summary> /// Creates a new block blob and populates it from a byte array /// </summary> /// <param name="blobId">The blobId for the block blob</param> /// <param name="contentType">The content type for the block blob</param> /// <param name="data">The data to store in the block blob</param> /// <returns>The URI to the created block blob</returns> public string CreateBlockBlob(string blobId, string contentType, byte[] data) { Validate.BlobName(blobId, "blobId"); Validate.String(contentType, "contentType"); Validate.Null(data, "data"); var cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(blobId); cloudBlockBlob.Properties.ContentType = contentType; cloudBlockBlob.UploadFromByteArray(data, 0, data.Length); return(cloudBlockBlob.Uri.ToString()); }
/// <summary> /// Creates a new block blob and populates it from a stream /// </summary> /// <param name="blobId">The blobId for the block blob</param> /// <param name="contentType">The content type for the block blob</param> /// <param name="data">The data to store in the block blob</param> /// <returns>The URI to the created block blob</returns> public async Task <string> CreateBlockBlobAsync(string blobId, string contentType, Stream data) { Validate.BlobName(blobId, "blobId"); Validate.String(contentType, "contentType"); Validate.Null(data, "data"); var cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(blobId); cloudBlockBlob.Properties.ContentType = contentType; await cloudBlockBlob.UploadFromStreamAsync(data); return(cloudBlockBlob.Uri.ToString()); }
/// <summary> /// Creates a new block blob and populates it from a file /// </summary> /// <param name="blobId">The blobId for the block blob</param> /// <param name="filePath"></param> /// <returns>The URI to the created block blob</returns> public async Task <string> CreateBlockBlobAsync(string blobId, string filePath) { Validate.BlobName(blobId, "blobId"); Validate.String(filePath, "contentType"); var cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(blobId); await cloudBlockBlob.UploadFromFileAsync(filePath); string blobUri = cloudBlockBlob.Uri.ToString(); System.Diagnostics.Trace.TraceInformation($"Storing blob: {blobUri}"); return(cloudBlockBlob.Uri.ToString()); }
/// <summary> /// Creates a new BlobStorage object /// </summary> /// <param name="blobContainerName">The name of the blob to be managed</param> /// <param name="storageConnectionString">The connection string pointing to the storage account (this can be local or hosted in Windows Azure</param> public BlobStorageAsync(string blobContainerName, string storageConnectionString) { Validate.BlobContainerName(blobContainerName, "blobContainerName"); Validate.String(storageConnectionString, "storageConnectionString"); var cloudStorageAccount = CloudStorageAccount.Parse(storageConnectionString); var cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient(); cloudBlobContainer = cloudBlobClient.GetContainerReference(blobContainerName); cloudBlobContainer.CreateIfNotExists(); var permissions = cloudBlobContainer.GetPermissions(); permissions.PublicAccess = BlobContainerPublicAccessType.Container; cloudBlobContainer.SetPermissions(permissions); }
public async Task UploadFileAsync(string directoryName, string fileName, string sourceFilePath) { Validate.String(directoryName, "directoryName"); Validate.String(fileName, "fileName"); Validate.String(sourceFilePath, "sourceFilePath"); var rootDirectory = cloudFileShare.GetRootDirectoryReference(); var directoryToUpdate = rootDirectory.GetDirectoryReference(directoryName); var file = directoryToUpdate.GetFileReference(fileName); if (!file.Exists()) { file.Create(long.MaxValue); } await file.UploadFromFileAsync(sourceFilePath); }
public void WriteTextToFile(string directoryName, string fileName, string content) { Validate.String(directoryName, "directoryName"); Validate.String(fileName, "fileName"); Validate.String(content, "content"); var rootDirectory = cloudFileShare.GetRootDirectoryReference(); var directoryToUpdate = rootDirectory.GetDirectoryReference(directoryName); var file = directoryToUpdate.GetFileReference(fileName); if (!file.Exists()) { file.Create(long.MaxValue); } file.UploadText(content); }
public async Task WriteStreamToFileAsync(string directoryName, string fileName, Stream content) { Validate.String(directoryName, "directoryName"); Validate.String(fileName, "fileName"); Validate.Null(content, "content"); var rootDirectory = cloudFileShare.GetRootDirectoryReference(); var directoryToUpdate = rootDirectory.GetDirectoryReference(directoryName); var file = directoryToUpdate.GetFileReference(fileName); if (!file.Exists()) { file.Create(long.MaxValue); } await file.UploadFromStreamAsync(content); }
/// <summary> /// Creates a new TableStorage object /// </summary> /// <param name="tableName">The name of the table to be managed</param> /// <param name="storageConnectionString">The connection string pointing to the storage account (this can be local or hosted in Windows Azure</param> public TableStorageAsync(string tableName, string storageConnectionString) { Validate.TableName(tableName, "tableName"); Validate.String(storageConnectionString, "storageConnectionString"); var cloudStorageAccount = CloudStorageAccount.Parse(storageConnectionString); var requestOptions = new TableRequestOptions { RetryPolicy = new ExponentialRetry(TimeSpan.FromSeconds(1), 3) }; var cloudTableClient = cloudStorageAccount.CreateCloudTableClient(); cloudTableClient.DefaultRequestOptions = requestOptions; cloudTable = cloudTableClient.GetTableReference(tableName); cloudTable.CreateIfNotExists(); }