Пример #1
0
        static async Task MigrateBlobs(BlobLocationInfo from, BlobLocationInfo to)
        {
            var fromClient = CloudStorageAccount.Parse(from.ConnectionString).CreateCloudBlobClient();
            var toClient   = CloudStorageAccount.Parse(to.ConnectionString).CreateCloudBlobClient();

            var fromContainer = fromClient.GetContainerReference(from.ContainerName);
            var toContainer   = toClient.GetContainerReference(to.ContainerName);

            var blobs = await fromContainer.ListBlobsSegmentedAsync(from.VirtualDirectoryPath, true, BlobListingDetails.Metadata, null, new BlobContinuationToken(), new BlobRequestOptions(), new OperationContext()).ConfigureAwait(false);

            await MoveBlobs(blobs.Results, toContainer, to.VirtualDirectoryPath).ConfigureAwait(false);
        }
Пример #2
0
        static async Task Main(string[] args)
        {
            var from = new BlobLocationInfo
            {
                ConnectionString     = "AZURE_STORAGE_CONNECTION_STRING",
                ContainerName        = "CONTAINER_NAME",
                VirtualDirectoryPath = string.Empty
            };

            var to = new BlobLocationInfo
            {
                ConnectionString     = "AZURE_STORAGE_CONNECTION_STRING",
                ContainerName        = "CONTAINER_NAME",
                VirtualDirectoryPath = string.Empty
            };


            await Task.WhenAll(
                MigrateBlobs(from, to)
                ).ConfigureAwait(false);
        }