我正在使用这种方法来加密文件并将它们存储在 Azure 块 Blob 中。我想将加密的 blob 复制到另一个 blob 存储帐户并在此过程中对其进行解密。我知道可以执行完全在 Azure 中异步运行的“复制 blob”操作,并且不会在传输过程中通过我的本地计算机下载 blob 内容。我相信这是通过CloudBlockBlob.StartCopy
方法完成的。但是是否可以使用加密文件来做到这一点,并在传输到另一个存储帐户的过程中对其进行解密?
按照上面的链接,我的代码如下所示。blob.OpenRead
工作但blob2.StartCopy
不工作。
BlobEncryptionPolicy policy = new BlobEncryptionPolicy(null, cloudResolver);
BlobRequestOptions options = new BlobRequestOptions() { EncryptionPolicy = policy };
CloudBlockBlob blob = container.GetBlockBlobReference("MyFile.txt");
//var blobStream = blob.OpenRead(null, options); //this works
CloudBlockBlob blob2 = container2.GetBlockBlobReference("MyFile2.txt");
blob2.StartCopy(blob, null, null, options, null); //this fails with: The remote server returned an error: (404) Not Found.