共用方式為


列出目錄和檔案

List Directories and Files 作業會傳回指定之共用或目錄底下的檔案或目錄清單。 它只會列出目錄階層的單一層級內容。 啟用 NFS 通訊協定的檔案共用版本 2025-05-05 和更新版本支援這項作業。

通訊協定可用性

已啟用檔案共享通訊協定 可用
SMB 是
NFS 是

請求

List Directories and Files 要求建構方式如下。 建議您使用 HTTPS。

方法 要求 URI HTTP 版本
獲取 https://myaccount.file.core.windows.net/myshare/mydirectorypath?restype=directory&comp=list HTTP/1.1
獲取 https://myaccount.file.core.windows.net/myshare/mydirectorypath?restype=directory&sharesnapshot=<DateTime>&comp=list HTTP/1.1

以您自己的方式取代要求 URI 中顯示的路徑元件,如下所示:

路徑元件 描述
myaccount 記憶體帳戶的名稱。
myshare 檔案共享的名稱。
mydirectorypath 目錄的路徑。

如需路徑命名限制的詳細資訊,請參閱 命名和參考共用、目錄、檔案和元資料

URI 參數

您可以在 URI 上指定下列其他參數。

一般 URI 參數

參數 描述
prefix 自選。 版本 2016-05-31 和更新版本。 篩選結果,只傳回名稱開頭為指定前置詞的檔案和目錄。
sharesnapshot 自選。 版本 2017-04-17 和更新版本。 共用快照集參數是一個不透明的 DateTime 值,當存在時,會指定要查詢檔案和目錄清單的共用快照集。
marker 自選。 字串值,識別要與下一個清單作業一起傳回的清單部分。 如果傳回的清單未完成,此作業會傳回響應主體內的標記值。 接著,您可以使用後續呼叫中的標記值來要求下一組清單專案。

標記值對用戶端不透明。
maxresults 自選。 指定要傳回的檔案或目錄數目上限。 如果要求未指定 maxresults,或指定大於 5,000 的值,則伺服器最多會傳回 5,000 個專案。

maxresults 設定為小於或等於零的值,會導致錯誤回應碼 400 (不正確的要求)。
timeout 自選。 timeout 參數是以秒為單位來表示。 如需詳細資訊,請參閱 設定 Azure 檔案服務作業逾時

僅限 SMB 的 URI 參數

參數 描述
include={Timestamps, ETag, Attributes, PermissionKey} 選擇性地從 2020-04-08 版開始提供。 指定要包含在回應中的一或多個屬性:
  • Timestamps
  • ETag
  • Attributes (Win32 檔案屬性)
  • PermissionKey

若要在 URI 上指定多個選項,您必須以 URL 編碼的逗號分隔每個選項(%82)。

指定此參數時,會隱含假設標頭 x-ms-file-extended-info 為 true。

僅限 NFS URI 參數

沒有。

要求標頭

下表說明必要和選擇性的要求標頭:

常見的要求標頭

要求標頭 描述
Authorization 必填。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱 授權對 Azure 記憶體的要求
Datex-ms-date 必填。 指定要求的國際標準時間(UTC)。 如需詳細資訊,請參閱 授權對 Azure 記憶體的要求
x-ms-version 所有已授權要求的必要專案。 指定要用於此要求的作業版本。 啟用 NFS 通訊協定的檔案共用版本 2025-05-05 和更新版本支援這項作業。

如需詳細資訊,請參閱 Azure 記憶體服務的版本設定
x-ms-client-request-id 自選。 提供客戶端產生的不透明值,其中包含設定記錄時記錄的 1-kibibyte (KiB) 字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器接收的要求相互關聯。 如需詳細資訊,請參閱 監視 Azure 檔案服務
x-ms-file-request-intent 如果 Authorization 標頭指定 OAuth 令牌,則為必要項。 可接受的值為 backup。 此標頭指定,如果 Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/actionMicrosoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action 包含在指派給使用 Authorization 標頭授權的身分識別中,則應該授與這些 Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action。 適用於 2022-11-02 版和更新版本。
x-ms-allow-trailing-dot: { <Boolean> } 自選。 版本 2022-11-02 和更新版本。 布爾值會指定是否應該修剪要求 URL 中的尾端點。

如果目標位於已啟用 NFS 通訊協定的檔案共用上,預設支援尾端點,則會忽略此標頭。

如需詳細資訊,請參閱 命名和參考共用、目錄、檔案和元資料

僅限SMB要求標頭

要求標頭 描述
x-ms-file-extended-info: {true} 自選。 版本 2020-04-08 和更新版本。 如果 include 查詢參數不是空的,則隱含假設此標頭為 true。 如果為 true,表示檔案大小的檔案 Content-Length 屬性將會是最新的。

僅限 NFS 要求標頭

沒有。

要求本文

沒有。

回應

回應包含 HTTP 狀態代碼、一組響應標頭,以及 XML 格式的回應本文。

狀態代碼

成功的作業會傳回狀態代碼 200 (確定)。 如您需狀態代碼的相關資訊,請參閱 狀態和錯誤碼

回應標頭

此作業的回應包含下表中的標頭。 回應也可以包含額外的標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協定規格,

常見的響應標頭

