共用方式為


從 URL 放置範圍

Put Range From URL 作業會建立新的範圍,以作為從URL讀取內容的檔案的一部分認可。 此 API 自 2019-02-02 版起提供。

通訊協定可用性

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

要求

Put Range From URL 要求的建構如下。 建議您使用 HTTPS。 以記憶體帳戶名稱取代 myaccount

方法 要求 URI HTTP 版本
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1

URI 參數

參數 描述
timeout 選擇性。 timeout 參數以秒為單位。 如需詳細資訊,請參閱設定 Azure 檔案儲存體 作業的逾時

要求標頭

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

要求標頭 描述
Authorization 必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊 ,請參閱授權對 Azure 記憶體的要求
Datex-ms-date 必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
x-ms-version 所有授權要求都需要。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本。 針對 Put Range From URL,版本必須是 2019-02-02 或更新版本。
x-ms-copy-source:name 必要。 指定來源檔案的 URL。 此值可以是長度上限為 2 KiB 的 URL,指定檔案。 此值應該像出現在要求 URI 中一樣以 URL 編碼。 原始程式檔必須是公用檔案,或必須透過共用存取簽章獲得授權。 如果來源檔案是公用的,則不需要授權才能執行作業。 以下是來源物件 URL 的一些範例:
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile?<sastoken>
x-ms-copy-source-authorization: <scheme> <signature> 選擇性。 指定複製來源的授權配置和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
只有配置持有人支援 Microsoft Entra。
2020-10-02 版和更新版本支援此標頭。
x-ms-write: { update } 必要。 您只能 update指定 。 如果使用呼叫 clear要求,則要求會失敗。 值 update 會將要求主體所指定的位元組寫入指定的範圍。
Rangex-ms-range 必要。 需要 Rangex-ms-range

指定要寫入的位元組範圍。 您必須指定開始和結束範圍。 此標頭是由 HTTP/1.1 通訊協定規格所定義。

針對更新作業,範圍的大小最多可達 4 MiB。

Azure 檔案儲存體 只接受 和 x-ms-range 標頭的單一位元組範圍Range,且位元組範圍必須以下列格式指定:bytes=startByte-endByte

如果同時指定 Rangex-ms-range,服務會使用 x-ms-range 的值。 如需詳細資訊,請參閱指定 Azure 檔案儲存體 作業的範圍標頭
x-ms-source-range 必要。 指定要從來源讀取的位元組範圍。 您必須指定開始和結束範圍。

Azure 檔案儲存體 只接受 和 x-ms-range 標頭的單一位元組範圍Range,且位元組範圍必須以下列格式指定:bytes=startByte-endByte

來源範圍的大小上限為 4 MiB。 如果來源範圍大小超過 4 MiB,Azure 檔案儲存體 傳回狀態代碼 413 (要求實體太大) 。 如果來源範圍大小不符合目標範圍 (目標範圍) 大小,服務會傳回狀態代碼 400 (錯誤要求) 。
Content-Length 必要。 指定要求主體中所傳輸的位元組數目。 此標頭的值必須設定為 0。 當長度不是 0時,作業會失敗,狀態代碼為 400 (不正確的要求) 。
x-ms-client-request-id 選擇性。 提供客戶端產生的不透明值,其中包含 1-kibibyte (KiB) 設定記錄時記錄在記錄中的字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器收到的要求相互關聯。 如需詳細資訊,請參閱監視 Azure 檔案儲存體
x-ms-source-content-crc64 選擇性。 指定範圍從 URI 的 CRC64 哈希。 此哈希可用來驗證從 URI 傳輸數據期間範圍的完整性。 指定此標頭時,Azure 檔案儲存體 會比較從複製來源到達的內容哈希與這個標頭值。

注意:此 CRC64 哈希不會與檔案一起儲存。

如果兩個哈希不相符,作業會失敗,錯誤碼為 400 (不正確的要求) 。
x-ms-source-if-match-crc64 選擇性。 CRC64 總和檢查碼值。 只有在從提供總和檢查碼讀取來源相符的指定範圍總和檢查碼時,才指定這個標頭來執行作業。

如果不符合指定的條件,Azure 檔案儲存體 傳回狀態代碼 412 (前置條件失敗) 。
x-ms-source-if-none-match-crc64 選擇性。 CRC64 總和檢查碼值。 只有在從來源讀取的指定範圍總和檢查碼與所提供的總和檢查碼不同時,才指定此標頭來執行作業。

