Warstwę dostępu obiektu blob można ustawić na dowolny z następujących sposobów:
Ustawiając domyślną warstwę dostępu online dla konta magazynu. Obiekty blob na koncie dziedziczą tę warstwę dostępu, chyba że jawnie zastąpisz ustawienie dla pojedynczego obiektu blob.
Jawne ustawienie warstwy obiektu blob podczas przekazywania. Obiekt blob można utworzyć w warstwie Gorąca, Chłodna, Chłodna lub Archiwum.
Zmieniając warstwę istniejącego obiektu blob za pomocą operacji Ustaw warstwę obiektu blob. Zazwyczaj ta operacja jest używana do przejścia z warstwy gorąca do chłodniejszej.
Kopiując obiekt blob za pomocą operacji kopiowania obiektu blob. Zazwyczaj ta operacja jest używana do przejścia z chłodniejszej warstwy do cieplejszej.
Aby uzyskać więcej informacji na temat warstw dostępu dla obiektów blob, zobacz Warstwy dostępu dla danych obiektów blob.
Ustawianie domyślnej warstwy dostępu dla konta magazynu
Domyślne ustawienie warstwy dostępu dla konta magazynu ogólnego przeznaczenia w wersji 2 określa, w której warstwie online jest tworzony nowy obiekt blob. Możesz ustawić domyślną warstwę dostępu dla konta magazynu ogólnego przeznaczenia w wersji 2 w momencie utworzenia konta lub przez zaktualizowanie konfiguracji istniejącego konta.
Zmiana domyślnego ustawienia warstwy dostępu dla istniejącego konta magazynu ogólnego przeznaczenia w wersji 2 dotyczy wszystkich obiektów blob na koncie, dla których nie ustawiono jawnie warstwy dostępu. Zmiana domyślnej warstwy dostępu może mieć wpływ na rozliczenia. Aby uzyskać szczegółowe informacje, zobacz Ustawienie domyślnej warstwy dostępu do konta.
Aby ustawić domyślną warstwę dostępu dla konta magazynu w czasie tworzenia w witrynie Azure Portal, wykonaj następujące kroki:
Przejdź do strony Konta magazynu i wybierz przycisk Utwórz .
Wypełnij kartę Podstawowe .
Na karcie Zaawansowane w obszarze Blob Storage ustaw warstwę dostępu na Gorąca, Chłodna lub Zimna. Ustawieniem domyślnym jest Gorąca.
Wybierz pozycję Przejrzyj i utwórz , aby zweryfikować ustawienia i utworzyć konto magazynu.
Aby zaktualizować domyślną warstwę dostępu dla istniejącego konta magazynu w witrynie Azure Portal, wykonaj następujące kroki:
Przejdź do konta magazynu w witrynie Azure Portal.
W obszarze Ustawienia wybierz pozycję Konfiguracja.
Znajdź ustawienie Warstwa dostępu obiektu blob (domyślna) i wybierz pozycję Gorąca, Chłodna lub Zimna. Ustawieniem domyślnym jest Gorąca, jeśli nie ustawiono wcześniej tej właściwości.
Zapisz zmiany.
Aby zmienić domyślne ustawienie warstwy dostępu dla konta magazynu za pomocą programu PowerShell, wywołaj polecenie Set-AzStorageAccount , określając nową domyślną warstwę dostępu.
Aby zmienić domyślne ustawienie warstwy dostępu dla konta magazynu za pomocą programu PowerShell, wywołaj polecenie Set-AzStorageAccount , określając nową domyślną warstwę dostępu.
# Change the storage account tier to cool
az storage account update \
--resource-group <resource-group> \
--name <storage-account> \
--access-tier Cool
Nie dotyczy
Ustawianie warstwy obiektu blob podczas przekazywania
Podczas przekazywania obiektu blob do usługi Azure Storage dostępne są dwie opcje ustawiania warstwy obiektu blob podczas przekazywania:
Możesz jawnie określić warstwę, w której zostanie utworzony obiekt blob. To ustawienie zastępuje domyślną warstwę dostępu dla konta magazynu. Możesz ustawić warstwę dla obiektu blob lub zestawu obiektów blob podczas przekazywania do warstwy Gorąca, Chłodna, Chłodna lub Archiwum.
Obiekt blob można przekazać bez określania warstwy. W takim przypadku obiekt blob zostanie utworzony w domyślnej warstwie dostępu określonej dla konta magazynu (gorąca lub chłodna).
W przypadku przekazywania nowego obiektu blob korzystającego z zakresu szyfrowania nie można zmienić warstwy dostępu dla tego obiektu blob.
W poniższych sekcjach opisano sposób określania, że obiekt blob jest przekazywany do warstwy Gorąca lub Chłodna. Aby uzyskać więcej informacji na temat archiwizowania obiektu blob podczas przekazywania, zobacz Archiwizowanie obiektów blob podczas przekazywania.
Przekazywanie obiektu blob do określonej warstwy online
Aby utworzyć obiekt blob w warstwie Gorąca, Chłodna lub Chłodna, określ warstwę podczas tworzenia obiektu blob. Warstwa dostępu określona podczas przekazywania zastępuje domyślną warstwę dostępu dla konta magazynu.
Aby przekazać obiekt blob lub zestaw obiektów blob do określonej warstwy z witryny Azure Portal, wykonaj następujące kroki:
Przejdź do kontenera docelowego.
Wybierz przycisk Przekaż.
Wybierz plik lub pliki do przekazania.
Rozwiń sekcję Zaawansowane i ustaw warstwę dostępu na Gorącalub Chłodna.
Wybierz przycisk Przekaż.
Aby przekazać obiekt blob lub zestaw obiektów blob do określonej warstwy za pomocą programu PowerShell, wywołaj polecenie Set-AzStorageBlobContent , jak pokazano w poniższym przykładzie. Pamiętaj, aby zastąpić wartości symboli zastępczych w nawiasach własnymi wartościami:
$rgName = <resource-group>
$storageAccount = <storage-account>
$containerName = <container>
# tier can be hot, cool, cold, or archive
$tier = <tier>
# Get context object
$ctx = New-AzStorageContext -StorageAccountName $storageAccount -UseConnectedAccount
# Create new container.
New-AzStorageContainer -Name $containerName -Context $ctx
# Upload a single file named blob1.txt to the cool tier.
Set-AzStorageBlobContent -Container $containerName `
-File "blob1.txt" `
-Blob "blob1.txt" `
-Context $ctx `
-StandardBlobTier Cool
# Upload the contents of a sample-blobs directory to the cool tier, recursively.
Get-ChildItem -Path "C:\sample-blobs" -File -Recurse |
Set-AzStorageBlobContent -Container $containerName `
-Context $ctx `
-StandardBlobTier $tier
Aby przekazać obiekt blob do określonej warstwy za pomocą interfejsu wiersza polecenia platformy Azure, wywołaj polecenie az storage blob upload , jak pokazano w poniższym przykładzie. Pamiętaj, aby zastąpić wartości symboli zastępczych w nawiasach własnymi wartościami. Zastąp symbol zastępczy symbolem <tier>hot, , coolcoldlub archive.
Aby przekazać zestaw obiektów blob do określonej warstwy za pomocą interfejsu wiersza polecenia platformy Azure, wywołaj polecenie az storage blob upload-batch , jak pokazano w poniższym przykładzie. Pamiętaj, aby zastąpić wartości symboli zastępczych w nawiasach własnymi wartościami. Zastąp symbol zastępczy symbolem <tier>hot, , coolcoldlub archive.
Aby przekazać obiekt blob do określonej warstwy przy użyciu narzędzia AzCopy, użyj polecenia azcopy copy i ustaw --block-blob-tier parametr na hot, coollub archive.
Uwaga
W tym przykładzie argumenty ścieżki są ujęte w apostrofy (''). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), ujęć argumenty ścieżki z podwójnymi cudzysłowami ("") zamiast pojedynczych cudzysłowów (''). Ten przykład wyklucza token SAS, ponieważ zakłada, że podano poświadczenia autoryzacji przy użyciu identyfikatora Entra firmy Microsoft. Zapoznaj się z artykułem Wprowadzenie do narzędzia AzCopy , aby dowiedzieć się więcej o sposobach podawania poświadczeń autoryzacji do usługi magazynu.
Aby przekazać zestaw obiektów blob do określonej warstwy przy użyciu narzędzia AzCopy, zapoznaj się z katalogiem lokalnym lub zawartością katalogu lokalnego, a następnie dołącz --recursive=true do polecenia .
Konta magazynu mają domyślne ustawienie warstwy dostępu, które wskazuje, w której warstwie online jest tworzony nowy obiekt blob. Ustawienie domyślnej warstwy dostępu można ustawić na gorącą lub chłodną. Zachowanie tego ustawienia różni się nieco w zależności od typu konta magazynu:
Domyślna warstwa dostępu dla nowego konta magazynu ogólnego przeznaczenia w wersji 2 jest domyślnie ustawiona na warstwę Gorąca. Ustawienie domyślnej warstwy dostępu można zmienić podczas tworzenia konta magazynu lub po jego utworzeniu.
Podczas tworzenia starszego konta usługi Blob Storage należy określić domyślne ustawienie warstwy dostępu jako Gorąca lub Chłodna podczas tworzenia konta magazynu. Ustawienie domyślnej warstwy dostępu dla konta magazynu można zmienić po jego utworzeniu.
Obiekt blob, który nie ma jawnie przypisanej warstwy, wywnioskuje jej warstwę z domyślnego ustawienia warstwy dostępu do konta. Możesz określić, czy warstwa dostępu obiektu blob jest wnioskowana przy użyciu witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.
Jeśli warstwa dostępu obiektu blob zostanie wywnioskowana z domyślnego ustawienia warstwy dostępu konta, w witrynie Azure Portal zostanie wyświetlona warstwa dostępu gorąca (wywnioskowana), Chłodna (wywnioskowana) lub Chłodna (wywnioskowana).
Aby określić warstwę dostępu obiektu blob i określić, czy jest ona wywnioskowana z programu Azure PowerShell, pobierz obiekt blob, a następnie sprawdź jego właściwości AccessTier i AccessTierInferred .
$rgName = "<resource-group>"
$storageAccount = "<storage-account>"
$containerName = "<container>"
$blobName = "<blob>"
# Get the storage account context.
$ctx = New-AzStorageContext -StorageAccountName $storageAccount -UseConnectedAccount
# Get the blob from the service.
$blob = Get-AzStorageBlob -Context $ctx -Container $containerName -Blob $blobName
# Check the AccessTier and AccessTierInferred properties.
# If the access tier is inferred, that property returns true.
$blob.BlobProperties.AccessTier
$blob.BlobProperties.AccessTierInferred
Aby określić warstwę dostępu obiektu blob i określić, czy jest on wywnioskowany z interfejsu wiersza polecenia platformy Azure, pobierz obiekt blob, a następnie sprawdź jego właściwości blobTier i blobTierInferred .
Użyj programu PowerShell, interfejsu wiersza polecenia platformy Azure, narzędzia AzCopy w wersji 10 lub jednej z bibliotek klienckich usługi Azure Storage, aby przenieść obiekt blob do innej warstwy.
Zmienianie warstwy obiektu blob
Podczas zmiany warstwy obiektu blob przenosisz ten obiekt blob i wszystkie jego dane do warstwy docelowej, wywołując operację Ustawianie warstwy obiektu blob (bezpośrednio lub za pośrednictwem zasad zarządzania cyklem życia) lub za pomocą polecenia azcopy set-properties za pomocą narzędzia AzCopy. Ta opcja jest zazwyczaj najlepsza w przypadku zmiany warstwy obiektu blob z warstwy gorąca na chłodniejszą.
Napiwek
Za pomocą zadania magazynu można zmienić warstwę dostępu obiektów blob na dużą skalę na wielu kontach magazynu na podstawie zestawu zdefiniowanych warunków. Zadanie magazynu to zasób dostępny w usłudze Azure Storage Actions. Platforma bezserwerowa, której można użyć do wykonywania typowych operacji na danych na milionach obiektów na wielu kontach magazynu. Aby dowiedzieć się więcej, zobacz Co to jest usługa Azure Storage Actions?.
Aby zmienić warstwę obiektu blob na warstwę chłodniejszą w witrynie Azure Portal, wykonaj następujące kroki:
Przejdź do obiektu blob, dla którego chcesz zmienić warstwę.
Wybierz obiekt blob, a następnie wybierz przycisk Zmień warstwę.
W oknie dialogowym Zmiana warstwy wybierz warstwę docelową.
Wybierz przycisk zapisywania.
Aby zmienić warstwę obiektu blob na chłodniejszą warstwę za pomocą programu PowerShell, użyj właściwości BlobClient obiektu blob, aby zwrócić odwołanie platformy .NET do obiektu blob, a następnie wywołaj metodę SetAccessTier dla tego odwołania. Pamiętaj, aby zastąpić symbole zastępcze w nawiasach kątowych własnymi wartościami:
# Initialize these variables with your values.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$containerName = "<container>"
$blobName = "<blob>"
$tier = "<tier>"
# Get the storage account context
$ctx = (Get-AzStorageAccount `
-ResourceGroupName $rgName `
-Name $accountName).Context
# Change the blob's access tier.
$blob = Get-AzStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$blob.BlobClient.SetAccessTier($tier, $null, "Standard")
Aby zmienić warstwę obiektu blob na chłodniejszą warstwę za pomocą interfejsu wiersza polecenia platformy Azure, wywołaj polecenie az storage blob set-tier . Pamiętaj, aby zastąpić symbole zastępcze w nawiasach kątowych własnymi wartościami:
Aby zmienić warstwę obiektu blob na warstwę chłodniejszą, użyj polecenia azcopy set-properties i ustaw -block-blob-tier parametr .
Ważne
Zmiana warstwy dostępu obiektu blob przy użyciu narzędzia AzCopy jest obecnie dostępna w wersji zapoznawczej.
Zobacz Dodatkowe warunki użytkowania wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta lub wersji zapoznawczej albo w inny sposób nie zostały jeszcze wydane jako ogólnie dostępne.
Uwaga
W tym przykładzie argumenty ścieżki są ujęte w apostrofy (''). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), ujęć argumenty ścieżki z podwójnymi cudzysłowami ("") zamiast pojedynczych cudzysłowów (''). Ten przykład wyklucza token SAS, ponieważ zakłada, że podano poświadczenia autoryzacji przy użyciu identyfikatora Entra firmy Microsoft. Zapoznaj się z artykułem Wprowadzenie do narzędzia AzCopy , aby dowiedzieć się więcej o sposobach podawania poświadczeń autoryzacji do usługi magazynu.
Aby zmienić warstwę dostępu dla wszystkich obiektów blob w katalogu wirtualnym, zapoznaj się z nazwą katalogu wirtualnego zamiast nazwy obiektu blob, a następnie dołącz --recursive=true do polecenia .
Wywołaj operację kopiowania obiektu blob, aby skopiować obiekt blob z jednej warstwy do innej. Podczas kopiowania obiektu blob do innej warstwy przenosisz ten obiekt blob i wszystkie jego dane do warstwy docelowej. Źródłowy obiekt blob pozostaje w oryginalnej warstwie, a nowy obiekt blob jest tworzony w warstwie docelowej. Wywoływanie kopiowania obiektu blob jest zalecane w większości scenariuszy, w których przenosisz obiekt blob do cieplejszej warstwy lub przywracasz obiekt blob z warstwy Archiwum.
Aby skopiować obiekt blob do z chłodnej do gorącej za pomocą programu PowerShell, wywołaj polecenie Start-AzStorageBlobCopy i określ warstwę docelową. Pamiętaj, aby zastąpić symbole zastępcze w nawiasach kątowych własnymi wartościami:
# 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.
Start-AzStorageBlobCopy -SrcContainer $srcContainerName `
-SrcBlob $srcBlobName `
-DestContainer $destContainerName `
-DestBlob $destBlobName `
-StandardBlobTier Hot `
-Context $ctx
Aby skopiować obiekt blob do cieplejszej warstwy za pomocą interfejsu wiersza polecenia platformy Azure, wywołaj polecenie az storage blob copy start i określ warstwę docelową. Pamiętaj, aby zastąpić symbole zastępcze w nawiasach kątowych własnymi wartościami:
Aby skopiować obiekt blob z warstwy Chłodna do gorąca za pomocą narzędzia AzCopy, użyj polecenia azcopy copy i ustaw --block-blob-tier parametr na hotwartość .
Uwaga
W tym przykładzie argumenty ścieżki są ujęte w apostrofy (''). Używaj pojedynczych cudzysłowów we wszystkich powłokach poleceń z wyjątkiem powłoki poleceń systemu Windows (cmd.exe). Jeśli używasz powłoki poleceń systemu Windows (cmd.exe), ujęć argumenty ścieżki z podwójnymi cudzysłowami ("") zamiast pojedynczych cudzysłowów ('').
Ten przykład wyklucza token SAS, ponieważ zakłada, że podano poświadczenia autoryzacji przy użyciu identyfikatora Entra firmy Microsoft. Zapoznaj się z artykułem Wprowadzenie do narzędzia AzCopy , aby dowiedzieć się więcej o sposobach podawania poświadczeń autoryzacji do usługi magazynu.
Narzędzie AzCopy nie obsługuje kopiowania ze źródłowego obiektu blob w warstwie Archiwum.
Operacja kopiowania jest synchroniczna, więc po powrocie polecenia zostaną skopiowane wszystkie pliki.
Zbiorcze warstwy
Aby przenieść obiekty blob do innej warstwy w kontenerze lub folderze, należy wyliczyć obiekty blob i wywołać operację Ustaw warstwę obiektu blob na każdym z nich. W poniższym przykładzie pokazano, jak wykonać tę operację:
W przypadku przenoszenia dużej liczby obiektów blob do innej warstwy użyj operacji wsadowej w celu uzyskania optymalnej wydajności. Operacja wsadowa wysyła wiele wywołań interfejsu API do usługi z jednym żądaniem. Podoperacje obsługiwane przez operację usługi Blob Batch obejmują usuwanie obiektu blob i ustawianie warstwy obiektu blob.
Aby zmienić warstwę dostępu obiektów blob za pomocą operacji wsadowej, użyj jednej z bibliotek klienckich usługi Azure Storage. Poniższy przykład kodu pokazuje, jak wykonać podstawową operację wsadową z biblioteką klienta platformy .NET:
static async Task BulkArchiveContainerContents(string accountName, string containerName)
{
string containerUri = string.Format("https://{0}.blob.core.windows.net/{1}",
accountName,
containerName);
// Get container client, using Azure AD credentials.
BlobUriBuilder containerUriBuilder = new BlobUriBuilder(new Uri(containerUri));
BlobContainerClient blobContainerClient = new BlobContainerClient(containerUriBuilder.ToUri(),
new DefaultAzureCredential());
// Get URIs for blobs in this container and add to stack.
var uris = new Stack<Uri>();
await foreach (var item in blobContainerClient.GetBlobsAsync())
{
uris.Push(blobContainerClient.GetBlobClient(item.Name).Uri);
}
// Get the blob batch client.
BlobBatchClient blobBatchClient = blobContainerClient.GetBlobBatchClient();
try
{
// Perform the bulk operation to archive blobs.
await blobBatchClient.SetBlobsAccessTierAsync(blobUris: uris, accessTier: AccessTier.Archive);
}
catch (RequestFailedException e)
{
Console.WriteLine(e.Message);
}
}
Aby zapoznać się ze szczegółową przykładową aplikacją, która pokazuje, jak zmienić warstwy za pomocą operacji wsadowej, zobacz AzBulkSetBlobTier.