回應標頭 描述
Content-Type 指定傳回結果的格式。 目前這個值是 application/xml
x-ms-request-id 此標頭可唯一識別已提出的要求,並可用於對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答
x-ms-version 指出用來執行要求的 Azure 檔案服務版本。
Datex-ms-date UTC 日期/時間值,指出起始響應的時間。 服務會產生此值。
x-ms-client-request-id 您可以使用此標頭來針對要求和對應的回應進行疑難解答。 如果要求中有 x-ms-client-request-id 標頭的值,則此標頭的值等於 。 此值最多為1024個可見的ASCII字元。 如果要求中沒有 x-ms-client-request-id 標頭,此標頭就不會出現在回應中。

僅限SMB回應標頭

沒有。

僅限 NFS 回應標頭

沒有。

回應本文

XML 回應的格式如下所示。

只有在您在要求 URI 上指定 MarkerShareSnapshotMaxResults 元素時,才會存在。 只有當清單結果未完成時,NextMarker 元素才會有值。

檔案清單中會傳回 Content-Length 專案,指出檔案的大小。 不過,此值可能不會 up-to-date,因為SMB或 NFS 用戶端可能已在本機修改檔案。 Content-Length 的值可能不會反映事實,直到句柄關閉,或SMB作業鎖定中斷為止。 若要擷取目前的屬性值,請針對已啟用SMB通訊協定的檔案共用上的目錄使用 x-ms-file-extended-info: true,或針對特定檔案呼叫 取得檔案屬性

在 2021-12-02 版和更新版本中,List Directory and Files 會以百分比編碼(每個 RFC 2396)全部 FileNameDirectoryNamePrefixDirectoryPath 元素值,這些值在 XML 中包含無效字元(特別是 U+FFFE 或 U+FFFF)。 如果編碼,NamePrefixEnumerationResults 元素將會包含 Encoded=true 屬性。 這隻會針對 XML 中含有無效字元的 Name 專案值發生,而不是回應中的其餘 Name 專案。

已啟用SMB通訊協定之檔案共享的回應本文

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ServiceEndpoint="https://myaccount.file.core.windows.net/" ShareName="myshare" ShareSnapshot="date-time" DirectoryPath="directory-path">  
  <Marker>string-value</Marker>
  <Prefix>string-value</Prefix>
  <MaxResults>int-value</MaxResults>
  <DirectoryId>directory-id</DirectoryId>
  <Entries>
    <File>
      <FileId>file-id</FileId>
      <Name>file-name</Name>  
      <Properties>  
        <Content-Length>size-in-bytes</Content-Length>
        <CreationTime>datetime</CreationTime>
        <LastAccessTime>datetime</LastAccessTime>
        <LastWriteTime>datetime</LastWriteTime>
        <ChangeTime>datetime</ChangeTime>
        <Last-Modified>datetime</Last-Modified>
        <Etag>etag</Etag>
      </Properties>
      <Attributes>Archive|Hidden|Offline|ReadOnly</Attributes>
      <PermissionKey>4066528134148476695*1</PermissionKey>
    </File>  
    <Directory>
      <FileId>file-id</FileId>
      <Name>directory-name</Name>  
      <Properties>
        <CreationTime>datetime</CreationTime>
        <LastAccessTime>datetime</LastAccessTime>
        <LastWriteTime>datetime</LastWriteTime>
        <ChangeTime>datetime</ChangeTime>
        <Last-Modified>datetime</Last-Modified>
        <Etag>etag</Etag>
      </Properties>
      <Attributes>Archive|Hidden|Offline|ReadOnly</Attributes>
      <PermissionKey>4066528134148476695*1</PermissionKey>
    </Directory>  
  </Entries>  
  <NextMarker />  
</EnumerationResults>  

在 2020-04-08、2020-06-12 和 2020-08-04 版中,如果標頭 FileId 為 true,則會傳回檔案和目錄 x-ms-file-extended-info。 在 2020-10-02 版和更新版本中,檔案和目錄一律會傳回 FileId

在 2020-04-08 版中,include={timestamps} 會傳回下列時間戳屬性:CreationTimeLastAccessTimeLastWriteTime。 在版本 2020-06-12 和更新版本中,include={timestamps} 會傳回下列時間戳屬性:CreationTimeLastAccessTimeLastWriteTimeChangeTimeLast-Modified

在 2020-10-02 版和更新版本中,回應中會傳回 DirectoryId。 它會指定呼叫 API 的目錄 FileId

已啟用 NFS 通訊協定之檔案共享的回應本文

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

時間戳欄位的日期時間格式和 API 版本

元素 日期時間格式 範例值 API 版本
CreationTime ISO 8601 2020-09-17T13:38:03.2740000Z 2020-04-08 和更新版本
LastAccessTime ISO 8601 2020-09-17T13:38:03.2740000Z 2020-04-08 和更新版本
LastWriteTime ISO 8601 2020-09-17T13:38:03.2740000Z 2020-04-08 和更新版本
ChangeTime ISO 8601 2020-09-17T13:38:03.2740000Z 2020-06-12 和更新版本
Last-Modified RFC 1123 Thu, 17 Sep 2020 13:38:07 GMT 2020-06-12 和更新版本

授權

只有帳戶擁有者可以呼叫這項作業。

言論

Content-Length 項目中傳回的值會對應至檔案 x-ms-content-length 標頭的值。

每個傳回 Directory 專案都會計入結果上限,就像每個 File 項目一樣。 檔案和目錄會以語彙排序順序在回應本文中。

清單僅限於目錄階層的單一層級。 若要列出多個層級,您可以反覆進行多個呼叫。 使用從結果傳回的 Directory 值,後續呼叫 List Directories and Files

另請參閱

目錄上的 作業