Bagikan melalui


Membuat kontainer blob dengan Go

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

Prasyarat

Menyiapkan lingkungan Anda

Jika Anda tidak memiliki proyek yang sudah ada, bagian ini memperlihatkan cara menyiapkan proyek untuk bekerja dengan modul klien Azure Blob Storage untuk Go. Langkah-langkahnya termasuk penginstalan modul, menambahkan import jalur, dan membuat objek klien resmi. Untuk detailnya, lihat Mulai menggunakan Azure Blob Storage dan Go.

Menginstal modul

Instal modul azblob menggunakan perintah berikut:

go get github.com/Azure/azure-sdk-for-go/sdk/storage/azblob

Untuk mengautentikasi dengan MICROSOFT Entra ID (disarankan), instal azidentity modul menggunakan perintah berikut:

go get github.com/Azure/azure-sdk-for-go/sdk/azidentity

Menambahkan jalur impor

Dalam file kode Anda, tambahkan jalur impor berikut:

import (
    "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
)

Jalur impor ini mewakili minimum yang diperlukan untuk memulai. Beberapa contoh kode dalam artikel ini mungkin memerlukan jalur impor tambahan. Untuk detail tertentu dan contoh penggunaan, lihat Sampel kode.

Membuat objek klien

Untuk menyambungkan aplikasi ke Blob Storage, buat objek klien menggunakan azblob. NewClient. Contoh berikut menunjukkan cara membuat objek klien menggunakan DefaultAzureCredential untuk otorisasi:

func getServiceClientTokenCredential(accountURL string) *azblob.Client {
    // Create a new service client with token credential
    credential, err := azidentity.NewDefaultAzureCredential(nil)
    handleError(err)

    client, err := azblob.NewClient(accountURL, credential, nil)
    handleError(err)

    return client
}

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).

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 metode berikut:

Kontainer dibuat segera di bawah akun penyimpanan. Tidak mungkin untuk menyarangkan satu kontainer di bawah kontainer lain. Pengecualian dikeluarkan jika kontainer dengan nama yang sama sudah ada.

Contoh berikut menunjukkan cara membuat kontainer:

func createContainer(client *azblob.Client, containerName string) {
    // Create a container
    _, err := client.CreateContainer(context.TODO(), containerName, nil)
    handleError(err)
}

Buat kontainer root

Kontainer root berfungsi sebagai kontainer default untuk akun penyimpanan Anda. Setiap akun penyimpanan dapat memiliki satu kontainer akar, yang harus diberi nama $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 mereferensikan blob di kontainer akar sebagai berikut:

https://<storage-account-name>.blob.core.windows.net/default.html

Contoh berikut membuat kontainer jika belum ada di akun penyimpanan:

func createRootContainer(client *azblob.Client) {
    // Create root container
    _, err := client.CreateContainer(context.TODO(), "$root", nil)
    handleError(err)
}

Catatan

Sampel kode dalam panduan ini dimaksudkan untuk membantu Anda mulai menggunakan Azure Blob Storage dan Go. Anda harus mengubah penanganan kesalahan dan Context nilai untuk memenuhi kebutuhan aplikasi Anda.

Sumber

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

Sampel kode

  • Menampilkan sampel kode dari artikel ini (GitHub)

Operasi REST API

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

Sumber daya modul klien

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