列出範圍

List Ranges 作業會傳回有效檔案範圍的清單。

通訊協定可用性

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

要求

您可以建構 List Ranges 要求,如下所示。 建議使用 HTTPS。

方法 要求 URI HTTP 版本
GET https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=rangelist HTTP/1.1
GET https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?sharesnapshot=<DateTime>&comp=rangelist HTTP/1.1
GET https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=rangelist&snapshot=<DateTime>&prevsharesnapshot=<DateTime> HTTP/1.1
GET https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=rangelist&prevsharesnapshot=<DateTime> HTTP/1.1

將要求 URI 中的路徑元件取代為您自己的路徑元件,如下所示:

路徑元件 Description
myaccount 儲存體帳戶的名稱。
myshare 檔案共用的名稱。
mydirectorypath 選擇性。 上層目錄的路徑。
myfile 檔案的名稱。

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

URI 參數

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

參數 描述
sharesnapshot 選擇性。 版本 2017-04-17 和更新版本。 參數 sharesnapshot 是不透明的 DateTime 值,當存在時,會指定要查詢檔案的共用快照集。
timeout 選擇性。 timeout 參數以秒為單位。 如需詳細資訊,請參閱設定Azure 檔案儲存體作業的逾時。
prevsharesnapshot 2020-02-10 版和更新版本中選擇性。 參數 prevsharesnapshot 是不透明的 DateTime 值,當存在時,會指定先前的快照集。

當此參數和 sharesnapshot 都存在時,回應只會包含兩個快照集之間變更的頁面範圍。 只有 prevsharesnapshot 存在時,回應只會包含此快照集與即時共用之間變更的頁面範圍。

已變更的頁面包括已更新和已清除的頁面。

要求標頭

下表描述必要的和選用的要求標頭。

要求標頭 描述
Authorization 必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
Datex-ms-date 必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
x-ms-version 所有已授權要求都需要。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本
Range 選擇性。 指定需列出範圍的位元組範圍 (內含)。 如果省略,則會傳回檔案的所有範圍。
x-ms-range 選擇性。 指定需列出範圍的位元組範圍 (內含)。

如果同時指定 Rangex-ms-range 標頭,服務會使用 x-ms-range 的值。 如需詳細資訊,請參閱指定Azure 檔案儲存體作業的範圍標頭
x-ms-lease-id:<ID> 選擇性。 版本 2019-02-02 和更新版本。 如果指定標頭,只有在檔案的租用目前為使用中,且要求中指定的租用識別碼符合檔案的租用識別碼時,才會執行作業。 否則,作業會失敗,狀態碼為 412 (前置條件失敗) 。
x-ms-client-request-id 選擇性。 提供用戶端產生的不透明值,其中包含設定記錄時記錄的 1 kibibyte (KiB) 字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器接收的要求相互關聯。 如需詳細資訊,請參閱監視Azure 檔案儲存體
x-ms-file-request-intent 如果 Authorization 標頭指定 OAuth 權杖,則為必要專案。 可接受的值為 backup 。 此標頭會 Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action 指定 ,如果在指派給使用 Authorization 標頭授權的身分識別的 RBAC 原則中包含 ,則應該授與 或 Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action 。 適用于 2022-11-02 版和更新版本。
x-ms-allow-trailing-dot: { <Boolean> } 選擇性。 版本 2022-11-02 和更新版本。 布林值會指定是否應該修剪要求 URL 中的尾端點。 如需詳細資訊,請參閱 命名和參考共用、目錄、檔案和中繼資料

要求本文

無。

回應

回應包括 HTTP 狀態碼、一組回應標頭和 XML 格式的回應主體。

狀態碼

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

回應標頭

這項作業的回應包括下列標頭。 回應也可以包含額外的標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協定規格

回應標頭 描述
Last-Modified 上次修改檔案的日期/時間。 任何修改檔案的作業,包括檔案中繼資料或屬性的更新,變更檔案上次修改的時間。
ETag ETag包含值,表示以引號表示檔案的版本。
x-ms-content-length 以位元組為單位的檔案大小。 出現時 prevsharesnapshot ,如果查詢參數存在) ,則值會描述位於 (sharesnapshot 的檔案 sharesnapshot 大小。 否則,它會描述即時檔案的大小。
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如果要求中沒有標頭,則此標頭不會出現在回應中。

回應本文

回應主體包含非重疊的有效範圍清單,依遞增的位址範圍排序。 回應本文的格式如下。

<?xml version="1.0" encoding="utf-8"?>  
<Ranges>  
  <Range>  
    <Start>Start Byte</Start>  
    <End>End Byte</End>  
  </Range>  
  <Range>  
    <Start>Start Byte</Start>  
    <End>End Byte</End>  
  </Range>  
</Ranges>  

如果已清除檔案的整個範圍集,回應本文將不會包含任何範圍。

如果 prevsharesnapshot 已指定,則回應只會包含目標快照集 (或即時檔案) 和上一個快照集之間的頁面。 傳回的範圍包括已更新或清除的兩個範圍。 此回應的格式如下所示:

<?xml version="1.0" encoding="utf-8"?> 
<Ranges> 
  <Range> 
    <Start>Start Byte</Start> 
    <End>End Byte</Start> 
  </Range> 
  <ClearRange> 
    <Start>Start Byte</Start>
    <End>End Byte</Start> 
  </ClearRange> 
  <Range> 
    <Start>Start Byte</Start> 
    <End>End Byte</Start> 
  </Range> 
</Ranges> 

如果已清除檔案的整個頁面集,而且 prevsharesnapshot 未指定 參數,回應本文將不會包含任何範圍。

授權

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

備註

每個範圍的開始和結束位元組位移都包含在內。 請參閱Put Range的範圍更新作業範圍清除作業範例。 這些範例顯示如果您從檔案寫入或清除 512 未對齊的位元組範圍,則會傳回哪些範圍。

在具有大量寫入的高度片段化檔案中,List Ranges 要求會因為內部伺服器逾時而失敗。 當應用程式擷取具有大量寫入作業的檔案範圍時,應一次擷取一個分頁範圍子集。

從 2020-02-10 版開始,您可以使用 參數呼叫 List Rangesprevsharesnapshot 。 這會傳回即時檔案與快照集之間的差異範圍,或快照集上檔案的兩個快照集之間。 藉由使用這些範圍差異,您可以擷取檔案的累加快照集。 如果您想要實作自己的備份解決方案,累加快照集是備份檔案符合成本效益的方式。

呼叫檔案以擷取累加快照集時,檔案上的某些作業會 List Ranges 失敗。 服務會傳回:

  • 如果您在其中一個快照集 (或即時的檔案上呼叫, (找不到) ,如果未 sharesnapshot 指定) ,則為 404。
  • 409 (衝突) ,如果您在 快照集之後覆寫複製的目標檔案上呼叫 ,則為 prevsharesnapshot
  • 409 (衝突) 如果您在擷取所 prevsharesnapshot 指定的快照集之後,呼叫已刪除並重新建立的檔案,且該檔案的名稱和位置相同。

另請參閱

檔案上的作業