2017-06-25 8 views
0

ListFilesAndDirectories(https://docs.microsoft.com/en-us/dotnet/api/microsoft.windowsazure.storage.file.cloudfiledirectory.listfilesanddirectories?view=azure-dotnet)を呼び出すときに、AzureにIListFileItemメタデータを含める方法はありますか?Azureファイルストレージにリスト要求のファイルメタデータが含まれています

私は、ファイルのメタデータを活用し、スクリプトをできるだけ速く、できるだけ使用したくない単純なバックアップスクリプトを作成しています。したがって、メタデータを取得するために各ファイルに対して後続のリクエストを発行する必要はありません。

答えて

2

今日の時点でそれは不可能です。メタデータを取得するために、リスト結果に返される各ファイルとディレクトリに対して別々の呼び出しを行う必要があります。

Cloud​File​Directory.​List​Files​And​Directoriesは本質的にはREST API呼び出しのラッパーであり、この特定の操作では、ストレージサービスにファイル/ディレクトリメタデータを返すように指示するリクエストパラメータは使用されません(blobをBlobコンテナしかし)。

1

私が知る限り、ListFilesAndDirectoriesメソッドはList Directories and Files rest apiを呼び出します。ファイルとディレクトリのリストを要求します。しかし、結果にはファイルとディレクトリのメタデータは含まれません。

応答は、このようなものです:あなたは、ファイルやディレクトリのmatedataを取得したい場合は、唯一の方法は、ファイルを取得するために、各ファイルに対して(FetchAttributesメソッドを呼び出して)別の要求を送信しているので、

<?xml version="1.0" encoding="utf-8"?> 
<EnumerationResults ServiceEndpoint="https://myaccount.file.core.windows.net/” ShareName="myshare" DirectoryPath="directory-path"> 
    <Marker>string-value</Marker> 
    <MaxResults>int-value</MaxResults> 
    <Prefix>prefix-value</Prefix> 
    <Entries> 
    <File> 
     <Name>file-name</Name> 
     <Properties> 
     <Content-Length>size-in-bytes</Content-Length> 
     </Properties> 
    </File> 
    <Directory> 
     <Name>directory-name</Name> 
    </Directory> 
    </Entries> 
    <NextMarker /> 
</EnumerationResults> 

またはディレクトリのママデータです。このような

コード:

 foreach (IListFileItem item in result) 
     { 
      if (item is CloudFile) 
      { 
       var cloudFile = (CloudFile)item; 
       cloudFile.FetchAttributes(); 
       // You can now access metadata and properties 
       var rest = cloudFile.Metadata; 
       //cloudFile.Properties 
      } 
      else if (item is CloudFileDirectory) 
      { 
       var cloudFileDirectory = (CloudFileDirectory)item; 
       // You can now access metadata and properties 
       cloudFileDirectory.FetchAttributes(); 
       var rest = cloudFileDirectory.Metadata; 
       //cloudFileDirectory.Metadata 
       //cloudFileDirectory.Properties 
      } 
     } 
関連する問題