web-dev-qa-db-ja.com

Azure Storage SDKを使用して、Azure File Storage上のファイルをあるサブフォルダーから別のサブフォルダーに移動するにはどうすればよいですか?

同じ共有内のある場所から別の場所にAzureFileStorage内のファイルを移動する方法を理解しようとしています。

例えば。

source -> \\Share1\someFile.txt
destination -> \\Share1\Foo\Bar\someFile.txt
  • 最初にファイルをコピーしてから、ソースを削除する必要がありますか?
  • 宛先サブディレクトリがない場合はどうなりますか?まず、サブディレクトリごとにCreateIfNotExistsAsyncする必要がありますか?

乾杯!

8
Pure.Krome

これは Azure Storage Filesのスタートガイドに記載されています リファレンスです。

必要なのは、ファイルをある場所から別の場所にコピーするためのStartCopyメソッドです。

// Start the copy operation.
destinationFile.StartCopy(sourceFile);

そして、はい、宛先ディレクトリが存在しない場合は作成する必要があります。

6
sguler

残念ながら、クライアントSDKが依存するREST APIを介して公開される移動/名前変更機能はありません。もちろん、SMBを介してこれらの機能を実行できます。これらの機能はバックログにあります。ただし、実装のタイムラインはまだありません。

3

このような:

public static void MoveTo(this CloudFile source, CloudFileDirectory directory)
{
    var target = directory.GetFileReference(source.Name);
    target.StartCopy(source);
    source.Delete();
}
2
Jerry Nixon

Azure Storage File共有は、SMB互換の共有です。したがって、通常のファイルI/O操作でファイルのコピー/移動を行うことができるはずです。これは、直接のblob操作とは対照的です。直接のblob操作では、特にコンテナーを作成したり、StorageAPIを介してblobコピーを開始したりする必要があります。

1
David Makogon