Delen via


Lijst met blokkeringen plaatsen

Met Put Block List de bewerking wordt een blob geschreven door de lijst met blok-id's op te geven waaruit de blob bestaat. Als u wilt worden geschreven als onderdeel van een blob, moet een blok naar de server zijn geschreven in een eerdere Put Block-bewerking .

U kunt aanroepen Put Block List om een blob bij te werken door alleen de blokken te uploaden die zijn gewijzigd en vervolgens de nieuwe en bestaande blokken samen door te voeren. U kunt dit doen door op te geven of een blok moet worden doorgevoerd vanuit de lijst met vastgelegde blokkeringen of vanuit de lijst met niet-doorgevoerde blokkeringen, of door de laatst geüploade versie van het blok door te voeren, ongeacht de lijst waartoe deze behoort.

Aanvraag

U kunt de Put Block List aanvraag als volgt samenstellen. U wordt aangeraden HTTPS te gebruiken. Vervang myaccount door de naam van uw opslagaccount:

AANVRAAG-URI voor PUT-methode HTTP-versie
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist HTTP/1.1

Aanvraag voor geëmuleerde opslagservice

Wanneer u een aanvraag indient voor de geëmuleerde opslagservice, geeft u de hostnaam van de emulator en de poort van de Blob-service op als 127.0.0.1:10000, gevolgd door de naam van het geëmuleerde opslagaccount:

AANVRAAG-URI voor PUT-methode HTTP-versie
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=blocklist HTTP/1.1

De opslagemulator ondersteunt alleen blobgrootten van maximaal 2 gibibytes (GiB).

Zie Use the Azurite emulator for local Azure Storage development (De Azurite-emulator gebruiken voor lokale Azure Storage-ontwikkeling) voor meer informatie.

URI-parameters

U kunt de volgende aanvullende parameters opgeven voor de aanvraag-URI:

Parameter Beschrijving
timeout Optioneel. De timeout parameter wordt uitgedrukt in seconden. Zie Time-outs instellen voor blobservicebewerkingen voor meer informatie.

Aanvraagheaders

De vereiste en optionele aanvraagheaders worden beschreven in de volgende tabel:

Aanvraagheader Beschrijving
Authorization Vereist. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening op. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
Date of x-ms-date Vereist. Geef de Coordinated Universal Time (UTC) op voor de aanvraag. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
x-ms-version Vereist voor alle geautoriseerde aanvragen. Hiermee geeft u de versie van de bewerking te gebruiken voor deze aanvraag. Zie Versiebeheer voor de Azure Storage-services voor meer informatie.
Content-Length Vereist. De lengte van de aanvraaginhoud, in bytes. Deze koptekst verwijst naar de inhoudslengte van de lijst met blokken, niet naar de blob zelf.
Content-MD5 Optioneel. Een MD5-hash van de aanvraaginhoud. Deze hash wordt gebruikt om de integriteit van de aanvraaginhoud tijdens het transport te controleren. Als de twee hashes niet overeenkomen, mislukt de bewerking met foutcode 400 (ongeldige aanvraag).

Deze header is gekoppeld aan de aanvraaginhoud en niet aan de inhoud van de blob zelf.
x-ms-content-crc64 Optioneel. Een CRC64-hash van de aanvraaginhoud. Deze hash wordt gebruikt om de integriteit van de aanvraaginhoud tijdens het transport te controleren. Als de twee hashes niet overeenkomen, mislukt de bewerking met foutcode 400 (ongeldige aanvraag).

Deze header is gekoppeld aan de aanvraaginhoud en niet aan de inhoud van de blob zelf.

Als zowel Content-MD5- als x-ms-content-crc64-headers aanwezig zijn, mislukt de aanvraag met een 400 (Ongeldige aanvraag).

Deze header wordt ondersteund in versie 2019-02-02 en hoger.
x-ms-blob-cache-control Optioneel. Hiermee stelt u het cachebeheer van de blob in. Als deze eigenschap is opgegeven, wordt deze opgeslagen met de blob en geretourneerd met een leesaanvraag.

