Azure ファイル ストレージにいくつかのファイルがあります。
それらをプログラムで Azure Blob にアーカイブしようとしていますが、これを効率的に行う方法がわかりません。
ある BLOB コンテナーから別の BLOB コンテナーへのコピーに関するコード サンプルは引き続き見られますが、 File から Blobへのコピーは見られません。
ファイルのコンテンツ全体をローカルにダウンロードせずに、このコンテンツをアップロードすることはできますか? 多分Uriのものか何かを使用しますか?
より詳しい情報:
- ファイル コンテナーと BLOB コンテナーは同じストレージ アカウントにあります。
- ストレージアカウントは
RA-GRS
ここに私がやろうと思っていたサンプルコードがいくつかありました..しかし、それはちょうど正しく感じられません:((疑似コードも..検証とチェックが省略されています)。
var file = await ShareRootDirectory.GetFileReference(fileName);
using (var stream = new MemoryStream())
{
await file.DownloadToStreamAsync(stream);
// Custom method that basically does:
// 1. GetBlockBlobReference
// 2. UploadFromStreamAsync
await cloudBlob.AddItemAsync("some-container", stream);
}