Bagikan melalui


Mencantumkan kontainer blob dengan .NET

Saat mencantumkan kontainer di akun Azure Storage dari kode, Anda dapat menentukan sejumlah opsi untuk mengelola cara hasil dikembalikan dari Azure Storage. Artikel ini menunjukkan cara mencantumkan kontainer menggunakan pustaka klien Azure Storage untuk .NET.

Prasyarat

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 mencantumkan kontainer blob. Untuk otorisasi dengan MICROSOFT Entra ID (disarankan), Anda memerlukan peran bawaan Azure RBAC Kontributor Data Blob Penyimpanan atau yang lebih tinggi. Untuk mempelajari lebih lanjut, lihat panduan otorisasi untuk Kontainer Daftar (REST API).

Tentang opsi daftar kontainer

Saat mencantumkan kontainer dari kode, Anda dapat menentukan opsi untuk mengelola bagaimana hasil dikembalikan dari Azure Storage. Anda dapat menentukan jumlah hasil yang akan dikembalikan di setiap set hasil, lalu mengambil set berikutnya. Anda juga dapat memfilter hasil dengan awalan, dan mengembalikan metadata kontainer dengan hasilnya. Opsi ini dijelaskan di bagian berikut.

Untuk mencantumkan kontainer di akun penyimpanan Anda, panggil salah satu metode berikut:

Metode ini mengembalikan daftar objek BlobContainerItem . Kontainer diurutkan secara leksikografis berdasarkan nama.

Mengelola berapa banyak hasil yang dikembalikan

Secara default, operasi daftar mengembalikan hingga 5000 hasil sekaligus, tetapi Anda dapat menentukan jumlah hasil yang Anda inginkan untuk setiap operasi daftar dikembalikan. Contoh yang disajikan dalam artikel ini memperlihatkan kepada Anda cara mengembalikan hasil di halaman. Untuk mempelajari selengkapnya tentang konsep penomoran halaman, lihat Pagination dengan Azure SDK untuk .NET.

Memfilter hasil dengan prefiks

Untuk memfilter daftar kontainer, tentukan untai (karakter) untuk parameter prefix. String awalan dapat menyertakan satu atau lebih karakter. Azure Storage kemudian mengembalikan kontainer yang namanya dimulai dengan prefiks tersebut saja.

Sertakan metadata kontainer

Untuk menyertakan metadata kontainer dengan hasil, tentukan Metadata nilai untuk enum BlobContainerTraits . Azure Storage menyertakan metadata dengan setiap kontainer yang dikembalikan, sehingga Anda tidak perlu mengambil metadata kontainer secara terpisah.

Sertakan kontainer yang dihapus

Untuk menyertakan kontainer yang dihapus sementara dengan hasilnya, tentukan Deleted nilai untuk enum BlobContainerStates .

Contoh kode: Mencantumkan kontainer

Contoh berikut secara asinkron mencantumkan kontainer di akun penyimpanan yang dimulai dengan prefiks yang ditentukan. Contoh tersebut mencantumkan kontainer yang dimulai dengan prefiks yang ditentukan dan mengembalikan jumlah hasil yang ditentukan per panggilan ke operasi listingan. Kemudian menggunakan token kontinuasi untuk mendapatkan segmen hasil berikutnya. Contoh tersebut juga mengembalikan metadata kontainer dengan hasilnya.

async static Task ListContainers(BlobServiceClient blobServiceClient, 
                                string prefix, 
                                int? segmentSize)
{
    try
    {
        // Call the listing operation and enumerate the result segment.
        var resultSegment = 
            blobServiceClient.GetBlobContainersAsync(BlobContainerTraits.Metadata, prefix, default)
            .AsPages(default, segmentSize);

        await foreach (Azure.Page<BlobContainerItem> containerPage in resultSegment)
        {
            foreach (BlobContainerItem containerItem in containerPage.Values)
            {
                Console.WriteLine("Container name: {0}", containerItem.Name);
            }

            Console.WriteLine();
        }
    }
    catch (RequestFailedException e)
    {
        Console.WriteLine(e.Message);
        Console.ReadLine();
        throw;
    }
}

Sumber

Untuk mempelajari selengkapnya tentang mencantumkan kontainer 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 mencantumkan kontainer menggunakan operasi REST API berikut:

Sumber daya pustaka klien

Lihat juga

  • Artikel ini adalah bagian dari panduan pengembang Blob Storage untuk .NET. Untuk mempelajari lebih lanjut, lihat daftar lengkap artikel panduan pengembang di Membangun aplikasi .NET Anda.