Als de eigenschap niet is opgegeven bij de aanvraag, wordt deze gewist voor de blob als de aanvraag is geslaagd.
x-ms-blob-content-type Optioneel. Hiermee stelt u het inhoudstype van de blob in. Als deze is opgegeven, wordt deze eigenschap opgeslagen met de blob en geretourneerd met een leesaanvraag.

Als het inhoudstype niet is opgegeven, wordt het ingesteld op het standaardtype, namelijk application/octet-stream.
x-ms-blob-content-encoding Optioneel. Hiermee stelt u de inhoudscodering van de blob in. Als deze is opgegeven, wordt deze eigenschap opgeslagen met de blob en geretourneerd met een leesaanvraag.

Als de eigenschap niet is opgegeven bij de aanvraag, wordt deze gewist voor de blob als de aanvraag is geslaagd.
x-ms-blob-content-language Optioneel. Hiermee stelt u de inhoudstaal van de blob in. Als deze is opgegeven, wordt deze eigenschap opgeslagen met de blob en geretourneerd met een leesaanvraag.

Als de eigenschap niet is opgegeven bij de aanvraag, wordt deze gewist voor de blob als de aanvraag is geslaagd.
x-ms-blob-content-md5 Optioneel. Een MD5-hash van de blobinhoud. Deze hash is niet gevalideerd, omdat de hashes voor de afzonderlijke blokken zijn gevalideerd toen ze werden geüpload.

De bewerking Blob ophalen retourneert de waarde van deze header in de content-MD5-antwoordheader.

Als deze eigenschap niet is opgegeven bij de aanvraag, wordt deze gewist voor de blob als de aanvraag is geslaagd.
x-ms-meta-name:value Optioneel. Door de gebruiker gedefinieerde naam-waardeparen die zijn gekoppeld aan de blob.

Vanaf versie 2009-09-19 moeten namen van metagegevens voldoen aan de naamgevingsregels voor C#-id's.
x-ms-encryption-scope Optioneel. Geeft het versleutelingsbereik aan dat moet worden gebruikt om de blob te versleutelen. Deze waarde moet overeenkomen met het versleutelingsbereik dat wordt gebruikt voor het versleutelen van alle blokken die worden doorgevoerd. Deze header wordt ondersteund in versie 2019-02-02 en hoger.
x-ms-encryption-context Optioneel. De standaardwaarde is Leeg. Als de waarde is ingesteld, worden de metagegevens van het blobsysteem ingesteld. Maximale lengte-1024. Alleen geldig wanneer hiërarchische naamruimte is ingeschakeld voor het account. Deze header wordt ondersteund in versies 2021-08-06 en hoger.
x-ms-tags Optioneel. Hiermee stelt u de opgegeven met querytekenreeks gecodeerde tags op de blob in. Zie de sectie Opmerkingen voor meer informatie. Ondersteund in versie 2019-12-12 en hoger.
x-ms-lease-id:<ID> Vereist als de blob een actieve lease heeft. Als u deze bewerking wilt uitvoeren op een blob met een actieve lease, geeft u de geldige lease-id voor deze header op.
x-ms-client-request-id Optioneel. Biedt een door de client gegenereerde, ondoorzichtige waarde met een limiet van 1 kibibyte (KiB) die wordt vastgelegd in de analyselogboeken wanneer logboekregistratie voor opslaganalyse 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.
x-ms-blob-content-disposition Optioneel. Hiermee stelt u de koptekst van Content-Disposition de blob in. Beschikbaar voor versie 2013-08-15 en hoger.

Het Content-Disposition veld header bevat aanvullende informatie over het verwerken van de nettolading van het antwoord en kan worden gebruikt om aanvullende metagegevens toe te voegen. Als deze bijvoorbeeld is ingesteld op attachment, geeft deze header aan dat de user-agent het antwoord niet moet weergeven, maar in plaats daarvan een dialoogvenster Opslaan als moet weergeven.

