Mengatur atau mengubah tingkat akses blob blok dengan .NET
Artikel ini memperlihatkan cara mengatur atau mengubah tingkat akses untuk blob blok menggunakan pustaka klien Azure Storage untuk .NET.
Prasyarat
- Langganan Azure - buat akun secara gratis
- Akun penyimpanan Azure - buat akun penyimpanan
- .NET SDK terbaru untuk sistem operasi Anda. Pastikan untuk mendapatkan SDK alih-alih runtime.
Menyiapkan lingkungan Anda
Jika Anda tidak memiliki proyek yang sudah ada, bagian ini menunjukkan kepada Anda cara menyiapkan proyek untuk bekerja dengan pustaka klien Azure Blob Storage untuk .NET. Langkah-langkahnya termasuk penginstalan paket, menambahkan arahan using
, dan membuat objek klien resmi. Untuk detailnya, lihat Mulai menggunakan Azure Blob Storage dan .NET.
Memasang paket
Dari direktori proyek Anda, instal paket untuk pustaka klien Azure Blob Storage dan Azure Identity menggunakan dotnet add package
perintah . Paket Azure.Identity diperlukan untuk koneksi tanpa kata sandi ke layanan Azure.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Tambahkan direktif using
Tambahkan arahan ini using
ke bagian atas file kode Anda:
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
Beberapa contoh kode dalam artikel ini mungkin memerlukan arahan tambahan using
.
Membuat objek klien
Untuk menyambungkan aplikasi ke Blob Storage, buat instans BlobServiceClient. Contoh berikut menunjukkan cara membuat objek klien menggunakan DefaultAzureCredential
untuk otorisasi:
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
Anda dapat mendaftarkan klien layanan untuk injeksi dependensi di aplikasi .NET.
Anda juga dapat membuat objek klien untuk kontainer atau blob tertentu. Untuk mempelajari selengkapnya tentang membuat dan mengelola objek klien, lihat Membuat dan mengelola objek klien yang berinteraksi dengan sumber daya data.
Authorization
Mekanisme otorisasi harus memiliki izin yang diperlukan untuk mengatur tingkat akses blob. Untuk otorisasi dengan MICROSOFT Entra ID (disarankan), Anda memerlukan peran bawaan Azure RBAC Kontributor Data Blob Penyimpanan atau yang lebih tinggi. Untuk mempelajari selengkapnya, lihat panduan otorisasi untuk Mengatur Tingkat Blob.
Tentang tingkat akses blob blok
Untuk mengelola biaya untuk kebutuhan penyimpanan, akan sangat membantu untuk mengatur data Anda berdasarkan seberapa sering data diakses dan berapa lama perlu dipertahankan. Penyimpanan Azure menawarkan tingkat penyimpanan yang berbeda sehingga Anda dapat menyimpan data blob dengan cara yang paling hemat biaya berdasarkan cara data digunakan.
Tingkat penyimpanan untuk data blob
Tingkat penyimpanan Azure Storage meliputi:
- Tingkat panas - Tingkatan online yang dioptimalkan untuk menyimpan data yang sering diakses atau diubah. Tingkat panas memiliki biaya penyimpanan tertinggi tetapi biaya aksesnya paling rendah.
- Tingkat dingin - Tingkatan online yang dioptimalkan untuk menyimpan data yang jarang diakses atau diubah. Data di tingkat dingin harus disimpan selama minimal 30 hari. Tingkat dingin memiliki biaya penyimpanan yang lebih rendah dan biaya akses yang lebih tinggi dibandingkan dengan tingkat panas.
- Tingkat dingin - Tingkat online yang dioptimalkan untuk menyimpan data yang jarang diakses atau dimodifikasi. Data di tingkat dingin harus disimpan selama minimal 90 hari. Tingkat dingin memiliki biaya penyimpanan yang lebih rendah dan biaya akses yang lebih tinggi dibandingkan dengan tingkat panas.
- Tingkat arsip - Tingkatan offline yang dioptimalkan untuk menyimpan data yang jarang diakses, dan memiliki persyaratan latensi yang fleksibel, pada urutan jam. Data di tingkat arsip harus disimpan selama minimal 180 hari.
Untuk mempelajari selengkapnya tentang tingkat akses, lihat Tingkat akses untuk data blob.
Saat blob berada di tingkat akses Arsip, maka dianggap offline dan tidak dapat dibaca atau dimodifikasi. Untuk membaca atau memodifikasi data dalam blob yang diarsipkan, Anda harus terlebih dahulu merehidrasi blob ke tingkat online. Untuk mempelajari selengkapnya tentang rehidrasi blob dari tingkat Arsip ke tingkat online, lihat Rehidrasi blob dari tingkat Arsip.
Batasan
Mengatur tingkat akses hanya diperbolehkan pada blob blok. Untuk mempelajari selengkapnya tentang pembatasan pengaturan tingkat akses blob blok, lihat Mengatur Tingkat Blob (REST API).
Catatan
Untuk mengatur tingkat akses ke Cold
menggunakan .NET, Anda harus menggunakan versi pustaka klien minimum 12.15.0.
Mengatur tingkat akses blob selama unggahan
Anda dapat mengatur tingkat akses blob saat diunggah dengan menggunakan kelas BlobUploadOptions . Contoh kode berikut menunjukkan cara mengatur tingkat akses saat mengunggah blob:
public static async Task UploadWithAccessTierAsync(
BlobContainerClient containerClient,
string localFilePath)
{
string fileName = Path.GetFileName(localFilePath);
BlockBlobClient blockBlobClient = containerClient.GetBlockBlobClient(fileName);
var uploadOptions = new BlobUploadOptions()
{
AccessTier = AccessTier.Cool
};
FileStream fileStream = File.OpenRead(localFilePath);
await blockBlobClient.UploadAsync(fileStream, uploadOptions);
fileStream.Close();
}
Untuk mempelajari selengkapnya tentang mengunggah blob dengan .NET, lihat Mengunggah blob dengan .NET.
Mengubah tingkat akses untuk blob blok yang ada
Anda dapat mengubah tingkat akses blob blok yang ada dengan menggunakan salah satu fungsi berikut:
Contoh kode berikut menunjukkan cara mengubah tingkat akses untuk blob yang ada menjadi Cool
:
public static async Task ChangeBlobAccessTierAsync(
BlobClient blobClient)
{
// Change the access tier of the blob to cool
await blobClient.SetAccessTierAsync(AccessTier.Cool);
}
Jika Anda merehidrasi blob yang diarsipkan, Anda dapat secara opsional mengatur rehydratePriority
parameter ke High
atau Standard
.
Menyalin blob ke tingkat akses yang berbeda
Anda dapat mengubah tingkat akses blob blok yang ada dengan menentukan tingkat akses sebagai bagian dari operasi salin. Untuk mengubah tingkat akses selama operasi salin, gunakan kelas BlobCopyFromUriOptions dan tentukan properti AccessTier . Jika Anda merehidrasi blob dari tingkat arsip menggunakan operasi salin, Anda dapat secara opsional mengatur properti RehydratePriority ke High
atau Standard
.
Contoh kode berikut menunjukkan cara merehidrasi blob yang diarsipkan ke Hot
tingkat menggunakan operasi salin:
public static async Task RehydrateBlobUsingCopyAsync(
BlobClient sourceArchiveBlob,
BlobClient destinationRehydratedBlob)
{
// Note: the destination blob must have a different name than the archived source blob
// Configure copy options to specify hot tier and standard priority
BlobCopyFromUriOptions copyOptions = new()
{
AccessTier = AccessTier.Hot,
RehydratePriority = RehydratePriority.Standard
};
// Copy source blob from archive tier to destination blob in hot tier
CopyFromUriOperation copyOperation = await destinationRehydratedBlob
.StartCopyFromUriAsync(sourceArchiveBlob.Uri, copyOptions);
await copyOperation.WaitForCompletionAsync();
}
Untuk mempelajari selengkapnya tentang menyalin blob dengan .NET, lihat Menyalin blob dengan .NET.
Sumber
Untuk mempelajari selengkapnya tentang mengatur tingkat akses menggunakan pustaka klien Azure Blob Storage untuk .NET, lihat sumber daya berikut ini.
Operasi REST API
Azure SDK untuk .NET berisi pustaka yang dibangun di atas Azure REST API, memungkinkan Anda berinteraksi dengan operasi REST API melalui paradigma .NET yang sudah dikenal. Metode pustaka klien untuk mengatur tingkat akses menggunakan operasi REST API berikut:
- Mengatur Tingkat Blob (REST API)
Sumber daya pustaka klien
Sampel kode
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk