Ta ögonblicksbild av blob

Åtgärden Snapshot Blob skapar en skrivskyddad ögonblicksbild av en blob.

Förfrågan

Du kan skapa begäran på Snapshot Blob följande sätt. 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=snapshot HTTP/1.1

Emulerad lagringstjänst-URI

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 kontonamnet:

URI för PUT-metodbegäran HTTP-version
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=snapshot HTTP/1.1

Mer information finns i Använda Azurite-emulatorn för lokal Azure Storage-utveckling.

URI-parametrar

Du kan ange följande ytterligare parameter i begärande-URI:n.

Parameter Beskrivning
timeout Valfritt. Parametern timeout uttrycks i sekunder. Mer information finns i Ange tidsgränser för Blob Storage-åtgärder.

Begärandehuvuden

I följande tabell beskrivs obligatoriska och valfria 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 Coordinated Universal Time (UTC) 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.
x-ms-meta-name:value Valfritt. Anger ett användardefinierat namn/värde-par som är associerat med blobben. Om du inte anger några namn/värde-par kopierar åtgärden basblobmetadata till ögonblicksbilden. Om du anger ett eller flera namn/värde-par skapas ögonblicksbilden med angivna metadata och metadata kopieras inte från basbloben.

Observera att från och med version 2009-09-19 måste metadatanamn följa namngivningsreglerna för C#-identifierare. Mer information finns i Namnge och referera till containrar, blobar och metadata .
If-Modified-Since Valfritt. Ett DateTime värde. Ange den här villkorliga rubriken för att ta en ögonblicksbild av bloben, endast om den har ändrats sedan det angivna datumet/tiden. Om basbloben inte har ändrats returnerar Blob Storage statuskoden 412 (förhandsvillkoret misslyckades).
If-Unmodified-Since Valfritt. Ett DateTime värde. Ange den här villkorliga rubriken för att ta en ögonblicksbild av bloben, endast om den inte har ändrats sedan det angivna datumet/tiden. Om basbloben har ändrats returnerar Blob Storage statuskod 412 (villkoret misslyckades).
If-Match Valfritt. Ett ETag värde. Ange ett ETag värde för den här villkorliga rubriken för att ta en ögonblicksbild av blobben, endast om dess ETag värde matchar det angivna värdet. Om värdena inte matchar returnerar Blob Storage statuskod 412 (villkoret misslyckades).
If-None-Match Valfritt. Ett ETag värde.

Ange ett ETag värde för den här villkorliga rubriken för att ta en ögonblicksbild av blobben, endast om dess ETag värde inte matchar det angivna värdet. Om värdena är identiska returnerar Blob Storage statuskod 412 (villkoret misslyckades).
x-ms-encryption-scope Valfritt. Anger krypteringsomfånget som ska användas för att kryptera innehållet i begäran. Det här huvudet stöds i version 2019-02-02 och senare.
x-ms-lease-id:<ID> Valfritt. Om du anger det här huvudet utförs åtgärden endast om båda följande villkor är uppfyllda:

– Blobens lån är för närvarande aktivt.
– Låne-ID:t som anges i begäran matchar blobbens.

Om det här huvudet har angetts och något av dessa villkor inte uppfylls misslyckas begäran. Åtgärden Snapshot Blob misslyckas med statuskoden 412 (villkoret misslyckades).
x-ms-client-request-id Valfritt. Tillhandahåller ett klientgenererat, täckande värde med en teckengräns på 1 kibibyte (KiB) som registreras i loggarna när loggningen har konfigurerats. 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.

Den här åtgärden stöder också användning av villkorsstyrda huvuden för att köra åtgärden, endast om ett angivet villkor uppfylls. Mer information finns i Ange villkorsstyrda rubriker 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 på begäran för 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. Om en blob tidigare har krypterats med en nyckel som tillhandahålls av kunden måste dessa huvuden inkluderas i begäran för att slutföra läsåtgärden.

