Om du vill läsa en blob som finns på arkivnivån måste du först extrahera bloben till en onlinenivå (frekvent, lågfrekvent eller kall). Du kan extrahera en blob på något av två sätt:
Genom att kopiera den till en ny blob på den frekventa, lågfrekventa eller kalla nivån med åtgärden Kopiera blob .
Genom att ändra nivån från arkiv till frekvent, lågfrekvent eller kall nivå med åtgärden Ange blobnivå .
När du extraherar en blob kan du ange åtgärdens prioritet till antingen standardprioritet eller hög prioritet. En rehydreringsåtgärd med standardprioritet kan ta upp till 15 timmar att slutföra. En högprioriterad åtgärd prioriteras framför standardprioritetsbegäranden och kan slutföras på mindre än en timme för objekt under 10 GB i storlek. Du kan ändra rehydreringsprioriteten från Standard till Hög medan åtgärden väntar.
Du kan konfigurera Azure Event Grid att utlösa en händelse när återfuktningen är klar och köra programkoden som svar. Information om hur du hanterar en händelse som kör en Azure-funktion när blobåterställningsåtgärden är klar finns i Köra en Azure-funktion som svar på en blobåterställningshändelse.
Om du vill extrahera en blob från arkivnivån genom att kopiera den till en onlinenivå använder du Azure-portalen, PowerShell, Azure CLI eller något av Azure Storage-klientbiblioteken. Tänk på att när du kopierar en arkiverad blob till en onlinenivå måste käll- och målblobbarna ha olika namn.
Kopiering av en arkiverad blob till en onlinemålnivå stöds i samma lagringskonto. Från och med tjänstversion 2021-02-12 kan du kopiera en arkiverad blob till ett annat lagringskonto, så länge målkontot finns i samma region som källkontot.
När kopieringsåtgärden är klar visas målbloben på arkivnivån. Målbloben extraheras sedan till den onlinenivå som du angav i kopieringsåtgärden. När målbloben är helt uttorkad blir den tillgänglig på den nya onlinenivån.
Extrahera en blob till samma lagringskonto
Följande exempel visar hur du kopierar en arkiverad blob till en blob på den frekventa nivån i samma lagringskonto.
I navigeringsfönstret för lagringskontot väljer du Lagringswebbläsare.
I lagringswebbläsaren navigerar du till platsen för den arkiverade bloben, markerar kryssrutan som visas bredvid bloben och väljer sedan knappen Kopiera .
Navigera till containern där du vill placera den uttorkade bloben och välj sedan knappen Klistra in .
Dialogrutan Klistra in arkivblob visas.
Kommentar
Om du väljer knappen Klistra in på samma plats som källbloben innehåller standardnamnet som visas i fältet Målblobnamn ett numeriskt suffix. Detta säkerställer att käll- och målblobbarna har olika namn. Du kan ändra det här namnet om du vill så länge namnet skiljer sig från namnet på källbloben.
I dialogrutan Klistra in arkivblob väljer du en åtkomstnivå och en återfuktningsprioritet. Välj sedan Klistra in för att extrahera bloben.
Viktigt!
Ta inte bort källbloben när den är uttorkande.
Om du vill kopiera en arkiverad blob till en onlinenivå med PowerShell anropar du kommandot Start-AzStorageBlobCopy och anger målnivån och rehydreringsprioriteten. Kom ihåg att ersätta platshållare inom vinkelparenteser med dina egna värden:
# Initialize these variables with your values.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$srcContainerName = "<source-container>"
$destContainerName = "<dest-container>"
$srcBlobName = "<source-blob>"
$destBlobName = "<dest-blob>"
# Get the storage account context
$ctx = (Get-AzStorageAccount `
-ResourceGroupName $rgName `
-Name $accountName).Context
# Copy the source blob to a new destination blob in hot tier with Standard priority.
Start-AzStorageBlobCopy -SrcContainer $srcContainerName `
-SrcBlob $srcBlobName `
-DestContainer $destContainerName `
-DestBlob $destBlobName `
-StandardBlobTier Hot `
-RehydratePriority Standard `
-Context $ctx
Om du vill kopiera en arkiverad blob till en onlinenivå med Azure CLI anropar du kommandot az storage blob copy start och anger målnivån och återställningsprioriteten. Kom ihåg att ersätta platshållare inom vinkelparenteser med dina egna värden:
az storage blob copy start \
--source-container <source-container> \
--source-blob <source-blob> \
--destination-container <dest-container> \
--destination-blob <dest-blob> \
--account-name <storage-account> \
--tier hot \
--rehydrate-priority standard \
--auth-mode login
Ej tillämpligt
Extrahera en blob till ett annat lagringskonto i samma region
I följande exempel visas hur du kopierar en arkiverad blob till en blob på den frekventa nivån i ett annat lagringskonto.
I navigeringsfönstret för lagringskontot väljer du Lagringswebbläsare.
I lagringswebbläsaren navigerar du till platsen för den arkiverade bloben, markerar kryssrutan som visas bredvid bloben och väljer sedan knappen Kopiera .
Gå till mållagringskontot och välj Lagringswebbläsare i navigeringsfönstret.
Navigera till containern där du vill placera den uttorkade bloben och välj sedan knappen Klistra in .
Dialogrutan Klistra in arkivblob visas.
I dialogrutan Klistra in arkivblob väljer du en åtkomstnivå och en återfuktningsprioritet. Välj sedan Klistra in för att extrahera bloben.
Viktigt!
Ta inte bort källbloben när den är uttorkande.
Om du vill kopiera en arkiverad blob till en blob på en onlinenivå i ett annat lagringskonto med PowerShell kontrollerar du att du har installerat Az.Storage-modulen version 4.4.0 eller senare. Anropa sedan kommandot Start-AzStorageBlobCopy och ange onlinenivån för mål och prioriteten för återfuktning. Du måste ange en signatur för delad åtkomst (SAS) med läsbehörighet för den arkiverade källbloben.
I följande exempel visas hur du kopierar en arkiverad blob till den frekventa nivån i ett annat lagringskonto. Kom ihåg att ersätta platshållare inom vinkelparenteser med dina egna värden:
$rgName = "<resource-group>"
$srcAccount = "<source-account>"
$destAccount = "<dest-account>"
$srcContainer = "<source-container>"
$destContainer = "<dest-container>"
$srcBlob = "<source-blob>"
$destBlob = "<destination-blob>"
# Get the destination account context
$destCtx = New-AzStorageContext -StorageAccountName $destAccount -UseConnectedAccount
# Get the source account context
$srcCtx = New-AzStorageContext -StorageAccountName $srcAccount -UseConnectedAccount
# Get the SAS URI for the source blob
$srcBlobUri = New-AzStorageBlobSASToken -Container $srcContainer `
-Blob $srcBlob `
-Permission rwd `
-ExpiryTime (Get-Date).AddDays(1) `
-FullUri `
-Context $srcCtx
# Start the cross-account copy operation
Start-AzStorageBlobCopy -AbsoluteUri $srcBlobUri `
-DestContainer $destContainer `
-DestBlob $destBlob `
-DestContext $destCtx `
-StandardBlobTier Hot `
-RehydratePriority Standard
Om du vill kopiera en arkiverad blob till en blob på en onlinenivå i ett annat lagringskonto med Azure CLI kontrollerar du att du har installerat version 2.35.0 eller senare. Anropa sedan kommandot az storage blob copy start och ange online-målnivån och återhydreringsprioriteten. Du måste ange en signatur för delad åtkomst (SAS) med läsbehörighet för den arkiverade källbloben.
I följande exempel visas hur du kopierar en arkiverad blob till den frekventa nivån i ett annat lagringskonto. Kom ihåg att ersätta platshållare inom vinkelparenteser med dina egna värden:
# Specify the expiry interval
end=`date -u -d "1 day" '+%Y-%m-%dT%H:%MZ'`
# Get a SAS for the source blob
srcBlobUri=$(az storage blob generate-sas \
--account-name <source-account> \
--container <source-container> \
--name <archived-source-blob> \
--permissions rwd \
--expiry $end \
--https-only \
--full-uri \
--as-user \
--auth-mode login | tr -d '"')
# Copy to the destination blob in the hot tier
az storage blob copy start \
--source-uri $srcBlobUri \
--account-name <dest-account> \
--destination-container <dest-container> \
--destination-blob <dest-blob> \
--tier Hot \
--rehydrate-priority Standard \
--auth-mode login
Ej tillämpligt
Rehydrera från en sekundär region
Om du har konfigurerat lagringskontot för att använda geo-redundant lagring med läsåtkomst (RA-GRS) kan du kopiera en arkiverad blob som finns i en sekundär region till en onlinenivå i ett annat lagringskonto som finns i samma sekundära region.
Om du vill extrahera från en sekundär region använder du samma vägledning som visas i föregående avsnitt (Extrahera en blob till ett annat lagringskonto i samma region. Lägg till suffixet -secondary i källslutpunktens kontonamn. Om din primära slutpunkt för Blob Storage till exempel är myaccount.blob.core.windows.netär myaccount-secondary.blob.core.windows.netden sekundära slutpunkten . Kontoåtkomstnycklarna för ditt lagringskonto är desamma för både de primära och sekundära slutpunkterna.
Följ dessa steg om du vill ändra en blobnivå från arkiv till frekvent eller lågfrekvent i Azure-portalen:
Leta upp bloben som ska extraheras i Azure-portalen.
Välj knappen Mer till höger på sidan.
Välj Ändra nivå.
Välj målåtkomstnivån i listrutan Åtkomstnivå .
I listrutan Rehydrate priority (Rehydrate priority) väljer du önskad återfuktningsprioritet. Tänk på att om du ställer in rehydreringsprioriteten på Hög resulterar det vanligtvis i snabbare uttorkning, men det medför också en högre kostnad.
Klicka på knappen Spara.
Om du vill ändra en blobnivå från arkiv till frekvent eller lågfrekvent med PowerShell använder du blobens BlobClient-egenskap för att returnera en .NET-referens till blobben och anropar sedan metoden SetAccessTier för den referensen. Kom ihåg att ersätta platshållare inom vinkelparenteser med dina egna värden:
# Initialize these variables with your values.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$containerName = "<container>"
$blobName = "<archived-blob>"
# Get the storage account context
$ctx = (Get-AzStorageAccount `
-ResourceGroupName $rgName `
-Name $accountName).Context
# Change the blob's access tier to hot with Standard priority.
$blob = Get-AzStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$blob.BlobClient.SetAccessTier("Hot", $null, "Standard")
Om du vill ändra en blobnivå från arkiv till frekvent eller lågfrekvent med Azure CLI anropar du kommandot az storage blob set-tier . Kom ihåg att ersätta platshållare inom vinkelparenteser med dina egna värden:
az storage blob set-tier \
--account-name <storage-account> \
--container-name <container> \
--name <archived-blob> \
--tier Hot \
--rehydrate-priority Standard \
--auth-mode login
Om du vill ändra en blobnivå från arkiv till frekvent eller lågfrekvent med AzCopy använder du kommandot azcopy set-properties och anger parametern -block-blob-tier till önskad nivå och --rehydrate-priority till standard eller high. Som standard är den här parametern inställd på standard. Mer information om kompromisser för varje alternativ finns i Rehydreringsprioritet.
Viktigt!
Möjligheten att ändra en blobnivå med hjälp av AzCopy finns för närvarande i FÖRHANDSVERSION.
Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.
Kommentar
Det här exemplet omger sökvägsargument med enkla citattecken ('''). Använd enkla citattecken i alla kommandogränssnitt förutom Windows Command Shell (cmd.exe). Om du använder ett Windows-kommandogränssnitt (cmd.exe) omger du sökvägsargument med dubbla citattecken ("") i stället för enkla citattecken (''). Det här exemplet innehåller inte heller någon SAS-token eftersom det förutsätter att du har angett autentiseringsuppgifter för auktorisering med hjälp av Microsoft Entra-ID. Se artikeln Kom igång med AzCopy för att lära dig mer om hur du kan ange autentiseringsuppgifter för auktorisering till lagringstjänsten.
Om du vill extrahera arkiverade blobar i en container eller mapp till den frekventa eller lågfrekventa nivån räknar du upp genom blobarna och anropar åtgärden Ange blobnivå på var och en. I följande exempel visas hur du utför den här åtgärden:
När bloben håller på att extraheras kan du kontrollera dess status och rehydreringsprioritet med hjälp av Azure-portalen, PowerShell eller Azure CLI. Statusegenskapen kan returnera rehydrate-pending-to-hot eller rehydrate-pending-to-cool, beroende på målnivån för rehydreringsåtgärden. Egenskapen rehydreringsprioritet returnerar antingen Standard eller High.
Tänk på att uttorkning av en arkiverad blob kan ta upp till 15 timmar och upprepade gånger avsöka blobens status för att avgöra om uttorkningen är klar är ineffektiv. Att använda Azure Event Grid för att fånga den händelse som utlöses när rehydreringen är klar ger bättre prestanda och kostnadsoptimering. Information om hur du kör en Azure-funktion när en händelse utlöses vid blobåterställning finns i Köra en Azure-funktion som svar på en blobåterställningshändelse.
Om du vill kontrollera status och prioritet för en väntande återfuktningsåtgärd i Azure-portalen visar du dialogrutan Ändra nivå för bloben:
När uttorkningen är klar kan du se i Azure-portalen att den helt uttorkade bloben nu visas på den aktuella onlinenivån.
Om du vill kontrollera statusen och prioriteten för en väntande återhydreringsåtgärd med PowerShell anropar du kommandot Get-AzStorageBlob och kontrollerar egenskaperna ArchiveStatus och RehydratePriority för bloben. Om återfuktningen är en kopieringsåtgärd kontrollerar du dessa egenskaper i målbloben. Kom ihåg att ersätta platshållare inom vinkelparenteser med dina egna värden:
Om du vill kontrollera statusen och prioriteten för en väntande rehydreringsåtgärd med Azure CLI anropar du kommandot az storage blob show och kontrollerar egenskaperna rehydrationStatus och rehydratePriority för målbloben. Kom ihåg att ersätta platshållare inom vinkelparenteser med dina egna värden:
Ändra rehydreringsprioriteten för en väntande åtgärd
Medan en rehydreringsåtgärd med standardprioritet väntar kan du ändra inställningen för återfuktningsprioritet för en blob från Standard till Hög för att extrahera bloben snabbare.
Inställningen för rehydreringsprioritet kan inte sänkas från Hög till Standard för en väntande åtgärd. Tänk också på att en ändring av återfuktningsprioriteten kan ha en faktureringspåverkan. Mer information finns i Blob rehydrering från arkivnivån.
Ändra återfuktningsprioriteten för en väntande åtgärd för att ange blobnivå
Om du vill ändra återfuktningsprioriteten medan en standardprioritetsåtgärd för Set Blob Tier väntar använder du Azure-portalen, PowerShell, Azure CLI eller något av Azure Storage-klientbiblioteken.
Följ dessa steg om du vill ändra återfuktningsprioriteten för en väntande åtgärd med Azure-portalen:
Navigera till den blob som du vill ändra återhydreringsprioriteten för och välj bloben.
Välj knappen Ändra nivå.
I dialogrutan Ändra nivå anger du åtkomstnivån till målåtkomstnivån online för den uttorkande bloben (frekvent eller lågfrekvent). Fältet Arkivstatus visar onlinenivån för mål.
I listrutan Rehydrate priority (Rehydrate priority) anger du prioriteten till Hög.
Välj Spara.
Om du vill ändra återfuktningsprioriteten för en väntande åtgärd med PowerShell kontrollerar du att du har installerat Az.Storage-modulen version 3.12.0 eller senare. Hämta sedan blobens egenskaper från tjänsten. Det här steget är nödvändigt för att säkerställa att du har ett objekt med de senaste egenskapsinställningarna. Använd slutligen blobens BlobClient-egenskap för att returnera en .NET-referens till bloben och anropa sedan metoden SetAccessTier för den referensen.
# Get the blob from the service.
$rehydratingBlob = Get-AzStorageBlob -Container $containerName -Blob $blobName -Context $ctx
# Verify that the current rehydration priority is Standard.
if ($rehydratingBlob.BlobProperties.RehydratePriority -eq "Standard")
{
# Change rehydration priority to High, using the same target tier.
if ($rehydratingBlob.BlobProperties.ArchiveStatus -eq "rehydrate-pending-to-hot")
{
$rehydratingBlob.BlobClient.SetAccessTier("Hot", $null, "High")
"Changing rehydration priority to High for blob moving to hot tier."
}
if ($rehydratingBlob.BlobProperties.ArchiveStatus -eq "rehydrate-pending-to-cool")
{
$rehydratingBlob.BlobClient.SetAccessTier("Cool", $null, "High")
"Changing rehydration priority to High for blob moving to cool tier."
}
}
Om du vill ändra återfuktningsprioriteten för en väntande åtgärd med Azure CLI kontrollerar du först att du har installerat Azure CLI, version 2.29.2 eller senare. Mer information om hur du installerar Azure CLI finns i Så här installerar du Azure CLI.
Anropa sedan kommandot az storage blob set-tier med parametern inställd på --rehydrate-priority Hög. Målnivån (frekvent eller lågfrekvent) måste vara samma nivå som du ursprungligen angav för återfuktningsåtgärden. Kom ihåg att ersätta platshållare inom vinkelparenteser med dina egna värden:
# Update the rehydration priority for a blob moving to the hot tier.
az storage blob set-tier \
--account-name <storage-account> \
--container-name <container> \
--name <blob> \
--tier Hot \
--rehydrate-priority High \
--auth-mode login
# Show the updated property values.
az storage blob show \
--account-name <storage-account> \
--container-name <container> \
--name <blob> \
--query '[rehydratePriority, properties.rehydrationStatus]' \
--output tsv \
--auth-mode login
Ej tillämpligt
Ändra rehydreringsprioriteten för en väntande kopieringsblobåtgärd
När du extraherar en blob genom att kopiera den arkiverade bloben till en onlinenivå skapar Azure Storage omedelbart målbloben på arkivnivån. Målbloben extraheras sedan till målnivån med den prioritet som angetts för kopieringsåtgärden. Mer information om hur du extraherar en arkiverad blob med en kopieringsåtgärd finns i Kopiera en arkiverad blob till en onlinenivå.
Om du vill utföra kopieringsåtgärden från arkivnivån till en onlinenivå med standardprioritet använder du PowerShell, Azure CLI eller något av Azure Storage-klientbiblioteken. Mer information finns i Rehydrate a blob with a copy operation (Återskapa en blob med en kopieringsåtgärd). Om du vill ändra rehydreringsprioriteten från Standard till Hög för den väntande uttorkningen anropar du Ange blobnivå på målbloben och anger målnivån.
När du har initierat kopieringsåtgärden ser du i Azure-portalen att både käll- och målbloben finns på arkivnivån. Målbloben återställs med standardprioritet.
Följ dessa steg om du vill ändra rehydreringsprioriteten för målbloben:
Välj målbloben.
Välj knappen Ändra nivå.
I dialogrutan Ändra nivå anger du åtkomstnivån till målåtkomstnivån online för den uttorkande bloben (frekvent eller lågfrekvent). Fältet Arkivstatus visar onlinenivån för mål.
I listrutan Rehydrate priority (Rehydrate priority) anger du prioriteten till Hög.
Välj Spara.
Målblobens egenskapssida visar nu att den är uttorkande med hög prioritet.
När du har initierat kopieringsåtgärden kontrollerar du egenskaperna för målbloben. Du ser att målbloben finns på arkivnivån och håller på att extraheras med standardprioritet.
# Initialize these variables with your values.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$destContainerName = "<container>"
$destBlobName = "<destination-blob>"
# Get the storage account context
$ctx = (Get-AzStorageAccount `
-ResourceGroupName $rgName `
-Name $accountName).Context
# Get properties for the destination blob.
$destinationBlob = Get-AzStorageBlob -Container $destContainerName `
-Blob $destBlobName `
-Context $ctx
$destinationBlob.BlobProperties.AccessTier
$destinationBlob.BlobProperties.ArchiveStatus
$destinationBlob.BlobProperties.RehydratePriority
Anropa sedan metoden SetAccessTier via PowerShell för att ändra rehydreringsprioriteten för målbloben till Hög, enligt beskrivningen i Ändra rehydreringsprioriteten för en väntande åtgärd på Set Blob Tier. Målnivån (frekvent eller lågfrekvent) måste vara samma nivå som du ursprungligen angav för återfuktningsåtgärden. Kontrollera egenskaperna igen för att kontrollera att bloben nu är uttorkad med hög prioritet.
När du har initierat kopieringsåtgärden kontrollerar du egenskaperna för målbloben. Du ser att målbloben finns på arkivnivån och håller på att extraheras med standardprioritet.
Anropa sedan kommandot az storage blob set-tier med parametern --rehydrate-priority inställd på Hög, enligt beskrivningen i Ändra rehydreringsprioriteten för en väntande åtgärd för att ange blobnivå. Målnivån (frekvent eller lågfrekvent) måste vara samma nivå som du ursprungligen angav för återfuktningsåtgärden. Kontrollera egenskaperna igen för att kontrollera att bloben nu är uttorkad med hög prioritet.