Het antwoord van de bewerkingen Blob ophalen en Blobeigenschappen ophalen bevat de header voor het verwijderen van inhoud.
x-ms-access-tier Optioneel. Versie 2018-11-09 en hoger. Geeft de laag aan die moet worden ingesteld voor een blob. Voor blok-blobs wordt deze header alleen ondersteund in blobopslag- of v2-accounts voor algemeen gebruik met versie 2018-11-09 en hoger. Geldige waarden voor blok-bloblagen zijn Hot, Cool, Colden Archive. Opmerking: Cold laag wordt ondersteund voor versie 2021-12-02 en hoger. Zie Dynamische, statische en archiefopslaglagen voor meer informatie over blok-bloblagen.
x-ms-immutability-policy-until-date Versie 2020-06-12 en hoger. Hiermee geeft u de retentie-tot-datum die moet worden ingesteld op de blob. Dit is de datum totdat de blob kan worden beveiligd tegen wijziging of verwijdering. Volgt RFC1123 indeling.
x-ms-immutability-policy-mode Versie 2020-06-12 en hoger. Hiermee geeft u de beleidsmodus voor onveranderbaarheid op die moet worden ingesteld op de blob. Geldige waarden zijn unlocked en locked. De unlocked waarde geeft aan dat gebruikers het beleid kunnen wijzigen door de retentie-tot-datum te verhogen of te verlagen. De locked waarde geeft aan dat deze acties verboden zijn.
x-ms-legal-hold Versie 2020-06-12 en hoger. Hiermee geeft u de juridische bewaring moet worden ingesteld voor de blob. De geldige waarden zijn true en false.
x-ms-expiry-option Optioneel. Versie 2023-08-03 en hoger. Hiermee geeft u de vervaldatumoptie voor de aanvraag op. Zie ExpirationOption. Deze header is geldig voor accounts waarvoor hiërarchische naamruimte is ingeschakeld.
x-ms-expiry-time Optioneel. Versie 2023-08-03 en hoger. Hiermee geeft u het tijdstip op waarop de blob is ingesteld om te verlopen. De notatie voor de vervaldatum is afhankelijk van x-ms-expiry-option. Zie ExpiryOption voor meer informatie. Deze header is geldig voor accounts waarvoor hiërarchische naamruimte is ingeschakeld.

De expiryTime al aanwezig op een blob wordt niet gewist als de aanvraag geen nieuwe waarde van bevat expiryTime

Deze bewerking ondersteunt ook het gebruik van voorwaardelijke headers om de blokkeringslijst alleen door te voeren als aan een opgegeven voorwaarde wordt voldaan. Zie Voorwaardelijke headers opgeven voor Blob Storage-bewerkingen voor meer informatie.

Aanvraagheaders (door de klant verstrekte versleutelingssleutels)

Vanaf versie 2019-02-02 kunt u de volgende headers opgeven voor de aanvraag om een blob te versleutelen met een door de klant verstrekte sleutel. Versleuteling met een door de klant verstrekte sleutel (en de bijbehorende set headers) is optioneel.

Aanvraagheader Beschrijving
x-ms-encryption-key Vereist. De met Base64 gecodeerde AES-256-versleutelingssleutel.
x-ms-encryption-key-sha256 Vereist. De Base64-gecodeerde SHA256-hash van de versleutelingssleutel.
x-ms-encryption-algorithm: AES256 Vereist. Hiermee geeft u het algoritme te gebruiken voor versleuteling. De waarde van deze header moet zijn AES256.

Aanvraagbody

In de aanvraagtekst kunt u de blokkeringslijst opgeven die door Blob Storage moet worden gecontroleerd op het aangevraagde blok. Op deze manier kunt u een bestaande blob bijwerken door afzonderlijke blokken in te voegen, te vervangen of te verwijderen, in plaats van de hele blob opnieuw te laden. Nadat u het blok of de blokken hebt geüpload die zijn gewijzigd, kunt u een nieuwe versie van de blob doorvoeren door de nieuwe blokken door te voeren samen met de bestaande blokken die u wilt behouden.

