Membuat kontainer blob dengan .NET

Blob di Azure Storage diatur ke dalam kontainer. Sebelum mengunggah blob, Anda harus terlebih dahulu membuat kontainer. Artikel ini menunjukkan cara membuat kontainer dengan pustaka klien Azure Storage untuk .NET.

Prasyarat

  • Artikel ini mengasumsikan Anda sudah memiliki proyek yang disiapkan untuk bekerja dengan pustaka klien Azure Blob Storage untuk .NET. Untuk mempelajari tentang menyiapkan proyek Anda, termasuk penginstalan paket, menambahkan arahanusing, dan membuat objek klien resmi, lihat Mulai menggunakan Azure Blob Storage dan .NET.
  • Mekanisme otorisasi harus memiliki izin untuk membuat kontainer blob. Untuk mempelajari lebih lanjut, lihat panduan otorisasi untuk operasi REST API berikut:

Tentang penamaan kontainer

Nama kontainer harus merupakan nama DNS yang valid, karena membentuk bagian dari URI unik yang digunakan untuk merujuk kontainer atau blobnya. Ikuti aturan ini saat menamai kontainer:

  • Nama kontainer dapat sepanjang 3 sampai 63 karakter.
  • Nama kontainer harus diawali dengan huruf atau angka, dan hanya dapat berisi huruf kecil, angka, dan karakter tanda hubung (-).
  • Karakter tanda hubung berturut-turut tidak diizinkan dalam nama kontainer.

URI untuk sumber daya kontainer diformat sebagai berikut:

https://my-account-name.blob.core.windows.net/my-container-name

Buat kontainer

Untuk membuat kontainer, panggil salah satu metode berikut dari BlobServiceClient kelas :

Anda juga dapat membuat kontainer menggunakan salah satu metode berikut dari BlobContainerClient kelas :

Metode ini memberikan pengecualian jika sudah ada kontainer dengan nama yang sama.

Kontainer dibuat segera di bawah akun penyimpanan. Tidak mungkin untuk menyarangkan satu kontainer di bawah kontainer lain.

Contoh berikut menggunakan BlobServiceClient objek untuk membuat kontainer secara asinkron:

//-------------------------------------------------
// Create a container
//-------------------------------------------------
private static async Task<BlobContainerClient> CreateSampleContainerAsync(BlobServiceClient blobServiceClient)
{
    // Name the sample container based on new GUID to ensure uniqueness.
    // The container name must be lowercase.
    string containerName = "container-" + Guid.NewGuid();

    try
    {
        // Create the container
        BlobContainerClient container = await blobServiceClient.CreateBlobContainerAsync(containerName);

        if (await container.ExistsAsync())
        {
            Console.WriteLine("Created container {0}", container.Name);
            return container;
        }
    }
    catch (RequestFailedException e)
    {
        Console.WriteLine("HTTP error code {0}: {1}",
                            e.Status, e.ErrorCode);
        Console.WriteLine(e.Message);
    }

    return null;
}

Buat kontainer root

Kontainer root berfungsi sebagai kontainer default untuk akun penyimpanan Anda. Setiap akun penyimpanan mungkin memiliki satu kontainer root, yang harus dinamakan $root. Kontainer root harus dibuat atau dihapus secara eksplisit.

Anda dapat merujuk blob yang disimpan dalam kontainer root tanpa menyertakan nama kontainer root. Kontainer root memungkinkan Anda untuk merujuk blob di tingkat atas hierarki akun penyimpanan. Misalnya, Anda dapat merujuk blob yang ada di kontainer root dengan cara berikut:

https://myaccount.blob.core.windows.net/default.html

Contoh berikut membuat kontainer root secara sinkron:

//-------------------------------------------------
// Create root container
//-------------------------------------------------
private static void CreateRootContainer(BlobServiceClient blobServiceClient)
{
    try
    {
        // Create the root container or handle the exception if it already exists
        BlobContainerClient container =  blobServiceClient.CreateBlobContainer("$root");

        if (container.Exists())
        {
            Console.WriteLine("Created root container.");
        }
    }
    catch (RequestFailedException e)
    {
        Console.WriteLine("HTTP error code {0}: {1}",
                            e.Status, e.ErrorCode);
        Console.WriteLine(e.Message);
    }
}

Sumber

Untuk mempelajari selengkapnya tentang membuat 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 familier. Metode pustaka klien untuk membuat kontainer menggunakan operasi REST API berikut:

Sumber daya pustaka klien