Begärandehuvud Beskrivning
x-ms-encryption-key Krävs. Den Base64-kodade AES-256-krypteringsnyckeln.
x-ms-encryption-key-sha256 Krävs. Den Base64-kodade SHA256-hashen för krypteringsnyckeln.
x-ms-encryption-algorithm: AES256 Krävs. Anger vilken algoritm som ska användas för kryptering. Värdet för det här huvudet måste vara AES256.

Begärandetext

Inga.

Svarsåtgärder

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.

Svarshuvuden

Svaret för den här åtgärden innehåller följande rubriker. Svaret kan också innehålla ytterligare standard-HTTP-huvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.

Syntax Description
x-ms-snapshot: <DateTime> Returnerar ett DateTime värde som unikt identifierar ögonblicksbilden. Värdet för det här huvudet anger ögonblicksbildversionen och du kan använda den i efterföljande begäranden för att komma åt ögonblicksbilden. Observera att det här värdet är ogenomskinlig.
ETag Ögonblicksbildens ETag . Om begärandeversionen är 2011-08-18 eller senare är ETag värdet inom citattecken. Observera att en ögonblicksbild inte kan skrivas till, så att ETag en viss ögonblicksbild aldrig ändras. Ögonblicksbilden ETag skiljer sig dock från basblobens om nya metadata levereras med Snaphot Blob begäran. Om inga metadata anges med begäran är ögonblicksbilden ETag identisk med basblobens när ögonblicksbilden togs.
Last-Modified Den senaste ändrade tiden för ögonblicksbilden. Mer information finns i Representation av datum-tidsvärden i rubriker.

Observera att en ögonblicksbild inte kan skrivas till, så den senaste ändrade tiden för en viss ögonblicksbild ändras aldrig. Den senaste ändrade tiden för ögonblicksbilden skiljer sig dock från basblobens om nya metadata tillhandahålls med Snaphot Blob begäran. Om inga metadata anges med begäran är den senaste ändrade tiden för ögonblicksbilden identisk med den för basbloben när ögonblicksbilden togs.
x-ms-request-id Identifierar unikt den begäran som gjordes och kan användas för att felsöka begäran. Mer information finns i Felsöka API-åtgärder.
x-ms-version Anger vilken version av Blob Storage som användes 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 anger den tid då svaret initierades. Tjänsten genererar det här värdet.
x-ms-request-server-encrypted: true/false Version 2019-02-02 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. Returneras om begäran använde en kundtilldelad nyckel för kryptering. Klienten kan se till att innehållet i begäran har krypterats med hjälp av den angivna nyckeln.
x-ms-encryption-scope Version 2019-02-02 eller senare. Returneras om begäran använde ett krypteringsomfång. Klienten kan se till att innehållet i begäran har krypterats med hjälp av krypteringsomfånget.
x-ms-version-id: <DateTime> Version 2019-12-12 och senare. Returnerar ett täckande DateTime värde som unikt identifierar blobben. Värdet för det här huvudet anger blobens version och du kan använda den i efterföljande begäranden för att komma åt bloben.
x-ms-client-request-id 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. Värdet är högst 1 024 synliga ASCII-tecken. x-ms-client-request-id Om rubriken inte finns i begäran visas den inte i svaret.

Själva svaret

Inga.

Auktorisering

Auktorisering krävs när du anropar en dataåtkomståtgärd i Azure Storage. Du kan auktorisera åtgärden enligt beskrivningen Snapshot Blob nedan.

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, programtjänstens huvudnamn eller en hanterad Azure-identitet. Säkerhetsobjektet 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 Microsoft Entra ID.

Behörigheter

Nedan visas den RBAC-åtgärd som krävs för att en Microsoft Entra användare, grupp eller tjänstens huvudnamn ska kunna anropa Snapshot Blob åtgärden och den minst privilegierade inbyggda Azure RBAC-rollen som innehåller den här åtgärden:

Mer information om hur du tilldelar roller med Azure RBAC finns i Tilldela en Azure-roll för åtkomst till blobdata.

Kommentarer

Ögonblicksbilder ger skrivskyddade versioner av blobar. När du har skapat en ögonblicksbild kan du läsa, kopiera eller ta bort den, men du kan inte ändra den.

