Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Åtgärden Append Block From URL
checkar in ett nytt datablock i slutet av en befintlig tilläggsblob.
Åtgärden Append Block From URL
tillåts endast om bloben skapades med x-ms-blob-type
set to AppendBlob
.
Append Block From URL
Stöds endast i version 2018-11-09 eller senare.
Begäran
Du kan skapa Append Block From URL
begäran enligt följande. HTTPS rekommenderas. Ersätt myaccount- med namnet på ditt lagringskonto.
URI för PUT-metodbegäran | HTTP-version |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=appendblock |
HTTP/1.1 (på engelska) |
När du gör en begäran mot den emulerade lagringstjänsten anger du emulatorns värdnamn och Azure Blob Storage-port som 127.0.0.1:10000
, följt av det emulerade lagringskontots namn.
URI för PUT-metodbegäran | HTTP-version |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=appendblock |
HTTP/1.1 (på engelska) |
Mer information finns i Använda Azurite-emulatorn för lokal Azure Storage-utveckling.
URI parametrar
Parameter | Beskrivning |
---|---|
timeout |
Valfritt. Tidsgränsparametern uttrycks i sekunder. Mer information finns i Ange tidsgränser för Blob Storage-åtgärder. |
Förfrågningsrubriker
I följande tabell beskrivs obligatoriska och valfria begärandehuvuden.
Förfrågningshuvudrad | Beskrivning |
---|---|
Authorization |
Obligatoriskt. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage. |
Date eller x-ms-date |
Obligatoriskt. 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. Mer information finns i Versionshantering för Azure Storage-tjänsterna. |
Content-Length |
Obligatoriskt. Anger antalet byte som överförs i begärandetexten. Värdet för den här rubriken måste anges till noll. När längden inte är noll misslyckas åtgärden med felkoden 400 (felaktig begäran). |
x-ms-copy-source:name |
Obligatoriskt. Anger URL:en för källbloben. Värdet kan vara en URL med en längd på upp till 2 KiB som anger en blob. Värdet ska vara URL-kodat, precis som det skulle visas i en begärande-URI. Källbloben måste antingen vara offentlig eller måste auktoriseras via en signatur för delad åtkomst. Om källbloben är offentlig krävs ingen auktorisering för att utföra åtgärden. Här är några exempel på url:er för källobjekt:https://myaccount.blob.core.windows.net/mycontainer/myblob https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime> https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime> |
x-ms-copy-source-authorization: <scheme> <signature> |
Valfritt. Anger auktoriseringsschema och signatur för kopieringskällan. Mer information finns i Auktorisera begäranden till Azure Storage. Endast schemabärare stöds för Microsoft Entra ID. Den här rubriken stöds i version 2020-10-02 och senare. |
x-ms-source-range |
Valfritt. Laddar endast upp byte för bloben i käll-URL:en i det angivna intervallet. Om detta inte anges laddas hela källblobinnehållet upp som ett enda tilläggsblock. Mer information finns i Ange intervallrubriken för Blob Storage-åtgärder . |
x-ms-source-content-md5 |
Valfritt. En MD5-hash för tilläggsblockinnehållet från URI:n. Den här hashen används för att verifiera integriteten för tilläggsblocket under transporten av data från URI:n. När du anger det här huvudet jämför lagringstjänsten hashen för det innehåll som har anlänt från kopieringskällan med det här huvudvärdet. Observera att den här MD5-hashen inte lagras med bloben. Om de två hashvärdena inte matchar misslyckas åtgärden med felkoden 400 (felaktig begäran). |
x-ms-source-content-crc64 |
Valfritt. En CRC64-hash för tilläggsblockinnehållet från URI:n. Den här hashen används för att verifiera integriteten för tilläggsblocket under transporten av data från URI:n. När du anger det här huvudet jämför lagringstjänsten hashen för det innehåll som har anlänt från kopieringskällan med det här huvudvärdet. Observera att den här CRC64-hashen inte lagras med bloben. Om de två hashvärdena inte matchar misslyckas åtgärden med felkoden 400 (felaktig begäran). Om båda x-ms-source-content-md5 och x-ms-source-content-crc64 rubrikerna finns misslyckas begäran med 400 (felaktig begäran).Det här huvudet stöds i version 2019-02-02 eller senare. |
x-ms-encryption-scope |
Valfritt. Anger det krypteringsomfång som ska användas för att kryptera källinnehållet. Det här huvudet stöds i version 2019-02-02 eller senare. |
x-ms-lease-id:<ID> |
Krävs om blobben har ett aktivt lån. Om du vill utföra den här åtgärden på en blob med ett aktivt lån anger du det giltiga låne-ID:t för det här huvudet. |
x-ms-client-request-id |
Valfritt. 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 Blob Storage-. |
x-ms-blob-condition-maxsize |
Valfritt villkorshuvud. Den maximala längden i byte som tillåts för tilläggsbloben.
Append Block From URL Om åtgärden gör att bloben överskrider den gränsen, eller om blobstorleken redan är större än det värde som anges i det här huvudet, misslyckas begäran med 412 (förhandsvillkoret misslyckades). |
x-ms-blob-condition-appendpos |
Valfri villkorsstyrd rubrik som endast används för åtgärden Append Block from URL . Ett tal som anger byteförskjutningen som ska jämföras.
Append Block from URL Lyckas bara om tilläggspositionen är lika med det här talet. Om den inte är det misslyckas begäran med en 412 (förhandsvillkoret misslyckades). |
x-ms-file-request-intent |
Krävs om x-ms-copy-source headern är en Azure-fil-URL och x-ms-copy-source-authorization headern 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 x-ms-copy-source-authorization -huvudet. Tillgänglig för version 2025-07-05 och senare. |
Den här åtgärden stöder användning av ytterligare, villkorsstyrda rubriker för att säkerställa att API:et endast lyckas om ett angivet villkor uppfylls. Mer information finns i Ange villkorsstyrda huvuden för Blob Storage-åtgärder.
Begärandehuvuden (krypteringsnycklar som tillhandahålls av kunden)
Från och med version 2019-02-02 kan du ange följande rubriker i begäran om att kryptera en blob med en nyckel som tillhandahålls av kunden. Kryptering med en nyckel som tillhandahålls av kunden (och motsvarande uppsättning rubriker) är valfri.
Förfrågningshuvudrad | Beskrivning |
---|---|
x-ms-encryption-key |
Obligatoriskt. Den Base64-kodade AES-256-krypteringsnyckeln. |
x-ms-encryption-key-sha256 |
Obligatoriskt. Den Base64-kodade SHA256-hashen för krypteringsnyckeln. |
x-ms-encryption-algorithm: AES256 |
Obligatoriskt. Anger den algoritm som ska användas för kryptering. Värdet för det här huvudet måste vara AES256 . |
begäranens innehåll
Begärandetexten innehåller innehållet i blocket.
Exempelbegäran
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=appendblock HTTP/1.1
Request Headers:
x-ms-version: 2018-11-09
x-ms-date: <date>
x-ms-copy-source: https://myaccount.blob.core.windows.net/mycontainer/myblob
x-ms-source-range: bytes=0-65535
x-ms-blob-condition-appendpos: 2097152
x-ms-blob-condition-maxsize: 4194304
Authorization: SharedKey myaccount:J4ma1VuFnlJ7yfk/Gu1GxzbfdJloYmBPWlfhZ/xn7GI=
Content-Length: 0
If-Match: "0x8CB172A360EC34B"
Svar
Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.
Statuskod
En lyckad åtgärd returnerar statuskoden 201 (skapad). Information om statuskoder finns i Status och felkoder.
Svarsrubriker
Svaret för den här åtgärden innehåller följande rubriker. Svaret kan också innehålla ytterligare HTTP-standardhuvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.
Svarsrubrik | Beskrivning |
---|---|
Etag |
Den ETag innehåller ett värde inom citattecken. Klienten använder värdet för att utföra villkorsstyrda PUT åtgärder med hjälp av If-Match begärandehuvudet. |
Last-Modified |
Datum/tid då bloben senast ändrades. Datumformatet följer RFC 1123. Mer information finns i Representation av datum-tidsvärden i rubriker. Alla skrivåtgärder på bloben (inklusive uppdateringar av blobens metadata eller egenskaper) ändrar blobens senaste ändringstid. |
Content-MD5 |
Det här huvudet returneras så att klienten kan söka efter meddelandets innehållsintegritet. Blob Storage beräknar värdet för det här huvudet. Det är inte nödvändigtvis samma värde som anges i begärandehuvudena. För version 2019-02-02 eller senare returneras det här huvudet endast när begäran har det här huvudet. |
x-ms-content-crc64 |
För version 2019-02-02 eller senare. Det här huvudet returneras så att klienten kan söka efter meddelandets innehållsintegritet. Blob Storage beräknar värdet för det här huvudet. Det är inte nödvändigtvis samma värde som anges i begärandehuvudena. Det här huvudet returneras när x-ms-source-content-md5 huvudet inte finns i begäran. |
x-ms-request-id |
Det här huvudet identifierar unikt den begäran som gjordes och kan användas för att felsöka begäran. |
x-ms-version |
Anger vilken version av Blob Storage som används för att köra begäran. Det här huvudet returneras för begäranden mot version 2009-09-19 och senare. |
Date |
Ett UTC-datum/tid-värde som genererats av tjänsten som anger tidpunkten då svaret initierades. |
x-ms-blob-append-offset |
Det här svarshuvudet returneras endast för tilläggsåtgärder. Den returnerar förskjutningen där blocket checkades in i byte. |
x-ms-blob-committed-block-count |
Antalet bekräftade block som finns i bloben. Du kan använda detta för att styra hur många fler tillägg som kan göras. |
x-ms-request-server-encrypted: true/false |
Version 2015-12-11 eller 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-encryption-key-sha256 |
Version 2019-02-02 eller senare. Det här huvudet returneras om begäran använde en nyckel som tillhandahålls av kunden för kryptering. Klienten kan sedan se till att innehållet i begäran krypteras med hjälp av den angivna nyckeln. |
x-ms-encryption-scope |
Version 2019-02-02 eller senare. Det här huvudet returneras om begäran använde ett krypteringsomfång. Klienten kan sedan se till att innehållet i begäran krypteras med hjälp av krypteringsomfånget. |
Exempelsvar
Response Status:
HTTP/1.1 201 Created
Response Headers:
Transfer-Encoding: chunked
x-ms-content-crc64: 77uWZTolTHU
Date: <date>
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-blob-append-offset: 2097152
x-ms-blob-committed–block-count: 1000
Auktorisering
Auktorisering krävs när du anropar en dataåtkomståtgärd i Azure Storage. Du kan auktorisera åtgärden Append Block From URL
enligt beskrivningen nedan.
Auktoriseringsinformationen i det här avsnittet gäller för kopieringsmålet. Mer information om auktorisering av kopieringskälla finns i informationen för begärandehuvudet x-ms-copy-source
.
Viktigt!
Microsoft rekommenderar att du använder Microsoft Entra-ID med hanterade identiteter för att auktorisera begäranden till Azure Storage. Microsoft Entra-ID ger överlägsen säkerhet och användarvänlighet jämfört med auktorisering av delad nyckel.
Azure Storage stöder användning av Microsoft Entra-ID för att auktorisera begäranden till blobdata. Med Microsoft Entra-ID kan du använda rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att bevilja behörigheter till ett säkerhetsobjekt. Säkerhetsobjektet kan vara en användare, grupp, huvudnamn för programtjänsten eller en hanterad Azure-identitet. Säkerhetsprincipen autentiseras av Microsoft Entra ID för att returnera en OAuth 2.0-token. Token kan sedan användas för att auktorisera en begäran mot Blob-tjänsten.
Mer information om auktorisering med Microsoft Entra-ID finns i Auktorisera åtkomst till blobar med hjälp av Microsoft Entra-ID.
Behörigheter
Nedan visas den RBAC-åtgärd som krävs för att en Microsoft Entra-användare, grupp, hanterad identitet eller tjänstens huvudnamn ska anropa den Append Block From URL
åtgärden och den minst privilegierade inbyggda Azure RBAC-rollen som innehåller den här åtgärden:
- Azure RBAC-åtgärd:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action eller Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- Minst privilegierad inbyggd roll:Storage Blob Data Contributor
Mer information om hur du tilldelar roller med Hjälp av Azure RBAC finns i Tilldela en Azure-roll för åtkomst till blobdata.
Anmärkningar
Append Block From URL
laddar upp ett block i slutet av en befintlig tilläggsblob. Datablocket är omedelbart tillgängligt när anropet har slutförts på servern. Högst 50 000 tillägg tillåts för varje tilläggsblob. Varje block kan vara av olika storlek.
I följande tabell beskrivs de högsta tillåtna block- och blobstorlekarna efter tjänstversion:
Tjänstversion | Maximal blockstorlek (via Append Block From URL ) |
Maximal blobstorlek |
---|---|---|
Version 2022-11-02 och senare | 100 MiB (förhandsversion) | Cirka 4,75 TiB (100 MiB × 50 000 block) |
Versioner tidigare än 2022-11-02 | 4 MiB | Cirka 195 gibibyte (GiB) (4 MiB × 50 000 block) |
I version 2020-10-02 och senare stöds Microsoft Entra ID-auktorisering för källan för kopieringsåtgärden.
Append Block From URL
Lyckas bara om bloben redan finns.
Blobar som laddats upp med hjälp Append Block From URL
av exponerar inte block-ID:t, så du kan inte anropa Get Block List mot en tilläggsblob. Om du gör det resulterar det i ett fel.
Du kan ange följande valfria, villkorsstyrda rubriker för begäran:
x-ms-blob-condition-appendpos
: Du kan ställa in den här rubriken på en byteförskjutning där klienten förväntar sig att lägga till blocket. Begäran lyckas bara om den aktuella förskjutningen matchar den som anges av klienten. Annars misslyckas begäran med felkoden 412 (förhandsvillkoret misslyckades).Klienter som använder en enda skrivare kan använda det här huvudet för att avgöra om en
Append Block From URL
åtgärd lyckades, trots nätverksfel.x-ms-blob-condition-maxsize
: Klienter kan använda det här huvudet för att säkerställa att tilläggsåtgärder inte ökar blobstorleken utöver en förväntad maximal storlek i byte. Om villkoret misslyckas misslyckas begäran med felkoden 412 (förhandsvillkoret misslyckades).
Om du försöker ladda upp ett block som är större än den tillåtna storleken returnerar tjänsten HTTP-felkoden 413 (begärandeentiteten är för stor). Tjänsten returnerar också ytterligare information om felet i svaret, inklusive den maximala blockstorlek som tillåts i byte. Om du försöker ladda upp fler än 50 000 block returnerar tjänsten felkoden 409 (konflikt).
Om bloben har ett aktivt lån måste klienten ange ett giltigt låne-ID för begäran för att kunna skriva ett block till bloben. Om klienten inte anger något låne-ID eller anger ett ogiltigt låne-ID returnerar Blob Storage felkoden 412 (förhandsvillkoret misslyckades). Om klienten anger ett låne-ID men bloben inte har något aktivt lån returnerar tjänsten felkoden 412.
Om du anropar Append Block From URL
en befintlig blockblob eller sidblob returnerar tjänsten felkoden 409 (konflikt). Om du anropar Append Block From URL
en blob som inte finns returnerar tjänsten felkoden 404 (hittades inte).
Undvik dubbletter eller fördröjda tillägg
I ett scenario med en enda skrivare kan klienten undvika duplicerade tillägg eller fördröjda skrivningar med hjälp x-ms-blob-condition-appendpos
av villkorsstyrd rubrik för att kontrollera den aktuella förskjutningen. Klienten kan också undvika dubbletter eller fördröjningar genom att kontrollera villkorligt ETag
, med hjälp If-Match
av .
I ett scenario med flera skrivare kan varje klient använda villkorsstyrda rubriker. Detta kanske inte är optimalt för prestandan. För det högsta samtidiga dataflödet för tillägg bör program hantera redundanta tillägg och fördröjda tillägg i programlagret. Program kan till exempel lägga till epoker eller sekvensnummer i de data som läggs till.
Mer information om priser för den angivna faktureringskategorin finns i Prissättning för Azure Blob Storage.
Fakturering
Prisbegäranden kan komma från klienter som använder Blob Storage-API:er, antingen direkt via BLOB Storage REST API eller från ett Azure Storage-klientbibliotek. Dessa begäranden ackumulerar avgifter per transaktion. Typen av transaktion påverkar hur kontot debiteras. Lästransaktioner ackumuleras till exempel till en annan faktureringskategori än skrivtransaktioner. I följande tabell visas faktureringskategorin för Append Block From URL
begäranden baserat på lagringskontotypen:
Verksamhet | Typ av lagringskonto | Faktureringskategori |
---|---|---|
Lägg till block från URL (målkonto1) | Premium-blockblob Standard generell användning v2 Standard allmän användning v1 |
Skrivåtgärder |
Lägg till block från URL (källkonto2) | Premium-blockblob Standard generell användning v2 Standard allmän användning v1 |
Läsåtgärder |
1Målkontot debiteras för en transaktion för att initiera skrivning.
2Källkontot medför en transaktion för varje läsbegäran till källan.