如果不符合指定的條件,Azure 檔案儲存體 傳回狀態代碼 412 (前置條件失敗) 。
x-ms-lease-id:<ID> 如果檔案具有作用中的租用,則為必要專案。 若要在具有使用中租用的檔案上執行這項作業,請為此標頭指定有效的租用標識符。
x-ms-client-request-id 選擇性。 提供客戶端產生的不透明值,其中包含 1-kibibyte (KiB) 字元限制,這會在啟用 Azure 儲存體分析 記錄時記錄在分析記錄中。 強烈建議您在將用戶端活動與伺服器收到的要求相互關聯時,請使用此標頭。 如需詳細資訊,請參閱 監視 Blob 記憶體
x-ms-file-last-write-time: { now ¦ preserve } 選擇性。 版本 2021-06-08 和更新版本。 您可以指定下列其中一個選項:
  • now:預設值。 匯報 上次寫入時間時間戳到要求的時間。
  • preserve:保留現有的上次寫入時間戳不變。
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 中的尾端點。 如需詳細資訊,請參閱 命名和參考共用、目錄、檔案和元數據
x-ms-source-allow-trailing-dot: { <Boolean> } 選擇性。 版本 2022-11-02 和更新版本。 布爾值會指定是否應該修剪來源 URL 中的尾端點。 只有當複製來源是 Azure 檔案時,才應該指定此標頭。 任何其他複製來源類型都不支援此標頭。 如需詳細資訊,請參閱 命名和參考共用、目錄、檔案和元數據

要求本文

沒有要求本文。

範例要求

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/mydir/myfile?comp=range HTTP/1.1  
  
Request Headers:  
x-ms-page-write: update  
x-ms-copy-source: http://myaccount2.file.core.windows.net/myshare2/mydirectory2/myfile2?sv=2018-11-09&sp=r&sr=s&se=2018-08-22T09%3A59%3A28.2185790Z&sig=Qn6QEET3Gn%2FhCEVcXuwG7ssatIYiYRM5pNIy4Q3N0cQ%3D 
x-ms-date: Fri, 22 Aug 2018 01:15:50 GMT  
x-ms-version: 2019-02-02 
x-ms-range: bytes=100-1023  
x-ms-source-range: bytes=200-1123  
x-ms-source-content-crc64: 3bedb8b3730fc205 
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  
Content-Length: 0 

回應

回應包括 HTTP 狀態碼和一組回應標頭。

狀態碼

成功的作業會傳回狀態碼「201 (已建立)」。

如需狀態代碼的詳細資訊,請參閱 狀態和錯誤碼

回應標頭

這項作業的回應包括下列標頭。 回應也可能包括其他標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協議規格

回應標頭 描述
ETag 包含可用來有條件地執行作業的值。 此值會以引弧括住。
Last-Modified 上次修改檔案的日期和時間。 日期格式會依照 RFC 1123。 如需詳細資訊,請參閱 標頭中的日期/時間值表示

檔案上的任何寫入作業,包括檔案元數據或屬性的更新,都會變更檔案的上次修改時間。 
x-ms-request-id 可唯一識別提出的要求,而且您可以使用它對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答
x-ms-version 指出用來執行要求的 FileREST API 版本。
Date 服務所產生的 UTC 日期/時間值,表示起始響應的時間。
x-ms-content-crc64 傳回 ,讓用戶端可以檢查訊息內容完整性。 此標頭的值是由 Azure 檔案儲存體計算。 它不一定與要求標頭中指定的值相同。
x-ms-client-request-id 可用來針對要求和對應的回應進行疑難解答。 如果此標頭存在於要求中,且值包含不超過 1,024 個可見的 ASCII 字元,則此標頭的值等於標頭的值 x-ms-client-request-idx-ms-client-request-id如果要求中沒有標頭,它就不會出現在回應中。
x-ms-file-last-write-time 版本 2021-06-08 和更新版本。 檔案的最後一次寫入時間,以 ISO 8601 格式 (例如) 2017-05-10T17:52:33.9551861Z

範例回應

Response Status:  
HTTP/1.1 201 Created  

Response Headers:
Date: Sun, 22 Aug 2020 01:33:35 GMT  
ETag: "0x8CB171BA9E94B0B"  
Last-Modified: Wed, 22 Aug 2020 01:13:31 GMT  
x-ms-version: 2019-02-02
x-ms-content-crc64: 3bedb8b3730fc205 
Content-Length: 0  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

授權

此作業可由帳戶擁有者以及具有寫入此檔案或 Azure 檔案共用許可權的共用存取簽章的任何人呼叫。

備註

Put Range From URL 作業會將數據範圍寫入檔案。 如果在目標上不存在的檔案上呼叫 API,API 會傳回 HTTP 狀態代碼 404 (找不到) 。

在 2020-10-02 版和更新版本中,複製作業的來源支援 Microsoft Entra 授權。

若要建立新的檔案,請呼叫 Create File

Put Range From URL 只有在指定的範圍寫入檔案時,operation 才會傳回 success 201 (Created) 。

檔案讀取作業
Put Range From URL 會使用 Get File 從來源讀取數據和元數據、屬性和 ACL。

檔案更新作業
使用 「update」 選項呼叫 Put Range From URL 會在指定的檔案上執行就地寫入。 指定檔案中的任何內容會以更新覆寫。  

更新作業作業中的 Put Range From URL 範圍大小可高達 4 MiB 大小。 如果您嘗試上傳大於 4 MiB 的範圍,Azure 檔案儲存體 會傳回狀態代碼 413 (RequestEntityTooLarge) 。