Als u een blob wilt bijwerken, kunt u opgeven dat de service eerst moet zoeken naar een blok-id in de vastgelegde blokkeringslijst, in de lijst met niet-doorgevoerde blokkeringen of in de lijst met niet-doorgevoerde blokkeringen en vervolgens in de vastgelegde blokkeringslijst. Als u wilt aangeven welke benadering moet worden gebruikt, geeft u de blok-id op die zich binnen het juiste XML-element in de aanvraagbody bevindt, als volgt:

  • Geef de blok-id in het Committed element op om aan te geven dat Blob Storage alleen in de lijst met vastgelegde blokkeringen naar het benoemde blok moet zoeken. Als het blok niet wordt gevonden in de lijst met vastgelegde blokkeringen, wordt het niet geschreven als onderdeel van de blob en retourneert Blob Storage statuscode 400 (Ongeldige aanvraag).

  • Geef de blok-id in het Uncommitted element op om aan te geven dat Blob Storage alleen in de lijst met niet-doorgevoerde blokkeringen naar het benoemde blok moet zoeken. Als het blok niet wordt gevonden in de lijst met niet-verzonden blokkeringen, wordt het niet geschreven als onderdeel van de blob en retourneert Blob Storage statuscode 400 (Ongeldige aanvraag).

  • Geef de blok-id in het Latest element op om aan te geven dat Blob Storage eerst in de lijst met niet-doorgevoerde blokkeringen moet zoeken. Als het blok wordt gevonden in de lijst niet-verzonden, is die versie van het blok de meest recente en moet deze naar de blob worden geschreven. Als het blok niet wordt gevonden in de niet-doorgevoerde lijst, moet de service in de lijst met vastgelegde blokkeringen zoeken naar het benoemde blok en dat blok naar de blob schrijven als het wordt gevonden.

De aanvraagbody voor deze versie van Put Block List gebruikt de volgende XML-indeling:

<?xml version="1.0" encoding="utf-8"?>  
<BlockList>  
  <Committed>first-base64-encoded-block-id</Committed>  
  <Uncommitted>second-base64-encoded-block-id</Uncommitted>  
  <Latest>third-base64-encoded-block-id</Latest>  
  ...  
</BlockList>  
  

Voorbeeldaanvraag

Ter illustratie Put Block Listwordt ervan uitgegaan dat u drie blokken hebt geüpload die u nu wilt doorvoeren. In het volgende voorbeeld wordt een nieuwe blob doorgevoerd door aan te geven dat de meest recente versie van elk vermeld blok moet worden gebruikt. U hoeft niet te weten of deze blokken al zijn doorgevoerd.

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist HTTP/1.1  
  
Request Headers:  
x-ms-date: Wed, 31 Aug 2011 00:17:43 GMT  
x-ms-version: 2011-08-18  
Content-Type: text/plain; charset=UTF-8  
Authorization: SharedKey myaccount:DJ5QZSVONZ64vAhnN/wxcU+Pt5HQSLAiLITlAU76Lx8=  
Content-Length: 133  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<BlockList>  
  <Latest>AAAAAA==</Latest>  
  <Latest>AQAAAA==</Latest>  
  <Latest>AZAAAA==</Latest>  
</BlockList>  
  

Vervolgens gaan we ervan uit dat u de blob wilt bijwerken. De nieuwe blob heeft de volgende wijzigingen:

  • Een nieuw blok met id ANAAAA==. Dit blok moet eerst worden geüpload met een aanroep naar Put Block en het wordt weergegeven in de lijst met niet-doorgevoerde blokkeringen totdat de aanroep naar Put Block Listwordt aangeroepen.

  • Een bijgewerkte versie van het blok met id AZAAAA==. Dit blok moet eerst worden geüpload met een aanroep naar Put Block en het wordt weergegeven in de lijst met niet-doorgevoerde blokkeringen totdat de aanroep naar Put Block Listwordt aangeroepen.

  • Verwijder het blok met de id AAAAAA==. Omdat dit blok niet is opgenomen in de volgende aanroep van Put Block List, wordt het blok effectief verwijderd uit de blob.

In het volgende voorbeeld ziet u de aanroep waarmee Put Block List de blob wordt bijgewerkt:

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist HTTP/1.1  
  
Request Headers:  
x-ms-date: Wed, 31 Aug 2009 00:17:43 GMT  
x-ms-version: 2011-08-18  
Content-Type: text/plain; charset=UTF-8  
x-ms-expiry-option: RelativeToNow
x-ms-expiry-time: 30000
Authorization: SharedKey myaccount:DJ5QZSVONZ64vAhnN/wxcU+Pt5HQSLAiLITlAU76Lx8=  
Content-Length: 133  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<BlockList>  
  <Uncommitted>ANAAAA==</Uncommitted>  
  <Committed>AQAAAA==</Committed>  
  <Uncommitted>AZAAAA==</Uncommitted>  
