Blobun erişim katmanını aşağıdaki yollardan herhangi biriyle ayarlayabilirsiniz:
Depolama hesabı için varsayılan çevrimiçi erişim katmanını ayarlayarak. Hesaptaki bloblar, tek bir blob için ayarı açıkça geçersiz kılmadığınız sürece bu erişim katmanını devralır.
Karşıya yüklemede bir blob katmanını açıkça ayarlayarak. Sık erişimli, seyrek erişimli, soğuk veya arşiv katmanında blob oluşturabilirsiniz.
Mevcut blob katmanını Blob KatmanıNı Ayarla işlemiyle değiştirerek. Genellikle, bu işlemi daha sıcak bir katmandan daha serin bir katmana geçmek için kullanırsınız.
Blobu Kopyalama işlemiyle bir blob kopyalayarak. Genellikle, bu işlemi daha serin bir katmandan daha sıcak bir katmana geçmek için kullanırsınız.
Bu makalede, çevrimiçi erişim katmanında blobu yönetme açıklanmaktadır. Blobu arşiv katmanına taşıma hakkında daha fazla bilgi için bkz . Blobu arşivle. Bir blobu arşiv katmanından yeniden doldurma hakkında daha fazla bilgi için bkz . Arşivlenmiş blobu çevrimiçi katmana yeniden doldurma.
Blobların erişim katmanları hakkında daha fazla bilgi için bkz . Blob verileri için erişim katmanları.
Depolama hesabı için varsayılan erişim katmanını ayarlama
Genel amaçlı v2 depolama hesabı için varsayılan erişim katmanı ayarı, yeni blob'un varsayılan olarak hangi çevrimiçi katmanda oluşturulduğunu belirler. Hesabı oluşturduğunuz sırada veya mevcut bir hesabın yapılandırmasını güncelleştirerek genel amaçlı v2 depolama hesabı için varsayılan erişim katmanını ayarlayabilirsiniz.
Mevcut genel amaçlı v2 depolama hesabı için varsayılan erişim katmanı ayarını değiştirdiğinizde, bu değişiklik erişim katmanının açıkça ayarlanmadığı hesaptaki tüm bloblar için geçerlidir. Varsayılan erişim katmanını değiştirmek faturalamayı etkileyebilir. Ayrıntılar için bkz . Varsayılan hesap erişim katmanı ayarı.
Azure portalında oluşturma zamanında bir depolama hesabının varsayılan erişim katmanını ayarlamak için şu adımları izleyin:
Depolama hesapları sayfasına gidin ve Oluştur düğmesini seçin.
Temel Bilgiler sekmesini doldurun.
Gelişmiş sekmesindeki Blob depolama'nın altında Erişim katmanını Sık Erişimli, Seyrek Erişimli veya Soğuk olarak ayarlayın. Varsayılan ayar Sık Erişimli'dir.
Ayarlarınızı doğrulamak ve depolama hesabınızı oluşturmak için Gözden Geçir + Oluştur'u seçin.
Azure portalında mevcut bir depolama hesabının varsayılan erişim katmanını güncelleştirmek için şu adımları izleyin:
Azure portalında depolama hesabına gidin.
Ayarlar bölümünde Yapılandırma‘yı seçin.
Blob erişim katmanı (varsayılan) ayarını bulun ve Sık Erişimli, Seyrek Erişimli veya Soğuk'u seçin. Bu özelliği daha önce ayarlamadıysanız, varsayılan ayar Sık Erişimli'dir.
Değişikliklerinizi kaydedin.
PowerShell ile bir depolama hesabının varsayılan erişim katmanı ayarını değiştirmek için, yeni varsayılan erişim katmanını belirterek Set-AzStorageAccount komutunu çağırın.
PowerShell ile bir depolama hesabının varsayılan erişim katmanı ayarını değiştirmek için, yeni varsayılan erişim katmanını belirterek Set-AzStorageAccount komutunu çağırın.
# Change the storage account tier to cool
az storage account update \
--resource-group <resource-group> \
--name <storage-account> \
--access-tier Cool
Yok
Karşıya yüklemede blob katmanını ayarlama
Bir blobu Azure Depolama'ya yüklediğinizde, karşıya yükleme sırasında blob katmanını ayarlamak için iki seçeneğiniz vardır:
Blob'un oluşturulacağı katmanı açıkça belirtebilirsiniz. Bu ayar, depolama hesabı için varsayılan erişim katmanını geçersiz kılar. Bir blob veya blob kümesinin katmanını sık erişimli, seyrek erişimli, soğuk veya arşive yükleyebilirsiniz.
Katman belirtmeden blobu karşıya yükleyebilirsiniz. Bu durumda blob, depolama hesabı için belirtilen varsayılan erişim katmanında (sık erişimli veya seyrek erişimli) oluşturulur.
Şifreleme kapsamı kullanan yeni bir blobu karşıya yüklüyorsanız, bu blob için erişim katmanını değiştiremezsiniz.
Aşağıdaki bölümlerde blob'un sık erişimli veya seyrek erişimli katmana yüklendiğini belirtme işlemi açıklanmaktadır. Karşıya yüklemede bir blobu arşivleme hakkında daha fazla bilgi için bkz . Karşıya yüklemede blobları arşivleme.
Blobu belirli bir çevrimiçi katmana yükleme
Sık erişimli, seyrek erişimli veya soğuk katmanda blob oluşturmak için blobu oluştururken bu katmanı belirtin. Karşıya yüklemede belirtilen erişim katmanı, depolama hesabı için varsayılan erişim katmanını geçersiz kılar.
Azure portalından belirli bir katmana blob veya blob kümesi yüklemek için şu adımları izleyin:
Hedef kapsayıcıya gidin.
Karşıya Yükle düğmesini seçin.
Karşıya yüklenecek dosyayı veya dosyaları seçin.
Gelişmiş bölümünü genişletin ve Erişim katmanını Sık Erişimli veya Seyrek Erişimli olarak ayarlayın.
Karşıya Yükle düğmesini seçin.
Bir blobu veya blob kümesini PowerShell ile belirli bir katmana yüklemek için, aşağıdaki örnekte gösterildiği gibi Set-AzStorageBlobContent komutunu çağırın. Köşeli ayraç içindeki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın:
$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
Azure CLI ile belirli bir katmana blob yüklemek için aşağıdaki örnekte gösterildiği gibi az storage blob upload komutunu çağırın. Köşeli ayraç içindeki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın. Yer tutucuyu <tier> , , coolcoldveya archiveile hotdeğiştirin.
Azure CLI ile belirli bir katmana blob kümesi yüklemek için aşağıdaki örnekte gösterildiği gibi az storage blob upload-batch komutunu çağırın. Köşeli ayraç içindeki yer tutucu değerlerini kendi değerlerinizle değiştirmeyi unutmayın. Yer tutucuyu <tier> , , coolcoldveya archiveile hotdeğiştirin.
Bu örnek, yol bağımsız değişkenlerini tek tırnak ('') içine alınmaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak işareti kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın. Bu örnek, Microsoft Entra Id kullanarak yetkilendirme kimlik bilgilerini sağladığınızı varsaydığından SAS belirtecini dışlar. Depolama hizmetine yetkilendirme kimlik bilgilerini sağlama yolları hakkında bilgi edinmek için AzCopy'yi kullanmaya başlama makalesine bakın.
AzCopy kullanarak belirli bir katmana blob kümesi yüklemek için yerel dizine veya yerel dizin içeriğine başvurun ve komutuna ekleyin --recursive=true .
Depolama hesaplarının, yeni blob'un hangi çevrimiçi katmanda oluşturulduğunu gösteren varsayılan bir erişim katmanı ayarı vardır. Varsayılan erişim katmanı ayarı sık erişimli veya seyrek erişimli olarak ayarlanabilir. Bu ayarın davranışı, depolama hesabının türüne bağlı olarak biraz farklıdır:
Yeni bir genel amaçlı v2 depolama hesabı için varsayılan erişim katmanı varsayılan olarak sık erişim katmanına ayarlanır. Depolama hesabı oluşturduğunuzda veya oluşturulduktan sonra varsayılan erişim katmanı ayarını değiştirebilirsiniz.
Eski bir Blob Depolama hesabı oluşturduğunuzda, depolama hesabını oluştururken varsayılan erişim katmanı ayarını sık erişimli veya seyrek erişimli olarak belirtmeniz gerekir. Depolama hesabı oluşturulduktan sonra varsayılan erişim katmanı ayarını değiştirebilirsiniz.
Açıkça atanmış bir katmana sahip olmayan blob, katmanını varsayılan hesap erişim katmanı ayarından çıkartır. Azure portalını, PowerShell'i veya Azure CLI'yı kullanarak blob'un erişim katmanının çıkarılıp çıkarılmayacağını belirleyebilirsiniz.
Bir blob'un erişim katmanı varsayılan hesap erişim katmanı ayarından çıkarsandıysa, Azure portalı erişim katmanını Sık Erişimli (çıkarılmış), Seyrek Erişimli (çıkarılmış) veya Soğuk (çıkarılmış) olarak görüntüler.
Bir blob'un erişim katmanını ve Azure PowerShell'den çıkarılıp çıkarılmadığını belirlemek için blobu alın, ardından AccessTier ve AccessTierInferred özelliklerini denetleyin.
$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
Bir blob'un erişim katmanını ve Azure CLI'dan çıkarılıp çıkarılmadığını belirlemek için blobu alın, ardından blobTier ve blobTierInferred özelliklerini denetleyin.
Blobu iki yoldan biriyle farklı bir çevrimiçi katmana taşıyabilirsiniz:
Erişim katmanını değiştirerek.
Blobu farklı bir çevrimiçi katmana kopyalayarak.
Bu seçeneklerin her biri hakkında daha fazla bilgi için bkz . Blobun katmanını ayarlama veya değiştirme.
Blobu farklı bir katmana taşımak için PowerShell, Azure CLI, AzCopy v10 veya Azure Depolama istemci kitaplıklarından birini kullanın.
Blob katmanını değiştirme
Blobun katmanını değiştirdiğinizde, Blob KatmanıNı Ayarla işlemini çağırarak (doğrudan veya bir yaşam döngüsü yönetim ilkesi aracılığıyla) veya AzCopy ile azcopy set-properties komutunu kullanarak bu blobu ve tüm verilerini hedef katmana taşırsınız. Bu seçenek genellikle blob katmanını daha sıcak katmandan daha serin bir katmana değiştirirken en iyisidir.
İpucu
Bir depolama görevi kullanarak, tanımladığınız bir dizi koşula göre birden çok depolama hesabında blobların uygun ölçekteki erişim katmanını değiştirebilirsiniz. Depolama görevi, Azure Depolama Eylemleri'nde kullanılabilen bir kaynaktır; birden çok depolama hesabında milyonlarca nesne üzerinde ortak veri işlemleri gerçekleştirmek için kullanabileceğiniz sunucusuz bir çerçevedir. Daha fazla bilgi edinmek için bkz . Azure Depolama Eylemleri nedir?.
Azure portalında blob katmanını daha serin bir katmana dönüştürmek için şu adımları izleyin:
Katmanını değiştirmek istediğiniz bloba gidin.
Blobu ve ardından Katmanı değiştir düğmesini seçin.
Katmanı değiştir iletişim kutusunda hedef katmanı seçin.
Kaydet düğmesini seçin.
PowerShell ile blob katmanını daha serin bir katmana değiştirmek için blob'un BlobClient özelliğini kullanarak bloba bir .NET başvurusu döndürebilirsiniz ve ardından bu başvuruda SetAccessTier yöntemini çağırın. Açılı köşeli ayraçlardaki yer tutucuları kendi değerlerinizle değiştirmeyi unutmayın:
# 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")
Azure CLI ile blob katmanını daha serin bir katmana dönüştürmek için az storage blob set-tier komutunu çağırın. Açılı köşeli ayraçlardaki yer tutucuları kendi değerlerinizle değiştirmeyi unutmayın:
Blob katmanını daha serin bir katmana değiştirmek için azcopy set-properties komutunu kullanın ve parametresini -block-blob-tier ayarlayın.
Önemli
Blob erişim katmanını değiştirmek için AzCopy kullanmak şu anda ÖNİzLEME aşamasındadır.
Beta veya önizleme aşamasında olan ya da başka bir şekilde henüz genel kullanıma sunulmamış olan Azure özelliklerinde geçerli olan yasal koşullar için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Not
Bu örnek, yol bağımsız değişkenlerini tek tırnak ('') içine alınmaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak işareti kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın. Bu örnek, Microsoft Entra Id kullanarak yetkilendirme kimlik bilgilerini sağladığınızı varsaydığından SAS belirtecini dışlar. Depolama hizmetine yetkilendirme kimlik bilgilerini sağlama yolları hakkında bilgi edinmek için AzCopy'yi kullanmaya başlama makalesine bakın.
Blobu bir katmandan diğerine kopyalamak için Blobu Kopyalama işlemini çağırın. Bir blobu farklı bir katmana kopyaladığınızda, bu blobu ve tüm verilerini hedef katmana taşırsınız. Kaynak blob özgün katmanda kalır ve hedef katmanda yeni bir blob oluşturulur. Blobu daha sıcak bir katmana taşıdığınız veya arşiv katmanından bir blobu yeniden doldurmanız gereken çoğu senaryo için Kopyalama Blobu'nun çağrılması önerilir.
PowerShell ile bir blobu seyrek erişimliden sık erişimliye kopyalamak için Start-AzStorageBlobCopy komutunu çağırın ve hedef katmanı belirtin. Açılı köşeli ayraçlardaki yer tutucuları kendi değerlerinizle değiştirmeyi unutmayın:
# 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
Azure CLI ile blobu daha sıcak bir katmana kopyalamak için az storage blob copy start komutunu çağırın ve hedef katmanı belirtin. Açılı köşeli ayraçlardaki yer tutucuları kendi değerlerinizle değiştirmeyi unutmayın:
Bu örnek, yol bağımsız değişkenlerini tek tırnak ('') içine alınmaktadır. Windows Komut Kabuğu (cmd.exe) dışında tüm komut kabuklarında tek tırnak işareti kullanın. Windows Komut Kabuğu (cmd.exe) kullanıyorsanız, yol bağımsız değişkenlerini tek tırnak ('') yerine çift tırnak ("") içine alın.
Kopyalama işlemi zaman uyumlu olduğundan, komut döndürdüğünde tüm dosyalar kopyalanır.
Toplu katmanlama
Blobları bir kapsayıcı veya klasördeki başka bir katmana taşımak için blobları numaralandırın ve her birinde Blob Katmanı Ayarla işlemini çağırın. Aşağıdaki örnekte bu işlemin nasıl gerçekleştirebileceğiniz gösterilmektedir:
Toplu işlemle blobların erişim katmanını değiştirmek için Azure Depolama istemci kitaplıklarından birini kullanın. Aşağıdaki kod örneğinde .NET istemci kitaplığıyla temel bir toplu işlem gerçekleştirme işlemi gösterilmektedir:
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);
}
}
Toplu işlemle katmanların nasıl değiştirildiğini gösteren ayrıntılı bir örnek uygulama için bkz . AzBulkSetBlobTier.