Azure存储帐户中有大量Azure页面Blob,需要复制以阻止Blob,以便可以将它们从“冷”设置为“存档”存储层。页面Blob由SQL Server(2016年前)BACKUP TO URL创建。
我曾就此与Microsoft进行过交谈,他们建议将Azure File blob作为AzCopy的垫脚石,例如页面Blob->块Blob(文件存储)->块Blob(Blob存储)。在基于AzCopy或基于GUI的Azure工具中,所有这些都可以正常工作,但是我需要使其自动化并具有一定的弹性。
我遇到的问题是我无法获取Cloud 页面 Blob复制到Cloud 阻止 Blob 不管我怎么投这是一个简化的示例,用于显示(缺少)进度以及我如何进行此操作。我将其包装在生产中的Task <>中,但无法使.StartCopy正常工作。有任何想法吗?
CredentialEntity ce = Utils.GetBlobCredentials();
StorageCredentials sc = new StorageCredentials(ce.Name, ce.Key);
CloudStorageAccount storageAccount =
new CloudStorageAccount(new StorageCredentials(ce.Name, ce.Key), true);
CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer sourceContainer = cloudBlobClient.GetContainerReference(@"archive");
CloudBlobContainer targetContainer = cloudBlobClient.GetContainerReference(@"xfer");
CloudPageBlob source = sourceContainer.GetPageBlobReference("test.bak");
CloudBlockBlob target = targetContainer.GetBlockBlobReference("new.bak");
//target.StartCopy(source);
//target.StartCopyAsync()