</BlockList>  
  

Antwoord

Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.

Statuscode

Een geslaagde bewerking retourneert statuscode 201 (Gemaakt).

Zie Status- en foutcodes voor meer informatie over statuscodes.

Antwoordheaders

Het antwoord voor deze bewerking bevat de volgende headers. Het antwoord kan ook aanvullende standaard-HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.

Antwoord Beschrijvingen
ETag De entiteitstag bevat een waarde die de client kan gebruiken om voorwaardelijke GET/PUT bewerkingen uit te voeren met behulp van de If-Match aanvraagheader. Als de aanvraagversie 2011-08-18 of hoger is, wordt de waarde ETag tussen aanhalingstekens geplaatst.
Last-Modified De datum/tijd waarop de blob het laatst is gewijzigd. De datumnotatie volgt RFC 1123. Zie Datum/tijdwaarden weergeven in kopteksten voor meer informatie.

Elke bewerking die de blob wijzigt, inclusief een update van de metagegevens of eigenschappen van de blob, verandert de laatste wijzigingstijd van de blob.
Content-MD5 Geretourneerd zodat de client de integriteit van de berichtinhoud kan controleren. Deze header verwijst naar de inhoud van de aanvraag (in dit geval de lijst met blokken en niet de inhoud van de blob zelf). Voor versie 2019-02-02 en hoger wordt deze header alleen geretourneerd wanneer de aanvraag deze header heeft.
x-ms-content-crc64 Voor versie 2019-02-02 en hoger wordt deze header geretourneerd, zodat de client de integriteit van de berichtinhoud kan controleren. Deze header verwijst naar de inhoud van de aanvraag (in dit geval de lijst met blokken en niet de inhoud van de blob zelf).

Deze header wordt geretourneerd wanneer Content-md5 de header niet aanwezig is in de aanvraag.
x-ms-request-id Identificeert op unieke wijze de aanvraag die is gedaan en u kunt deze gebruiken om problemen met de aanvraag op te lossen. Zie Problemen met API-bewerkingen oplossen voor meer informatie.
x-ms-version De versie van Blob Storage die wordt gebruikt om de aanvraag uit te voeren. Deze header wordt geretourneerd voor aanvragen die zijn gedaan op basis van versie 2009-09-19 en hoger.
Date Een UTC-datum/tijd-waarde die wordt gegenereerd door de service, die aangeeft wanneer het antwoord is gestart.
x-ms-request-server-encrypted: true/false Versie 2015-12-11 en hoger. De waarde van deze header wordt ingesteld op true als de inhoud van de aanvraag is versleuteld met behulp van het opgegeven algoritme. Anders wordt de waarde ingesteld op false.
x-ms-encryption-key-sha256 Versie 2019-02-02 en hoger. Deze header wordt geretourneerd als de aanvraag een door de klant verstrekte sleutel heeft gebruikt voor versleuteling, zodat de client ervoor kan zorgen dat de inhoud van de aanvraag is versleuteld met behulp van de opgegeven sleutel.
x-ms-encryption-scope Versie 2019-02-02 en hoger. Deze header wordt geretourneerd als de aanvraag een versleutelingsbereik heeft gebruikt, zodat de client ervoor kan zorgen dat de inhoud van de aanvraag is versleuteld met behulp van het versleutelingsbereik.
x-ms-version-id: <DateTime> Versie 2019-12-12 en hoger. Retourneert een ondoorzichtige DateTime waarde die de blob uniek identificeert. De waarde van deze header geeft de versie van de blob aan en kan worden gebruikt in volgende aanvragen voor toegang tot de blob.
x-ms-client-request-id Kan worden gebruikt om problemen met aanvragen en de 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.

Voorbeeldantwoord

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
x-ms-content-crc64: 77uWZTolTHU  
Date: Sun, 25 Sep 2011 00:17:44 GMT  
ETag: “0x8CB172A360EC34B”  
Last-Modified: Sun, 25 Sep 2011 00:17:43 GMT  
x-ms-version: 2011-08-18  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
x-ms-version-id: <DateTime>  

Autorisatie