En ögonblicksbild är ett praktiskt sätt att säkerhetskopiera blobdata. Du kan använda en ögonblicksbild för att återställa en blob till en tidigare version genom att anropa Copy Blob för att skriva över en basblob med dess ögonblicksbild.

När du skapar en ögonblicksbild returnerar Blob Storage ett DateTime värde som unikt identifierar ögonblicksbilden i förhållande till dess basblob. Du kan använda det här värdet för att utföra ytterligare åtgärder på ögonblicksbilden. Observera att du bör behandla det här DateTime värdet som ogenomskinlig.

Värdet DateTime identifierar ögonblicksbilden på URI:n. En basblob och dess ögonblicksbilder har till exempel URI:er som liknar följande:

  • Basblob: http://myaccount.blob.core.windows.net/mycontainer/myblob

  • Ögonblicksbild: http://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

Observera att varje gång du anropar Snapshot Blob åtgärden skapar du en ny ögonblicksbild med ett unikt DateTime värde. En blob kan stödja valfritt antal ögonblicksbilder. Befintliga ögonblicksbilder skrivs aldrig över. Du tar bort dem explicit genom att anropa Ta bort blob och ställa in x-ms-include-snapshots huvudet på lämpligt värde.

Ett lyckat anrop till Snapshot Blob returnerar ett DateTime värde i svarshuvudet x-ms-snapshot . Du kan sedan använda det här DateTime värdet för att utföra läs-, borttagnings- eller kopieringsåtgärder på en viss version av ögonblicksbilden. Du kan anropa alla Blob Storage-åtgärder som är giltiga för en ögonblicksbild genom att ?snapshot=<DateTime> ange efter blobnamnet.

När du skapar en ögonblicksbild av en blob kopieras följande systemegenskaper till ögonblicksbilden med samma värden:

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • x-ms-blob-sequence-number (endast för sidblobar)

  • x-ms-blob-committed-block-count (endast för tilläggsblobar)

  • x-ms-copy-id (version 2012-02-12 och senare)

  • x-ms-copy-status (version 2012-02-12 och senare)

  • x-ms-copy-source (version 2012-02-12 och senare)

  • x-ms-copy-progress (version 2012-02-12 och senare)

  • x-ms-copy-completion-time (version 2012-02-12 och senare)

  • x-ms-copy-status-description (version 2012-02-12 och senare)

Basblobens bekräftade blockeringslista kopieras också till ögonblicksbilden, om bloben är en blockblob. Alla icke-utelämnade block kopieras inte.

Ögonblicksbildsbloben har alltid samma storlek som basbloben när ögonblicksbilden tas. Värdet för Content-Length huvudet för ögonblicksbildbloben är samma som för basbloben.

Du kan ange ett eller flera nya metadatavärden för ögonblicksbilden genom att x-ms-meta-name:value ange huvudet på begäran. Om det här huvudet inte anges kopieras de metadata som är associerade med basbloben till ögonblicksbilden.

Eventuella taggar som är associerade med basbloben kopieras till ögonblicksbilden. Det går inte att ange nya taggvärden för ögonblicksbilden.

Du kan ange villkorsstyrda rubriker på begäran för att ta en ögonblicksbild av bloben endast om ett villkor uppfylls. Om det angivna villkoret inte uppfylls skapas inte ögonblicksbilden. Tjänsten returnerar statuskoden 412 (villkoret misslyckades), tillsammans med ytterligare felinformation om det ouppfyllda villkoret.

Om basbloben har ett aktivt lån kan du ta en ögonblicksbild av bloben så länge något av följande villkor gäller för begäran:

  • Villkorsrubriken x-ms-lease-id anges och det aktiva låne-ID:t för basbloben ingår i begäran. Det här villkoret anger att ögonblicksbilden endast skapas om lånet är aktivt och det angivna låne-ID:t matchar det som är associerat med bloben.

  • Rubriken x-ms-lease-id anges inte alls, i så fall ignoreras det exklusiva skrivlånet.

