Beispiel #1
0
        /// <summary>
        /// Moves all blobs from source to destination container
        /// </summary>
        /// <param name="sourceContainer">Source Container</param>
        /// <param name="currentBlobName"> Current Blob name to be retained</param>
        /// <param name="targetContainer">Target Container</param>
        /// <returns>boolean value</returns>
        public bool MoveBlobs(string sourceContainer, string currentBlobName, string targetContainer)
        {
            // Create the blob client.
            this.storageAccountTerrain = this.GetCloudBlobStorageAccount();
            CloudBlobClient blobClientSource = this.storageAccountTerrain.CreateCloudBlobClient();
            CloudBlobClient blobClientTarget = this.storageAccountTerrain.CreateCloudBlobClient();

            // Retrieve a reference to a container.
            CloudBlobContainer blobContainerFrom = blobClientSource.GetContainerReference(sourceContainer);
            CloudBlobContainer blobContainerTo   = blobClientTarget.GetContainerReference(targetContainer);

            IEnumerable <IListBlobItem> listBlob = blobContainerFrom.ListBlobs(null);

            foreach (var blobItem in listBlob)
            {
                CloudBlockBlob blockBlobSource = (CloudBlockBlob)blobItem;
                CloudBlockBlob blockBlob       = blobContainerTo.GetBlockBlobReference(blockBlobSource.Name);
                if (currentBlobName != blockBlobSource.Name)
                {
                    blockBlob.BeginStartCopyFromBlob(blockBlobSource, null, null);
                    blockBlobSource.Delete();
                }
            }

            return(true);
        }