1

Azure Files がまだプレビュー段階であることは承知していますが、ご容赦ください... 私のユーザーはファイルを Azure Files ディレクトリにアップロードできますが、ソース ファイル システムでファイルが読み取り専用としてマークされることがよくあります。これらのファイルを更新する自動プロセスもあります。宛先ファイルが読み取り専用としてマークされている場合、自動化されたプロセスは 409 競合メッセージで失敗します。

ファイルが読み取り専用か、Azure Files 上にないかを判断する方法を知っている人はいますか?

以下にサンプルコードを添付しました。UploadFromStream の呼び出し中にエラーが発生しました。

     private void downloadBlobToAzureFiles( string containerName, string blobName, string destinationFilePath, Guid callID )
    {
       var container = this.destBlobClient.GetContainerReference( containerName );
       var blob = container.GetBlockBlobReference( blobName.ToLower() );
       MemoryStream memStream = new MemoryStream();
       blob.DownloadToStream( memStream );
       memStream.Seek( 0, SeekOrigin.Begin );

       //split directory path and filename
       var fileInfo = new SplitFilePathInfo( destinationFilePath );

       var fileDirectory = this.rootDirectory;
       foreach( var dir in fileInfo.Path.Split( '\\' ) )
       {
           if( string.IsNullOrEmpty( dir ) ) continue;

           fileDirectory = fileDirectory.GetDirectoryReference( dir );
           fileDirectory.CreateIfNotExists();
       }

       CloudFile cloudFile = fileDirectory.GetFileReference( fileInfo.FileName );
       cloudFile.UploadFromStream( memStream );
}
4

0 に答える 0