Placera intervall
Åtgärden Put Range
skriver ett intervall med byte till en fil. Den här åtgärden stöds i version 2025-05-05 och senare för filresurser med NFS-protokollet aktiverat.
Protokolltillgänglighet
Aktiverat filresursprotokoll | Tillgänglig |
---|---|
SMB |
![]() |
NFS |
![]() |
Begäran
Den Put Range
begäran skapas på följande sätt. Vi rekommenderar att du använder HTTPS.
Metod | Begärande-URI | HTTP-version |
---|---|---|
STÄLLA | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=range |
HTTP/1.1 |
Ersätt sökvägskomponenterna som visas i begärande-URI:n med dina egna enligt följande:
Sökvägskomponent | Beskrivning |
---|---|
myaccount |
Namnet på ditt lagringskonto. |
myshare |
Namnet på filresursen. |
mydirectorypath |
Valfri. Sökvägen till den överordnade katalogen. |
myfile |
Namnet på filen. |
Information om namngivningsbegränsningar för sökvägar finns i Namn och referensresurser, kataloger, filer och metadata.
URI-parametrar
Följande ytterligare parametrar kan anges på begärande-URI:n.
Parameter | Beskrivning |
---|---|
timeout |
Valfri. Parametern timeout uttrycks i sekunder. Mer information finns i Ange tidsgränser för filtjänståtgärder. |
Begärandehuvuden
De obligatoriska och valfria begäranderubrikerna beskrivs i följande tabeller:
Vanliga begärandehuvuden
Begärandehuvud | Beskrivning |
---|---|
Authorization |
Krävs. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage. |
Date eller x-ms-date |
Krävs. Anger UTC (Coordinated Universal Time) för begäran. Mer information finns i Auktorisera begäranden till Azure Storage. |
x-ms-version |
Krävs för alla auktoriserade begäranden. Anger vilken version av åtgärden som ska användas för den här begäran. Den här åtgärden stöds i version 2025-05-05 och senare för filresurser med NFS-protokollet aktiverat. Mer information finns i Versionshantering för Azure Storage-tjänsterna. |
Range eller x-ms-range |
Antingen Range eller x-ms-range krävs.Anger det intervall med byte som ska skrivas. Både början och slutet av intervallet måste anges. Det här huvudet definieras av HTTP/1.1-protokollspecifikationen. För en uppdateringsåtgärd kan intervallet vara upp till 4 MiB i storlek. För en tydlig åtgärd kan intervallet vara upp till värdet för filens fulla storlek. Filtjänsten accepterar endast ett enda byteintervall för Range - och x-ms-range -huvudena, och byteintervallet måste anges i följande format: bytes=startByte-endByte .Om både Range och x-ms-range anges använder tjänsten värdet för x-ms-range . Mer information finns i Ange intervallrubriken för Filtjänståtgärder. |
Content-Length |
Krävs. Anger antalet byte som överförs i begärandetexten. När x-ms-write -huvudet är inställt på clear måste värdet för det här huvudet anges till 0 . |
Content-MD5 |
Valfri. En MD5-hash för innehållet. Denna hash används för att verifiera dataintegriteten under transporten. När Content-MD5 -huvudet har angetts jämför Azure Files hashen för innehållet som har anlänt med det rubrikvärde som skickades. Om de två hashvärdena inte matchar misslyckas åtgärden med felkoden 400 (felaktig begäran).Content-MD5 -huvudet tillåts inte när x-ms-write -huvudet är inställt på clear . Om den ingår i begäran returnerar filtjänsten statuskod 400 (felaktig begäran). |
x-ms-write: { update ¦ clear } |
Krävs. Du måste ange något av följande alternativ:
|
x-ms-lease-id:<ID> |
Krävs om filen har ett aktivt lån. Tillgänglig för version 2019-02-02 och senare. Det här huvudet ignoreras om filen finns på en filresurs med NFS-protokollet aktiverat, vilket inte stöder fillån. |
x-ms-client-request-id |
Valfri. Tillhandahåller ett klientgenererat, täckande värde med en kibibytesteckengräns (KiB) som registreras i loggarna när loggningen konfigureras. Vi rekommenderar starkt att du använder det här huvudet för att korrelera aktiviteter på klientsidan med begäranden som servern tar emot. Mer information finns i Övervaka Azure Files-. |
x-ms-file-last-write-time: { now ¦ preserve } |
Valfri. Version 2021-06-08 och senare. Du kan ange något av följande alternativ:
|
x-ms-file-request-intent |
Krävs om Authorization rubrik anger en OAuth-token. Acceptabelt värde är backup . Det här huvudet anger att Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action eller Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action ska beviljas om de ingår i RBAC-principen som tilldelats den identitet som är auktoriserad med hjälp av Authorization -huvudet. Tillgänglig för version 2022-11-02 och senare. |
x-ms-allow-trailing-dot: { <Boolean> } |
Valfri. Version 2022-11-02 och senare. Det booleska värdet anger om en avslutande punkt som finns i begärande-URL:en ska trimmas eller inte. Det här huvudet ignoreras om målet finns på en filresurs med NFS-protokollet aktiverat, vilket stöder avslutande punkt som standard. Mer information finns i Namngivning och referens av resurser, kataloger, filer och metadata. |
Endast SMB-begärandehuvuden
Ingen.
Endast NFS-begärandehuvuden
Ingen.
Begärandetext
Data som representerar det intervall som ska laddas upp.
Exempelbegäran: Uppdatera byteintervall
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1
Request Headers:
x-ms-write: update
x-ms-date: Mon, 27 Jan 2014 22:15:50 GMT
x-ms-version: 2014-02-14
x-ms-range: bytes=0-65535
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=
Content-Length: 65536
Exempelbegäran: Rensa byteintervall
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1
Request Headers:
Range: bytes=1024-2048
x-ms-write: clear
x-ms-date: Mon, 27 Jan 2014 23:37:35 GMT
x-ms-version: 2014-02-14
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=
Svar
Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.
Statuskod
En lyckad åtgärd returnerar statuskoden 201 (skapad). Mer information om statuskoder finns i Status och felkoder.
Svarshuvuden
Svaret för den här åtgärden innehåller rubrikerna i följande tabeller. Svaret kan också innehålla ytterligare standard-HTTP-huvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.
Vanliga svarshuvuden
Svarsrubrik | Beskrivning |
---|---|
ETag |
ETag innehåller ett värde som representerar filens version. Värdet omges av citattecken. |
Last-Modified |
Returnerar datum och tid då katalogen senast ändrades. Datumformatet följer RFC 1123. Mer information finns i Representera datum/tid-värden i rubriker. Alla åtgärder som ändrar resursen eller dess egenskaper eller metadata uppdaterar den senaste ändrade tiden. Åtgärder på filer påverkar inte resursens senaste ändringstid. |
Content-MD5 |
Det här huvudet returneras så att klienten kan söka efter meddelandets innehållsintegritet. Värdet för det här huvudet beräknas av filtjänsten. Det är inte nödvändigtvis samma som värdet som anges i begäranderubrikerna. |
x-ms-request-id |
Identifierar den begäran som gjordes unikt och kan användas för att felsöka begäran. Mer information finns i Felsöka API-åtgärder. |
x-ms-version |
Anger den filtjänstversion som användes för att köra begäran. |
Date |
Ett UTC-datum/tid-värde som genereras av tjänsten, vilket anger den tid då svaret initierades. |
x-ms-request-server-encrypted: { true ¦ false } |
Version 2017-04-17 och senare. Värdet för det här huvudet är inställt på true om innehållet i begäran har krypterats med hjälp av den angivna algoritmen. Annars är värdet inställt på false . |
x-ms-client-request-id |
Det här huvudet kan användas för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet för x-ms-client-request-id -huvudet om det finns i begäran och värdet inte innehåller fler än 1 024 synliga ASCII-tecken. Om x-ms-client-request-id -huvudet inte finns i begäran finns det inte i svaret. |
x-ms-file-last-write-time |
Version 2021-06-08 och senare. Den senaste skrivtiden för filen i FORMATET ISO 8601. Exempel: 2017-05-10T17:52:33.9551861Z . |
Endast SMB-svarshuvuden
Ingen.
Endast NFS-svarshuvuden
Ingen.
Svarstext
Ingen.
Exempelsvar
Response Status:
HTTP/1.1 201 Created
Response Headers:
Transfer-Encoding: chunked
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==
Date:Mon, 27 Jan 2014 22:33:35 GMT
ETag: "0x8CB171BA9E94B0B"
Last-Modified: Mon, 27 Jan 2014 12:13:31 GMT
x-ms-version: 2014-02-14
Content-Length: 0
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0
Tillstånd
Endast kontoägaren kan anropa den här åtgärden.
Anmärkningar
Åtgärden Put Range
skriver ett intervall med byte till en fil. Den här åtgärden kan bara anropas på en befintlig fil. Det går inte att anropa för att skapa en ny fil. Anropar Put Range
med ett filnamn som för närvarande inte finns returnerar statuskod 404 (hittades inte).
Om du vill skapa en ny fil anropar du Skapa fil. En fil kan vara upp till 4 TiB i storlek.
En Put Range
åtgärd tillåts 10 minuter per MiB att slutföra. Om åtgärden tar längre tid än 10 minuter per MiB i genomsnitt överskrider den tidsgränsen.
Om filen har ett aktivt lån måste klienten ange ett giltigt låne-ID för begäran om att skriva ett intervall.
Uppdateringsåtgärder för intervall
När du anropar Put Range
med alternativet Update
utförs en skrivning på plats på den angivna filen. Allt innehåll i det angivna intervallet skrivs över med uppdateringen. Varje intervall som skickas med Put Range
för en uppdateringsåtgärd kan vara upp till 4 MiB i storlek. Om du försöker ladda upp ett intervall som är större än 4 MiB returnerar tjänsten statuskod 413 (Begärandeentiteten är för stor).
Rensa intervallåtgärder
Om du anropar Put Range
med alternativet Clear
frigörs utrymmet i lagringen så länge det angivna intervallet är 512 byte justerat. Intervall som har rensats spåras inte längre som en del av filen och returneras inte i listintervallet svar. Om det angivna intervallet inte är 512 byte justerat skriver åtgärden nollor till början eller slutet av intervallet som inte är 512 byte justerat och frigör resten av intervallet inuti som är 512 byte justerat.
Alla intervall som inte har rensats returneras i listintervall svar. Ett exempel finns i avsnittet "Sample unaligned clear range" som följer.
Fillån
Du kan anropa Lease File för att få ett exklusivt skrivlås till filen mot andra skrivningar under en oändlig varaktighet.
SMB-klientbyteintervall låser
SMB-protokollet tillåter byteintervalllås för att hantera läs- och skrivåtkomst till regioner i en fil. Det innebär att Put Range
på en fil som finns på en filresurs med SMB-protokollet aktiverat misslyckas om en SMB-klient har ett lås som överlappar det intervall som anges av den Put Range
åtgärden med hjälp av x-ms-range
. Mer information finns i Hantera fillås.
NFS-klientens byteintervall låser
POSIX-byteintervalllås för NFS-protokollet är rådgivande, därför misslyckas inte Put Range
på en fil som finns på en filresurs med NFS-protokoll aktiverat även om det finns ett byteintervalllås som står i konflikt med en NFS-klient.
SMB-klientkatalogen ändrar meddelanden
SMB-protokollet stöder funktionen FindFirstChangeNotification API som gör att program kan identifiera när ändringar sker i filsystemet. Den kan identifiera när en fil eller katalog läggs till, ändras eller tas bort och när en fils storlek, attribut eller säkerhetsbeskrivningar ändras. SMB-klienter som använder det här API:et får inte meddelanden när en fil- eller katalogändring sker via AZURE Files REST API. Ändringar som orsakas av andra SMB-klienter sprider dock meddelanden.
Exempel på icke-justerat
Anta att en fil skapas med Skapa fil och att ett enda intervall skrivs med Put Range
, enligt följande:
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1
Request Headers:
x-ms-write: updte
x-ms-date: Mon, 27 Jan 2014 22:15:50 GMT
x-ms-version: 2014-02-14
x-ms-range: bytes=0-65536
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=
Content-Length: 65536
Om du utför en listintervall åtgärden på filen returneras följande svarstext:
<?xml version="1.0" ecoding="utf-8"?>
<Ranges>
<Range>
<Start>0</Start>
<End>65536</End>
</Range>
</Ranges>
Anta nu att en icke-justerad byteintervallåtgärd utförs:
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1
Request Headers:
Range: bytes=768-2304
x-ms-write: clear
x-ms-date: Mon, 27 Jan 2014 23:37:35 GMT
x-ms-version: 2014-02-14
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=
En efterföljande listintervall på filen returnerar följande svarstext:
<?xml version="1.0" encoding="utf-8"?>
<Ranges>
<Range>
<Start>0</Start>
<End>1024</End>
</Range>
<Range>
<Start>2048</Start>
<End>65535</End>
</Range>
</Ranges>
Observera att nollor har skrivits till det ojusterade utrymmet från 768-1024 och 2048-2304.
Put Range
stöds inte i en resursögonblicksbild, vilket är en skrivskyddad kopia av en resurs. Ett försök att utföra den här åtgärden på en resursögonblicksbild misslyckas med 400 (InvalidQueryParameterValue).