Arşiv katmanındaki bir blobu okumak için, önce blob 'u çevrimiçi bir katmana (sık veya seyrek erişimli) yeniden yazmanız gerekir. Bir blobu iki şekilde yeniden girebilirsiniz:
BLOB kopyalama işlemiyle sık erişimli veya seyrek erişimli katmanda yeni bir bloba kopyalanarak. Microsoft bu seçeneği çoğu senaryo için önerir.
Kendi katmanını arşivden sık veya seyrek erişimli BLOB katmanını ayarla işlemiyle değiştirerek.
Bir blobu yeniden doldurma işlemi yaptığınızda, işlem önceliğini standart öncelik veya yüksek önceliğe göre belirtebilirsiniz. Standart öncelikli bir yeniden doldurma işleminin tamamlanması 15 saate kadar sürebilir. Yüksek öncelikli bir işlem, standart öncelikli isteklere göre önceliklendirilir ve boyutu 10 GB 'ın altındaki nesneler için bir saatten daha az bir saat içinde tamamlanabilir. İşlem bekleme sırasında Standart olan yeniden doldurma önceliğini yüksek olarak değiştirebilirsiniz.
Yeniden doldurma işlemi tamamlandığında bir olayı harekete tetiklemesi için Azure Event Grid yapılandırabilir ve uygulama kodu yanıt olarak çalıştırılır. Blob yeniden doldurma işlemi tamamlandığında bir Azure Işlevi çalıştıran bir olayı nasıl işleyeceğinizi öğrenmek için bkz. BLOB yeniden doldurma olayına yanıt olarak bir Azure Işlevi çalıştırma.
bir blob 'u çevrimiçi bir katmana kopyalayarak arşiv katmanından yeniden doldurma için PowerShell, azure clı veya Azure Depolama istemci kitaplıklarından birini kullanın. Arşivlenmiş bir blobu çevrimiçi bir katmana kopyaladığınızda, kaynak ve hedef Blobların farklı adlara sahip olması gerektiğini aklınızda bulundurun.
Kopyalama işlemi tamamlandıktan sonra, hedef blobu arşiv katmanında görünür. Hedef blobu daha sonra kopyalama işleminde belirttiğiniz çevrimiçi katmana yeniden boyanır. Hedef blobu tamamen yeniden doldurma işlemi yapıldığında yeni çevrimiçi katmanda kullanılabilir hale gelir.
Aşağıdaki örneklerde, bir arşivlenmiş Blobun PowerShell veya Azure CLı ile nasıl kopyalanacağı gösterilmektedir.
Arşivlenmiş bir blobu PowerShell ile çevrimiçi bir katmana kopyalamak için Start-AzStorageBlobCopy komutunu çağırın ve hedef katmanı ve yeniden doldurma önceliğini belirtin. Açılı ayraçlar içindeki 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 with Standard priority.
Start-AzStorageBlobCopy -SrcContainer $srcContainerName `
-SrcBlob $srcBlobName `
-DestContainer $destContainerName `
-DestBlob $destBlobName `
-StandardBlobTier Hot `
-RehydratePriority Standard `
-Context $ctx
Arşivlenmiş bir blobu Azure CLı ile çevrimiçi bir katmana kopyalamak için az Storage blob Copy start komutunu çağırın ve hedef katmanı ve yeniden doldurma önceliğini belirtin. Açılı ayraçlar içindeki yer tutucuları kendi değerlerinizle değiştirmeyi unutmayın:
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
Katmanını değiştirerek bir blobu yeniden doldurma
Bir Blobun katmanını arşiv 'ten sık veya seyrek erişimli olarak değiştirerek bir blobu yeniden doldurma için Azure portal, PowerShell veya Azure CLı kullanın.
Bir Blobun katmanını arşivden sık Azure portal veya seyrek erişimli olarak değiştirmek için şu adımları izleyin:
Azure portal yeniden doldurma için blobu bulun.
Sayfanın sağ tarafındaki diğer düğmesini seçin.
Katmanı Değiştir' i seçin.
Erişim katmanı açılan menüsünden hedef erişim katmanını seçin.
Yeniden doldurma önceliği açılan listesinden, istenen yeniden doldurma önceliğini seçin. Yeniden doldurma önceliğini yüksek olarak ayarlamanın, genellikle daha hızlı bir şekilde yeniden doldurma ile sonuçlandığını unutmayın, ancak aynı zamanda daha fazla maliyet doğurur.
Kaydet düğmesini seçin.
Blob 'un bir Blobun katmanını, PowerShell ile sık erişimli veya seyrek erişimli olarak değiştirmek için Blobun Blobclient özelliğini kullanarak blob 'a bir .net başvurusu döndürün ve sonra bu başvuruda setaccesstier yöntemini çağırın. Açılı ayraçlar içindeki 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 = "<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")
Bir Blobun katmanını arşivden sık veya seyrek erişimli Azure CLı ile değiştirmek için az Storage blob set-Tier komutunu çağırın. Açılı ayraçlar içindeki yer tutucuları kendi değerlerinizle değiştirmeyi unutmayın:
az storage blob set-tier \
--account-name <storage-account> \
--container-name <container> \
--name <archived-blob> \
--tier Hot \
--rehydrate-priority Standard \
--auth-mode login
Blob 'ların bir kümesini toplu olarak yeniden doldurma
Aynı anda çok sayıda blobu yeniden oluşturmak için, blob katmanını toplu bir işlem olarak ayarlamayı çağırmak üzere BLOB Batch işlemini çağırın. Toplu işlemin nasıl gerçekleştirileceğini gösteren bir kod örneği için bkz. Azbulksetblobtier.
Yeniden doldurma işleminin durumunu denetleme
Blob yeniden doldurma sırasında, Azure portal, PowerShell veya Azure CLı kullanarak durumunu ve yeniden doldurma önceliğini kontrol edebilirsiniz. Durum özelliği, yeniden doldurma işlemi için hedef katmana bağlı olarak, rehidrate, bekleyen-Hot veya rehion-soğuk olarak dönebilir. Yeniden doldurma önceliği özelliği, Standart ya da yüksek döndürür.
Arşivlenmiş bir Blobun yeniden doldurulması 15 saate kadar sürebilir ve yeniden doldurma işleminin tamamlanıp tamamlanmadığını öğrenmek için Blobun durumunu tekrar tekrar yoklayacağınızı unutmayın. Yeniden doldurma tamamlandığında harekete geçirilir olayı yakalamak için Azure Event Grid kullanmak, daha iyi performans ve maliyet iyileştirmesi sağlar. Blob yeniden doldurma sırasında bir olay tetiklendiğinde bir Azure Işlevi çalıştırma hakkında bilgi edinmek için bkz. bir BLOB yeniden doldurma olayına yanıt olarak bir Azure Işlevi çalıştırma.
Azure portal bekleyen bir yeniden doldurma işleminin durumunu ve önceliğini denetlemek için, blob için Katmanı Değiştir iletişim kutusunu görüntüleyin:
Yeniden doldurma işlemi tamamlandığında, tam olarak hidrated blobunun hedeflenen çevrimiçi katmanda göründüğünü Azure portal görebilirsiniz.
PowerShell ile bekleyen bir yeniden doldurma işleminin durumunu ve önceliğini denetlemek için Get-AzStorageBlob komutunu çağırın ve Blobun ArchiveStatus ve rehidratepriority özelliklerini denetleyin. Yeniden doldurma bir kopyalama işlemi ise, hedef Blobun bu özellikleri kontrol edin. Açılı ayraçlar içindeki yer tutucuları kendi değerlerinizle değiştirmeyi unutmayın:
Azure CLı ile bekleyen bir yeniden doldurma işleminin durumunu ve önceliğini denetlemek için, az Storage blob Show komutunu çağırın ve hedef Blobun yeniden doldurma durumu ve yeniden doldurma özellikleri ' ni denetleyin. Açılı ayraçlar içindeki yer tutucuları kendi değerlerinizle değiştirmeyi unutmayın:
Bekleyen bir işlemin yeniden doldurma önceliğini değiştirme
Standart öncelikli bir yeniden doldurma işlemi beklenirken, blobu daha hızlı yeniden oluşturmak için bir blob 'un yeniden doldurma önceliği ayarını Standart iken yüksek olarak değiştirebilirsiniz.
Bekleyen bir işlem için yeniden doldurma önceliği ayarının yüksek ile Standart arasında düşürüleceğini unutmayın. Ayrıca, yeniden doldurma önceliğinin değiştirilmesinin bir faturalandırma etkisi olabileceğini aklınızda bulundurun. Daha fazla bilgi için bkz. Arşiv katmanından blob yeniden doldurma.
Bekleyen bir blob katmanı işlemi kümesi için yeniden doldurma önceliğini değiştirme
standart öncelikli bir Blob katmanı işlemi beklenirken yeniden doldurma önceliğini değiştirmek için Azure portal, PowerShell, azure clı veya azure Depolama istemci kitaplıklarından birini kullanın.
Azure portal bekleyen bir işlemin yeniden doldurma önceliğini değiştirmek için şu adımları izleyin:
Yeniden doldurma önceliğini değiştirmek istediğiniz blob 'a gidin ve blobu seçin.
Katmanı Değiştir düğmesini seçin.
Katmanı Değiştir iletişim kutusunda, yeniden doldurma Blobu (sık veya seyrek erişimli) için erişim katmanını hedef çevrimiçi erişim katmanına ayarlayın. Arşiv durumu alanı, hedef çevrimiçi katmanı gösterir.
Yeniden doldurma önceliği açılan menüsünde önceliği yüksek olarak ayarlayın.
Kaydet’i seçin.
PowerShell ile bekleyen bir işlemin yeniden doldurma önceliğini değiştirmek için, Az. Depolama modülünü, sürüm 3.12.0 veya üstünü yüklediğinizden emin olun. Sonra, hizmetten blob 'un özelliklerini alın. En son özellik ayarlarına sahip bir nesneye sahip olduğunuzdan emin olmak için bu adım gereklidir. Son olarak, Blobun bir .NET başvurusu döndürmek için Blobun Blobclient özelliğini kullanın, ardından bu başvuruya setaccesstier yöntemini çağırın.
# 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."
}
}
Azure CLı ile bekleyen bir işlemin yeniden doldurma önceliğini değiştirmek için öncelikle Azure CLı, sürüm 2.29.2 veya üstünü yüklediğinizden emin olun. Azure CLı yükleme hakkında daha fazla bilgi için bkz. Azure CLI 'yı yükleme.
Daha sonra, parametresini yüksek olarak ayarlanmış şekilde az Storage blob set-Tier komutunu çağırın --rehydrate-priority . Hedef katman (sık veya seyrek erişimli), ilk olarak yeniden doldurma işlemi için belirttiğiniz katman ile aynı olmalıdır. Açılı ayraçlar içindeki yer tutucuları kendi değerlerinizle değiştirmeyi unutmayın:
# 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
Bekleyen bir blob kopyalama işlemi için yeniden doldurma önceliğini değiştirme
arşivlenmiş blobun bir çevrimiçi katmana kopyalanarak bir blobu yeniden doldurma yaptığınızda Azure Depolama arşiv katmanında hedef blobu hemen oluşturur. Ardından hedef blob, kopyalama işleminde belirtilen önceliğe sahip hedef katmana yeniden kopyalandı. Arşivlenmiş bir blobu kopyalama işlemiyle yeniden depolama hakkında daha fazla bilgi için bkz. Arşivlenmiş blobu çevrimiçi katmana kopyalama.
Kopyalama işlemini Arşiv katmanından Standart önceliğe sahip bir çevrimiçi katmana gerçekleştirmek için PowerShell, Azure CLI veya Azure Depolama kitaplıklarını kullanın. Daha fazla bilgi için bkz. Blobu kopyalama işlemiyle yeniden dolum. Ardından, bekleyen yeniden dolum için yeniden dolum önceliğini Standart olan Yüksek olarak değiştirmek için hedef blobda Blob KatmanıNı Ayarla'ya çağrıyın ve hedef katmanı belirtin.
Kopyalama işlemi başlatıldıktan sonra, hem kaynak hem Azure portal hedef blob'un Arşiv katmanında olduğunu görmek için veri kaynağında bunu bulabilirsiniz. Hedef blob Standart önceliğe sahip yeniden verilerle dolu.
Hedef blob için yeniden dolum önceliğini değiştirmek için şu adımları izleyin:
Hedef blobu seçin.
Katmanı değiştir düğmesini seçin.
Katmanı değiştir iletişim kutusunda, yeniden dolum blobu (Hot veya Cool) için erişim katmanını hedef çevrimiçi erişim katmanına ayarlayın. Arşiv durumu alanı hedef çevrimiçi katmanı gösterir.
Önceliği yeniden tamamla açılan listesinde önceliği Yüksek olarak ayarlayın.
Kaydet’i seçin.
Hedef blob'un özellikler sayfasında artık Yüksek öncelikli olarak yeniden verilerle dolu olduğu görüntülenir.
Kopyalama işlemi başlatıldıktan sonra hedef blob'un özelliklerini kontrol edin. Hedef blob'un Arşiv katmanında olduğunu ve Standart önceliğe sahip bir şekilde yeniden kaynak haline geldiğini görüyorsunuz.
# 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
Ardından, bekleyen Bir Blob Katmanı Ayarlama işlemi için yeniden dolum önceliğini değiştirme konusunda açıklandığı gibi hedef blob için yeniden dolum önceliğini Yüksek olarak değiştirmek için PowerShell aracılığıyla SetAccessTieryöntemini arayın. Hedef katmanın (Sık veya Sık Veya Sık Ulaş) yenidenhydration işlemi için başlangıçta belirttiğiniz katmanla aynı olması gerekir. Blob'un artık Yüksek öncelikli olarak yeniden verilerle dolu olduğunu doğrulamak için özellikleri yeniden kontrol edin.
Kopyalama işlemi başlatıldıktan sonra hedef blob'un özelliklerini kontrol edin. Hedef blob'un Arşiv katmanında olduğunu ve Standart önceliğe sahip bir şekilde yeniden kaynak haline geldiğini görüyorsunuz.
Ardından, az storage blob set-tier komutunu, bekleyen Bir Blob Katmanı Ayarla işlemi için yenidenhydration önceliğini değiştirme konusunda açıklandığı gibi yüksek olarak ayarlanmış --rehydrate-priorityparametresiyle çağırabilirsiniz. Hedef katmanın (Sık veya Sık Veya Sık Ulaş) yenidenhydration işlemi için başlangıçta belirttiğiniz katmanla aynı olması gerekir. Blob'un artık Yüksek öncelikli olarak yeniden verilerle dolu olduğunu doğrulamak için özellikleri yeniden kontrol edin.