Observera att ett lån som är associerat med basbloben inte kopieras till ögonblicksbilden. Ögonblicksbilder kan inte hyras.

När du kopierar en basblob med hjälp av åtgärden Kopiera blob kopieras inga ögonblicksbilder av basbloben till målbloben. När en målblob skrivs över med en kopia förblir alla ögonblicksbilder som är associerade med målbloben intakta under dess namn.

Du kan kopiera en ögonblicksbildsblob över dess basblob för att återställa en tidigare version av en blob. Ögonblicksbilden finns kvar, men basbloben skrivs över med en kopia som kan både läsas och skrivas.

Anteckning

Att höja upp en ögonblicksbild medför ingen extra kostnad för lagringsresurser. Det beror på att block eller sidor delas mellan ögonblicksbilden och basbloben.

Du kan ange en blobnivå på en ögonblicksbild från och med REST-version 2019-12-12. Om en nivå anges på en rotblob ärver alla ögonblicksbilder nivån från basbloben. Det går inte att ta en ögonblicksbild på en arkiverad blob. Om du uttryckligen anger nivån för ett objekt resulterar det i fakturering för objektets fullständiga storlek. Om du tar en ögonblicksbild av en blob som har nivåuppsättningen resulterar det i fullständig kopieringsfakturering av rotbloben och ögonblicksbilden. Detaljerad information om nivåindelning på blockblobnivå finns i Lagringsnivåer för frekvent, lågfrekvent lagring och arkivlagring.

Det finns några skillnader mellan Azure Premium Storage-konton och standardlagringskonton när det gäller ögonblicksbilder:

  • Antalet ögonblicksbilder per sidblob i ett Premium Storage konto är begränsat till 100. Om den gränsen överskrids Snapshot Blob returnerar åtgärden felkoden 409 (antalet ögonblicksbilder har överskridits).

  • Du kan ta en ögonblicksbild av en sidblob på ett Premium Storage konto en gång var tionde minut. Om den hastigheten överskrids Snapshot Blob returnerar åtgärden felkod 409 (åtgärdsfrekvensen för ögonblicksbilder har överskridits).

  • Du kan inte läsa en ögonblicksbild av en sidblob i ett Premium Storage konto med hjälp av Hämta blob. I det här fallet returnerar tjänsten felkoden 400 (ogiltig åtgärd). Du kan dock anropa Hämta blobegenskaper och Hämta blobmetadata mot en ögonblicksbild.

    Om du vill läsa en ögonblicksbild kan du använda åtgärden Kopiera blob för att kopiera en ögonblicksbild till en annan sidblob i kontot. Målbloben för kopieringsåtgärden får inte ha några befintliga ögonblicksbilder. Om målbloben har ögonblicksbilder returneras Copy Blob felkoden 409 (SnapshotsPresent).

Mer information finns i Använda Blob Storage-åtgärder med Azure Premium Storage.

När versionshantering är aktiverat genererar skapandet av en ögonblicksbild av en blob också en ny version och sparar den tidigare versionen av basbloben. Parametern x-ms-version-id returnerar ett täckande DateTime värde för den nya versionen av blobben.

Fakturering

Prisbegäranden kan komma från klienter som använder Blob Storage-API:er, antingen direkt via REST-API:et för Blob Storage eller från ett Azure Storage-klientbibliotek. Dessa begäranden ackumulerar avgifter per transaktion. Typen av transaktion påverkar hur kontot debiteras. Lästransaktioner till exempel tillfaller en annan faktureringskategori än skrivtransaktioner. I följande tabell visas faktureringskategorin för Snapshot Blob begäranden baserat på lagringskontotypen:

Åtgärd Typ av lagringskonto Faktureringskategori
Ta ögonblicksbild av blob Premium-blockblob
Standard generell användning v2
Standard generell användning v1
Läsåtgärder

Mer information om priser för den angivna faktureringskategorin finns i Azure Blob Storage Prissättning.

Se även

Skapa en ögonblicksbild av en blob

Auktorisera begäranden till Azure Storage

Status- och felkoder

Felkoder för Blob Storage