Bereik plaatsen
De Put Range
-bewerking schrijft een bereik van bytes naar een bestand. Deze bewerking wordt ondersteund in versie 2025-05-05 en hoger voor bestandsshares waarvoor het NFS-protocol is ingeschakeld.
Protocol voor bestandsshare ingeschakeld | Beschikbaar |
---|---|
SMB |
![]() |
NFS |
![]() |
De Put Range
aanvraag wordt als volgt samengesteld. U wordt aangeraden HTTPS te gebruiken.
Methode | Aanvraag-URI | HTTP-versie |
---|---|---|
ZETTEN | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=range |
HTTP/1.1 |
Vervang de padonderdelen in de aanvraag-URI als volgt door uw eigen padonderdelen:
Padonderdeel | Beschrijving |
---|---|
myaccount |
De naam van uw opslagaccount. |
myshare |
De naam van uw bestandsshare. |
mydirectorypath |
Facultatief. Het pad naar de bovenliggende map. |
myfile |
De naam van het bestand. |
Zie Naam- en referentieshares, mappen, bestanden en metagegevensvoor meer informatie over naamgevingsbeperkingen voor paden.
De volgende aanvullende parameters kunnen worden opgegeven op de aanvraag-URI.
Parameter | Beschrijving |
---|---|
timeout |
Facultatief. De parameter timeout wordt uitgedrukt in seconden. Zie Time-outs instellen voor bestandsservicebewerkingenvoor meer informatie. |
De vereiste en optionele aanvraagheaders worden beschreven in de volgende tabellen:
Aanvraagheader | Beschrijving |
---|---|
Authorization |
Vereist. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening op. Zie Aanvragen autoriseren voor Azure Storagevoor meer informatie. |
Date of x-ms-date |
Vereist. Hiermee geeft u de Coordinated Universal Time (UTC) voor de aanvraag. Zie Aanvragen autoriseren voor Azure Storagevoor meer informatie. |
x-ms-version |
Vereist voor alle geautoriseerde aanvragen. Hiermee geeft u de versie van de bewerking die moet worden gebruikt voor deze aanvraag. Deze bewerking wordt ondersteund in versie 2025-05-05 en hoger voor bestandsshares waarvoor het NFS-protocol is ingeschakeld. Zie Versiebeheer voor de Azure Storage-servicesvoor meer informatie. |
Range of x-ms-range |
Range of x-ms-range is vereist.Hiermee geeft u het bereik van bytes dat moet worden geschreven. Zowel het begin als het einde van het bereik moet worden opgegeven. Deze header wordt gedefinieerd door de HTTP/1.1-protocolspecificatie. Voor een updatebewerking kan het bereik maximaal 4 MiB groot zijn. Voor een duidelijke bewerking kan het bereik maximaal de waarde van de volledige grootte van het bestand hebben. De Bestandsservice accepteert slechts één bytebereik voor de Range - en x-ms-range -headers en het bytebereik moet worden opgegeven in de volgende indeling: bytes=startByte-endByte .Als zowel Range als x-ms-range zijn opgegeven, gebruikt de service de waarde van x-ms-range . Zie Geef de bereikheader op voor bestandsservicebewerkingenvoor meer informatie. |
Content-Length |
Vereist. Hiermee geeft u het aantal bytes dat wordt verzonden in de aanvraagbody. Wanneer de x-ms-write koptekst is ingesteld op clear , moet de waarde van deze koptekst worden ingesteld op 0 . |
Content-MD5 |
Facultatief. Een MD5-hash van de inhoud. Deze hash wordt gebruikt om de integriteit van de gegevens tijdens het transport te controleren. Wanneer de Content-MD5 header is opgegeven, vergelijkt Azure Files de hash van de inhoud die is aangekomen met de headerwaarde die is verzonden. Als de twee hashes niet overeenkomen, mislukt de bewerking met foutcode 400 (Ongeldige aanvraag).De Content-MD5 -header is niet toegestaan wanneer de x-ms-write koptekst is ingesteld op clear . Als deze is opgenomen in de aanvraag, retourneert de bestandsservice statuscode 400 (Ongeldige aanvraag). |
x-ms-write: { update ¦ clear } |
Vereist. U moet een van de volgende opties opgeven:
|
x-ms-lease-id:<ID> |
Vereist als het bestand een actieve lease heeft. Beschikbaar voor versie 2019-02-02 en hoger. Deze header wordt genegeerd als het bestand zich op een bestandsshare bevindt waarvoor het NFS-protocol is ingeschakeld, wat geen ondersteuning biedt voor bestandsleases. |
x-ms-client-request-id |
Facultatief. Biedt een door de client gegenereerde, ondoorzichtige waarde met een tekenlimiet van 1 kibibyte (KiB) die wordt vastgelegd in de logboeken wanneer logboekregistratie is geconfigureerd. We raden u ten zeerste aan deze header te gebruiken om activiteiten aan de clientzijde te correleren met aanvragen die de server ontvangt. Zie Monitor Azure Filesvoor meer informatie. |
x-ms-file-last-write-time: { now ¦ preserve } |
Facultatief. Versie 2021-06-08 en hoger. U kunt een van de volgende opties opgeven:
|
x-ms-file-request-intent |
Vereist als Authorization header een OAuth-token opgeeft. Acceptabele waarde is backup . Deze header geeft aan dat de Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action of Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action moeten worden verleend als ze zijn opgenomen in het RBAC-beleid dat is toegewezen aan de identiteit die is geautoriseerd met behulp van de Authorization -header. Beschikbaar voor versie 2022-11-02 en hoger. |
x-ms-allow-trailing-dot: { <Boolean> } |
Facultatief. Versie 2022-11-02 en hoger. De Booleaanse waarde geeft aan of een volgpunt aanwezig in de aanvraag-URL moet worden ingekort of niet. Deze header wordt genegeerd als het doel zich op een bestandsshare bevindt waarvoor het NFS-protocol is ingeschakeld. Dit biedt standaard ondersteuning voor een volgpunt. Zie Shares, mappen, bestanden en metagegevensvoor meer informatie. |
Geen.
Geen.
De gegevens die het bereik vertegenwoordigen dat moet worden geüpload.
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
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=
Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.
Een geslaagde bewerking retourneert statuscode 201 (gemaakt). Zie Status en foutcodesvoor meer informatie over statuscodes.
Het antwoord voor deze bewerking bevat de headers in de volgende tabellen. Het antwoord kan ook aanvullende standaard HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.
Antwoordheader | Beschrijving |
---|---|
ETag |
De ETag bevat een waarde die de versie van het bestand vertegenwoordigt. De waarde staat tussen aanhalingstekens. |
Last-Modified |
Retourneert de datum en tijd waarop de map voor het laatst is gewijzigd. De datumnotatie volgt RFC 1123. Zie Datum-/tijdwaarden weergeven in koptekstenvoor meer informatie. Elke bewerking waarmee de share of de eigenschappen of metagegevens van de share worden gewijzigd, wordt de laatste wijzigingstijd bijgewerkt. Bewerkingen op bestanden hebben geen invloed op de laatste wijzigingstijd van de share. |
Content-MD5 |
Deze header wordt geretourneerd, zodat de client kan controleren op integriteit van berichtinhoud. De waarde van deze header wordt berekend door de Bestandsservice. Dit is niet noodzakelijkerwijs hetzelfde als de waarde die is opgegeven in de aanvraagheaders. |
x-ms-request-id |
Identificeer de aanvraag die is gemaakt en kan worden gebruikt om problemen met de aanvraag op te lossen. Zie Problemen met API-bewerkingen oplossenvoor meer informatie. |
x-ms-version |
Geeft de bestandsserviceversie aan die is gebruikt om de aanvraag uit te voeren. |
Date |
Een UTC-datum/tijdwaarde die wordt gegenereerd door de service, wat de tijd aangeeft waarop het antwoord is gestart. |
x-ms-request-server-encrypted: { true ¦ false } |
Versie 2017-04-17 en hoger. De waarde van deze header is ingesteld op true als de inhoud van de aanvraag is versleuteld met behulp van het opgegeven algoritme. Anders is de waarde ingesteld op false . |
x-ms-client-request-id |
Deze header kan worden gebruikt om problemen met aanvragen en bijbehorende antwoorden op te lossen. De waarde van deze header is gelijk aan de waarde van de x-ms-client-request-id header als deze aanwezig is in de aanvraag en de waarde niet meer dan 1024 zichtbare ASCII-tekens bevat. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze niet aanwezig in het antwoord. |
x-ms-file-last-write-time |
Versie 2021-06-08 en hoger. De laatste schrijftijd voor het bestand, in de ISO 8601-indeling. Voorbeeld: 2017-05-10T17:52:33.9551861Z . |
Geen.
Geen.
Geen.
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
Alleen de accounteigenaar kan deze bewerking aanroepen.
De Put Range
-bewerking schrijft een bereik van bytes naar een bestand. Deze bewerking kan alleen worden aangeroepen voor een bestaand bestand. Het kan niet worden aangeroepen om een nieuw bestand te maken. Als u Put Range
aanroept met een bestandsnaam die momenteel niet bestaat, wordt statuscode 404 (Niet gevonden) geretourneerd.
Als u een nieuw bestand wilt maken, roept u Bestand makenaan. Een bestand kan maximaal 4 TiB groot zijn.
Een Put Range
bewerking is toegestaan 10 minuten per MiB te voltooien. Als de bewerking gemiddeld langer duurt dan 10 minuten per MiB, treedt er een time-out op.
Als het bestand een actieve lease heeft, moet de client een geldige lease-id opgeven voor de aanvraag om een bereik te schrijven.
updatebewerkingen voor bereik
Als u Put Range
aanroept met de optie Update
voert u een in-place schrijfbewerking uit op het opgegeven bestand. Alle inhoud in het opgegeven bereik wordt overschreven met de update. Elk bereik dat wordt verzonden met Put Range
voor een updatebewerking kan maximaal 4 MiB groot zijn. Als u probeert een bereik te uploaden dat groter is dan 4 MiB, retourneert de service statuscode 413 (Aanvraagentiteit te groot).
bereik duidelijke bewerkingen
Als u Put Range
aanroept met de optie Clear
, wordt de ruimte in de opslag vrijgegeven zolang het opgegeven bereik 512-byte is uitgelijnd. Bereiken die zijn gewist, worden niet meer bijgehouden als onderdeel van het bestand en worden niet geretourneerd in het lijstbereik antwoord. Als het opgegeven bereik niet is uitgelijnd op 512-bytes, schrijft de bewerking nullen naar het begin of einde van het bereik dat niet is uitgelijnd met 512 byte en wordt de rest van het bereik binnen 512-byte uitgelijnd.
Alle bereiken die niet zijn gewist, worden geretourneerd in de lijstbereiken antwoord. Zie voor een voorbeeld de sectie 'Niet-uitgelijnd duidelijk bereik' die volgt.
bestandslease
U kunt leasebestand aanroepen om een exclusieve schrijfvergrendeling voor het bestand te verkrijgen tegen andere schrijfbewerkingen voor een oneindige duur.
SMB-client bytebereikvergrendelingen
Met het SMB-protocol kunnen bytebereikvergrendelingen lees- en schrijftoegang tot regio's van een bestand worden beheerd. Dit betekent dat Put Range
op een bestand op een bestandsshare met ingeschakeld SMB-protocol mislukt als een SMB-client een vergrendeling heeft die overlapt met het bereik dat is opgegeven door de Put Range
-bewerking met behulp van x-ms-range
. Zie Bestandsvergrendelingen beherenvoor meer informatie.
NFS-client bytebereikvergrendelingen
De POSIX-bytebereikvergrendelingen van het NFS-protocol zijn van aard. De Put Range
op een bestand op een bestandsshare waarvoor het NFS-protocol is ingeschakeld, mislukt niet, zelfs niet als er een conflicterende bytebereikvergrendeling is die wordt vastgehouden door een NFS-client.
meldingen voor het wijzigen van SMB-clientmaps
Het SMB-protocol ondersteunt de FindFirstChangeNotification API-functie waarmee toepassingen kunnen detecteren wanneer er wijzigingen optreden in het bestandssysteem. Het kan detecteren wanneer een bestand of map wordt toegevoegd, gewijzigd of verwijderd en wanneer de grootte, kenmerken of beveiligingsdescriptors van een bestand worden gewijzigd. SMB-clients die deze API gebruiken, ontvangen geen meldingen wanneer een bestands- of mapwijziging plaatsvindt via de Azure Files REST API. Wijzigingen die worden veroorzaakt door andere SMB-clients, worden echter meldingen doorgegeven.
voorbeeld van niet-uitgelijnd bereik
Stel dat een bestand wordt gemaakt met Bestand maken en één bereik wordt geschreven met Put Range
, als volgt:
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
Het uitvoeren van een lijstbereiken bewerking op het bestand retourneert de volgende antwoordtekst:
<?xml version="1.0" ecoding="utf-8"?>
<Ranges>
<Range>
<Start>0</Start>
<End>65536</End>
</Range>
</Ranges>
Stel nu dat een niet-uitgelijnde bytebereikbewerking wordt uitgevoerd:
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=
Een volgende lijstbereiken bewerking op het bestand retourneert de volgende antwoordtekst:
<?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>
Houd er rekening mee dat nullen zijn weggeschreven naar de niet-uitgelijnde ruimte van 768-1024 en 2048-2304.
Put Range
wordt niet ondersteund op een momentopname van een share. Dit is een alleen-lezen kopie van een share. Een poging om deze bewerking uit te voeren op een momentopname van een share mislukt met 400 (InvalidQueryParameterValue).