Autorisatie is vereist bij het aanroepen van een bewerking voor gegevenstoegang in Azure Storage. U kunt de Put Block List bewerking autoriseren zoals hieronder wordt beschreven.

Als een aanvraag tags opgeeft met de x-ms-tags aanvraagheader, moet de aanroeper voldoen aan de autorisatievereisten van de bewerking Blobtags instellen .

Belangrijk

Microsoft raadt het gebruik van Microsoft Entra ID met beheerde identiteiten aan om aanvragen voor Azure Storage te autoriseren. Microsoft Entra ID biedt superieure beveiliging en gebruiksgemak in vergelijking met autorisatie met gedeelde sleutels.

Azure Storage ondersteunt het gebruik van Microsoft Entra ID om aanvragen voor blobgegevens te autoriseren. Met Microsoft Entra ID kunt u op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) gebruiken om machtigingen te verlenen aan een beveiligingsprincipal. De beveiligingsprincipal kan een gebruiker, groep, toepassingsservice-principal of beheerde Azure-identiteit zijn. De beveiligingsprincipal wordt geverifieerd door Microsoft Entra ID om een OAuth 2.0-token te retourneren. Het token kan vervolgens worden gebruikt om een aanvraag voor de Blob-service te autoriseren.

Zie Toegang tot blobs autoriseren met Microsoft Entra ID voor meer informatie over autorisatie met behulp van Microsoft Entra ID.

Machtigingen

Hieronder vindt u de RBAC-actie die nodig is voor een Microsoft Entra gebruiker, groep, beheerde identiteit of service-principal om de Put Block List bewerking aan te roepen, en de ingebouwde Azure RBAC-rol met de minste bevoegdheden die deze actie omvat:

Zie Een Azure-rol toewijzen voor toegang tot blobgegevens voor meer informatie over het toewijzen van rollen met behulp van Azure RBAC.

Opmerkingen

De Put Block List bewerking dwingt de volgorde af waarin blokken moeten worden gecombineerd om een blob te maken.

Dezelfde blok-id kan meer dan één keer worden opgegeven in de lijst met blokken. Als een blok-id meer dan één keer wordt opgegeven, vertegenwoordigt deze het bereik van bytes in elk van deze locaties in de blokkeringslijst voor de uiteindelijke vastgelegde blob. Als een blok-id meer dan één keer in de lijst voorkomt, moeten beide exemplaren van de blok-id worden opgegeven in dezelfde blokkeringslijst. Met andere woorden, beide exemplaren moeten worden opgegeven binnen het Committed element, het Uncommitted element of het Latest element.

Met Put Block Listkunt u een bestaande blob wijzigen door afzonderlijke blokken in te voegen, bij te werken of te verwijderen zonder dat u de hele blob opnieuw hoeft te uploaden. U kunt blok-id's opgeven uit zowel de huidige vastgelegde bloklijst als de niet-doorgevoerde bloklijst om een nieuwe blob te maken of de inhoud van een bestaande blob bij te werken. Op deze manier kunt u een blob bijwerken door enkele nieuwe blokken op te geven uit de lijst met niet-doorgevoerde blokkeringen en de rest van de vastgelegde blokkeringslijst, die al deel uitmaken van de bestaande blob.

Als er een blok-id is opgegeven in het Latest element en dezelfde blok-id bestaat in zowel de vastgelegde als de niet-doorgevoerde blokkeringslijsten, Put Block List wordt het blok doorgevoerd vanuit de lijst met niet-doorgevoerde blokkeringen. Als de blok-id bestaat in de lijst met vastgelegde blokkeringen, maar niet in de lijst met niet-doorgevoerde blokkeringen, Put Block List voert u het blok door vanuit de lijst met vastgelegde blokkeringen.

Elk blok in een blok-blob kan een andere grootte hebben. Een blok-blob kan maximaal 50.000 vastgelegde blokken bevatten. Het maximum aantal niet-doorgevoerde blokken dat aan een blob kan worden gekoppeld, is 100.000.

In de volgende tabel worden de maximaal toegestane blok- en blobgrootten per serviceversie beschreven:

Serviceversie Maximale blokgrootte (via Put Block) Maximale blobgrootte (via Put Block List) Maximale blobgrootte via één schrijfbewerking (via Put Blob)
Versie 2019-12-12 en hoger 4.000 mebibytes (MiB) Ongeveer 190,7 tebibytes (TiB) (4.000 MiB × 50.000 blokken) 5.000 MiB
Versies 2016-05-31 tot en met 2019-07-07 100 MiB Ongeveer 4,75 TiB (100 MiB × 50.000 blokken) 256 MiB
Versies ouder dan 31-05-2016 4 MiB Ongeveer 195 GiB (4 MiB × 50.000 blokken) 64 MiB

Wanneer u aanroept Put Block List om een bestaande blob bij te werken, worden de bestaande eigenschappen en metagegevens van de blob overschreven. Bestaande momentopnamen blijven echter behouden met de blob. U kunt de voorwaardelijke aanvraagheaders alleen gebruiken om de bewerking uit te voeren als aan een opgegeven voorwaarde wordt voldaan.

Als de Put Block List bewerking mislukt vanwege een ontbrekend blok, moet u het ontbrekende blok uploaden.

Niet-doorgevoerde blokken worden verzameld als er binnen een week na de laatste geslaagde Put Block bewerking geen geslaagde aanroepen naar Put Block of Put Block List op de blob zijn. Als Put Blob wordt aangeroepen op de blob, worden alle niet-doorgevoerde blokken garbage verzameld.

Als tags zijn opgegeven in de x-ms-tags header, moeten ze worden gecodeerd met querytekenreeksen. Tagsleutels en -waarden moeten voldoen aan de naamgevings- en lengtevereisten, zoals opgegeven in Set Blob Tags. Verder kan de x-ms-tags header tags van maximaal 2 KiB in grootte bevatten. Als er meer tags vereist zijn, gebruikt u de bewerking Blobtags instellen .

Als de blob een actieve lease heeft, moet de client een geldige lease-id opgeven voor de aanvraag om de blokkeringslijst door te voeren. Als de client geen lease-id opgeeft of een ongeldige lease-id opgeeft, retourneert Blob Storage statuscode 412 (voorwaarde mislukt). Als de client een lease-id opgeeft, maar de blob geen actieve lease heeft, retourneert Blob Storage ook statuscode 412 (Voorwaarde mislukt). Als de client een lease-id opgeeft voor een blob die nog niet bestaat, retourneert Blob Storage statuscode 412 (voorwaarde mislukt) voor aanvragen die zijn gedaan in versie 2013-08-15 of hoger. Voor eerdere versies retourneert Blob Storage statuscode 201 (Gemaakt).

Als de blob een actieve lease heeft en u aanroept Put Block List om de blob bij te werken, wordt de lease gehandhaafd op de bijgewerkte blob.

Put Block List is alleen van toepassing op blok-blobs. Het aanroepen van Put Block List een pagina-blob resulteert in statuscode 400 (Ongeldige aanvraag).

Het overschrijven van een gearchiveerde blob mislukt en het overschrijven van een hot of-blob cool neemt de laag over van de oude blob als de header x-ms-access-tier niet is opgegeven.

Billing

Prijsaanvragen kunnen afkomstig zijn van clients die gebruikmaken van Blob Storage-API's, rechtstreeks via de Blob Storage REST API of vanuit een Azure Storage-clientbibliotheek. Met deze aanvragen worden kosten per transactie in rekening gebracht. Het type transactie is van invloed op de manier waarop de rekening in rekening wordt gebracht. Leestransacties worden bijvoorbeeld toegevoegd aan een andere factureringscategorie dan schrijftransacties. In de volgende tabel ziet u de factureringscategorie voor Put Block List aanvragen op basis van het type opslagaccount:

Bewerking Type opslagaccount Factureringscategorie
Lijst met blokkeringen plaatsen Premium-blok-blob
Standard v2 voor algemeen gebruik
Standard v1 voor algemeen gebruik
Schrijfbewerkingen

Zie prijzen voor Azure Blob Storage voor meer informatie over prijzen voor de opgegeven factureringscategorie.

Zie ook

Informatie over blok-blobs, toevoeg-blobs en pagina-blobs
Aanvragen voor Azure Storage autoriseren
Status en foutcodes
Foutcodes voor de Blob-service
Time-outs instellen voor blobservicebewerkingen