列出範圍
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 儲存體提出要求。 |
Date 或 x-ms-date |
必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求。 |
x-ms-version |
所有已授權要求都需要。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本。 |
Range |
選擇性。 指定需列出範圍的位元組範圍 (內含)。 如果省略,則會傳回檔案的所有範圍。 |
x-ms-range |
選擇性。 指定需列出範圍的位元組範圍 (內含)。 如果同時指定 Range 和 x-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 檔案儲存體版本。 |
Date 或 x-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 Ranges
prevsharesnapshot
。 這會傳回即時檔案與快照集之間的差異範圍,或快照集上檔案的兩個快照集之間。 藉由使用這些範圍差異,您可以擷取檔案的累加快照集。 如果您想要實作自己的備份解決方案,累加快照集是備份檔案符合成本效益的方式。
呼叫檔案以擷取累加快照集時,檔案上的某些作業會 List Ranges
失敗。 服務會傳回:
- 如果您在其中一個快照集 (或即時的檔案上呼叫, (找不到) ,如果未
sharesnapshot
指定) ,則為 404。 - 409 (衝突) ,如果您在 快照集之後覆寫複製的目標檔案上呼叫 ,則為
prevsharesnapshot
。 - 409 (衝突) 如果您在擷取所
prevsharesnapshot
指定的快照集之後,呼叫已刪除並重新建立的檔案,且該檔案的名稱和位置相同。