Exemple #1
0
        /// <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);
        }
Exemple #3
0
        /// <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();
        }
Exemple #8
0
        /// <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();
        }
Exemple #11
0
        /// <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();
        }
Exemple #14
0
        /// <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();
        }
Exemple #15
0
        /// <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());
        }
Exemple #16
0
        /// <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());
        }
Exemple #17
0
        /// <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());
        }
Exemple #19
0
        /// <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();
        }