Bagikan melalui


Membuat kontainer blob dengan Java

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

Prasyarat

Menyiapkan lingkungan Anda

Jika Anda tidak memiliki proyek yang sudah ada, bagian ini memperlihatkan kepada Anda cara menyiapkan proyek untuk bekerja dengan pustaka klien Azure Blob Storage untuk Java. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Blob Storage dan Java.

Untuk bekerja dengan contoh kode dalam artikel ini, ikuti langkah-langkah ini untuk menyiapkan proyek Anda.

Catatan

Artikel ini menggunakan alat build Maven untuk membangun dan menjalankan kode contoh. Alat build lainnya, seperti Gradle, juga bekerja dengan Azure SDK untuk Java.

Memasang paket

Buka file pom.xml di editor teks Anda. Instal paket dengan menyertakan file BOM, atau termasuk dependensi langsung.

Menambahkan pernyataan impor

Tambahkan pernyataan import berikut:

import com.azure.storage.blob.*;

Authorization

Mekanisme otorisasi harus memiliki izin yang diperlukan untuk membuat kontainer. 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 Membuat Kontainer (REST API).

Membuat objek klien

Untuk menyambungkan aplikasi ke Blob Storage, buat instans BlobServiceClient.

Contoh berikut menggunakan BlobServiceClientBuilder untuk membangun BlobServiceClient objek menggunakan DefaultAzureCredential, dan menunjukkan cara membuat klien kontainer dan blob, jika diperlukan:

// Azure SDK client builders accept the credential as a parameter
// TODO: Replace <storage-account-name> with your actual storage account name
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
        .endpoint("https://<storage-account-name>.blob.core.windows.net/")
        .credential(new DefaultAzureCredentialBuilder().build())
        .buildClient();

// If needed, you can create a BlobContainerClient object from the BlobServiceClient
BlobContainerClient containerClient = blobServiceClient
        .getBlobContainerClient("<container-name>");

// If needed, you can create a BlobClient object from the BlobContainerClient
BlobClient blobClient = containerClient
        .getBlobClient("<blob-name>");

Untuk mempelajari selengkapnya tentang membuat dan mengelola objek klien, lihat Membuat dan mengelola objek klien yang berinteraksi dengan sumber daya data.

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

Membuat 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 :

Kontainer dibuat segera di bawah akun penyimpanan. Tidak mungkin untuk menyarangkan satu kontainer di bawah kontainer lain. create Untuk metode dan createBlobContainer , pengecualian dilemparkan jika kontainer dengan nama yang sama sudah ada.

Contoh berikut membuat kontainer dari BlobServiceClient objek:

public BlobContainerClient createContainer(BlobServiceClient blobServiceClient, String containerName) {
    // Create the container using the service client object
    BlobContainerClient blobContainerClient = blobServiceClient.createBlobContainer(containerName);

    return blobContainerClient;
}

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://accountname.blob.core.windows.net/default.html

Contoh berikut membuat objek baru BlobContainerClient dengan nama kontainer $root, lalu membuat kontainer jika belum ada di akun penyimpanan:

public void createRootContainer(BlobServiceClient blobServiceClient) {
    // Creates a new BlobContainerClient object by appending the containerName to
    // the end of the URI
    BlobContainerClient blobContainerClient = blobServiceClient.getBlobContainerClient("$root");

    // If the container does not already exist, create it using the container client
    blobContainerClient.createIfNotExists();
}

Sumber

Untuk mempelajari selengkapnya tentang membuat kontainer menggunakan pustaka klien Azure Blob Storage untuk Java, lihat sumber daya berikut ini.

Sampel kode

Operasi REST API

Azure SDK untuk Java berisi pustaka yang dibangun di atas Azure REST API, memungkinkan Anda berinteraksi dengan operasi REST API melalui paradigma Java yang sudah dikenal. Metode pustaka klien untuk membuat kontainer menggunakan operasi REST API berikut:

Sumber daya pustaka klien

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