Om du vill läsa en blob som finns på arkivnivån måste du först extrahydrera bloben till en onlinenivå (hot eller cool). Du kan återupphysa en blob på något av två sätt:
Genom att kopiera den till en ny blob på nivån Hot eller Cool med åtgärden Kopiera blob. Microsoft rekommenderar det här alternativet för de flesta scenarier.
När du återuppbar en blob kan du ange prioriteten för åtgärden till standardprioritet eller hög prioritet. En återfuktningsåtgärd med standardprioritet kan ta upp till 15 timmar att slutföra. En åtgärd med hög prioritet prioriteras över begäranden med standardprioritet och kan slutföras på mindre än en timme för objekt under 10 GB i storlek. Du kan ändra återfuktningsprioritet från Standardtill Hög medan åtgärden väntar.
Du kan konfigurera Azure Event Grid att köra en händelse när återuppvädrning är klar och köra programkoden som svar. Information om hur du hanterar en händelse som kör en Azure-funktion när extraurseringsåtgärden för bloben är klar finns i Köra en Azure-funktion som svar på en blobbrehydreringshändelse.
Om du vill extrahydrera en blob från arkivnivån genom att kopiera den till en onlinenivå använder du 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ålblobarna ha olika namn.
När kopieringen är klar visas målbloben på arkivnivån. Målbloben rehydreras sedan till onlinenivån som du angav i kopieringsåtgärden. När målbloben är helt återställd blir den tillgänglig på den nya onlinenivån.
I följande exempel visas hur du kopierar en arkiverad blob med PowerShell eller Azure CLI.
Om du vill kopiera en arkiverad blob till en onlinenivå med PowerShell anropar du kommandot Start-AzStorageBlobCopy och anger målnivån och återfuktningsprioritet. 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 återfuktningsprioritet. 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
Återuppda en blob genom att ändra dess nivå
Om du vill återuppstända en blob genom att ändra dess nivå från Arkiv till Hot eller Cool använder du Azure Portal, PowerShell eller Azure CLI.
Följ dessa steg om du vill ändra en blobs nivå från Arkiv till Azure Portal eller Kall i följande steg:
Leta upp bloben som ska Azure Portal.
Välj knappen Mer till höger på sidan.
Välj Ändra nivå.
Välj målåtkomstnivå från listrutan Åtkomstnivå.
I listrutan Rehydrate priority (Återuppvätningsprioritet) väljer du önskad prioritet för återuppdrering. Tänk på att om du ställer in prioriteten för extrahydrering på Hög resulterar det vanligtvis i snabbare extra extra information, men det medför också en större kostnad.
Välj knappen Spara.
Om du vill ändra en blobs nivå från Arkiv till Hot eller Cool med PowerShell använder du blobens BlobClient-egenskap för att returnera en .NET-referens till bloben och anropar sedan metoden SetAccessTier på 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 blobs nivå från Arkiv till Hot eller Cool 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
Masshydrera en uppsättning blobar
Om du vill rehydrera ett stort antal blobar samtidigt anropar du Blob Batch-åtgärden för att anropa Set Blob Tier (Ange blobnivå) som en massåtgärd. Ett kodexempel som visar hur du utför batchåtgärden finns i AzBulkSetBlobTier.
Kontrollera statusen för en återuppvädreringsåtgärd
När bloben återupprepas kan du kontrollera status och prioritet för återuppdäckning med hjälp av Azure Portal, PowerShell eller Azure CLI. Statusegenskapen kan returnera rehydrate-pending-to-hot eller rehydrate-pending-to-cool, beroende på målnivån för återuppvädrningsåtgärden. Egenskapen rehydration priority returnerar antingen Standard eller Hög.
Tänk på att återuppvädring av en arkiverad blob kan ta upp till 15 timmar, och att upprepade gånger avssöka blobens status för att avgöra om återuppfuktningen är slutförd är ineffektiv. Med Azure Event Grid för att samla in den händelse som utspelar sig när återuppvädrningen är klar får du bättre prestanda- och kostnadsoptimering. Information om hur du kör en Azure-funktion när en händelse körs på blobbrehydrering finns i Run an Azure Function in response to a blob rehydration event (Köra en Azure-funktion som svar på en blob-återuppdäckningshändelse).
Om du vill kontrollera status och prioritet för en väntande återuppvädreringsåtgärd i Azure Portal du dialogrutan Ändra nivå för bloben:
När återupptäckning är klar kan du se i Azure Portal att den fullständigt extrahydrerade bloben nu visas på målnivån online.
Om du vill kontrollera status och prioritet för en väntande återuppväckningsåtgärd med PowerShell anropar du kommandot Get-AzStorageBlob och kontrollerar egenskaperna ArchiveStatus och RehydratePriority för bloben. Om återuppvädningen är en kopieringsåtgärd kontrollerar du dessa egenskaper på målbloben. Kom ihåg att ersätta platshållare inom vinkelparenteser med dina egna värden:
Om du vill kontrollera status och prioritet för en väntande återuppväckningså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 återfuktningsprioritet för en väntande åtgärd
Medan en återfuktningsåtgärd med standardprioritet väntar kan du ändra prioritetsinställningen för återuppdäckning för en blob från Standard till Hög för att extrahydrera bloben snabbare.
Observera att prioritetsinställningen för extra vatten inte kan sänkas från Högtill Standard för en väntande åtgärd. Tänk också på att en ändring av extra informationsprioritet kan ha en faktureringspåverkan. Mer information finns i Återuppdäckning av blob från arkivnivån.
Ändra återfuktningsprioritet för en väntande åtgärd på Set Blob-nivå
Om du vill ändra återfuktningsprioritet medan en åtgärd för att ange blobnivå av standardprioritet väntar använder du Azure Portal, PowerShell, Azure CLI eller något av Azure Storage klientbiblioteken.
Följ dessa steg om du vill ändra återfuktningsprioritet för en väntande åtgärd Azure Portal den här åtgärden:
Gå till bloben som du vill ändra prioriteten för extra information för och välj bloben.
Välj knappen Ändra nivå.
I dialogrutan Ändra nivå anger du åtkomstnivån till onlineåtkomstnivån för målbloben (hot eller cool). Fältet Arkivstatus visar onlinenivån som mål.
I listrutan Rehydrate priority (Rehydrate-prioritet) anger du prioriteten till High (Hög).
Välj Spara.
Om du vill ändra återfuktningsprioritet 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 se till 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 i 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 återfuktningsprioritet 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 --rehydrate-priority parametern inställd på Hög. Målnivån (hot eller cool) måste vara samma nivå som du ursprungligen angav för återuppfuktningen. 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
Ändra återfuktningsprioritet för en väntande kopieringsblobåtgärd
När du tar bort en blob genom att kopiera den arkiverade bloben till en onlinenivå skapar Azure Storage omedelbart målbloben på arkivlagringsnivån. Målbloben rehydreras sedan till målnivån med den prioritet som anges för kopieringsåtgärden. Mer information om hur du återskapar 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 de Azure Storage klientbiblioteken. Mer information finns i Rehydrate a blob with a copy operation (Återupphydrera en blob med en kopieringsåtgärd). Om du vill ändra återfuktningsprioritet från Standard till Hög för väntande återuppdäckning anropar du Ange blobnivå på målbloben och anger målnivån.
När du har initierat kopieringsåtgärden ser du i Azure Portal att både käll- och målbloben finns på arkivnivån. Målbloben återskapas med standardprioritet.
Följ dessa steg om du vill ändra återfuktningsprioritet 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 återuppväkande bloben (varm eller kall). Fältet Arkivstatus visar onlinenivån som mål.
I listrutan Rehydrate priority (Rehydrate priority) anger du prioriteten till High (Hög).
Välj Spara.
Målblobens egenskapssida visar nu att den härdas 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ärdas 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 återfuktningsprioritet för målbloben till Hög, enligt beskrivningen i Ändra återfuktningsprioritet för en väntande åtgärd på Set Blob Tier. Målnivån (hot eller cool) måste vara samma nivå som du ursprungligen angav för återuppdreringsåtgärden. Kontrollera egenskaperna igen för att kontrollera att bloben nu återupptäcks 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ärdas med standardprioritet.
Anropa sedan kommandot az storage blob set-tier med parametern inställd på Hög, enligt beskrivningen i Ändra återuppdäckningsprioritet för en väntande --rehydrate-priority åtgärd på Set Blob Tier. Målnivån (hot eller cool) måste vara samma nivå som du ursprungligen angav för återuppdreringsåtgärden. Kontrollera egenskaperna igen för att kontrollera att bloben nu återupptäcks med hög prioritet.