Bagikan melalui


Memahami bagaimana aplikasi berinteraksi dengan sumber daya data Blob Storage

Saat Anda membangun aplikasi untuk bekerja dengan sumber daya data di Azure Blob Storage, kode Anda terutama berinteraksi dengan tiga jenis sumber daya: akun penyimpanan, kontainer, dan blob. Artikel ini menjelaskan jenis sumber daya ini dan menunjukkan bagaimana mereka berhubungan satu dengan yang lain. Ini juga menunjukkan bagaimana kode aplikasi menggunakan pustaka klien Azure Blob Storage untuk berinteraksi dengan berbagai sumber daya ini.

Jenis sumber daya Blob Storage

Pustaka klien Azure Blob Storage memungkinkan Anda berinteraksi dengan tiga jenis sumber daya dalam layanan penyimpanan:

Diagram berikut menunjukkan hubungan antara sumber daya ini:

Diagram memperlihatkan hubungan antara akun penyimpanan, kontainer, dan blob

Akun penyimpanan

Akun penyimpanan menyediakan namespace unik di Azure untuk data Anda. Setiap objek yang Anda simpan di Azure Storage memiliki alamat yang menyertakan nama akun unik Anda. Kombinasi nama akun dan titik akhir Blob Storage membentuk alamat dasar untuk objek di akun penyimpanan Anda.

Misalnya, jika akun penyimpanan Anda diberi nama sampleaccount, maka titik akhir default untuk Blob Storage adalah:

https://sampleaccount.blob.core.windows.net

Untuk mempelajari selengkapnya tentang jenis akun penyimpanan, lihat Gambaran umum akun penyimpanan Azure.

Kontainer

Kontainer mengatur sekumpulan blob, mirip dengan direktori dalam sistem file. Akun penyimpanan dapat mencakup jumlah kontainer yang tidak terbatas, dan kontainer dapat menyimpan blob dalam jumlah tak terbatas.

URI untuk kontainer mirip dengan:

https://sampleaccount.blob.core.windows.net/sample-container

Untuk informasi selengkapnya tentang penamaan kontainer, lihat Penamaan dan Referensi Kontainer, Blob, dan Metadata.

Gumpalan

Azure Storage mendukung tiga jenis blob:

  • Blokir blob menyimpan teks dan data biner. Blob blok terdiri dari blok data yang dapat dikelola secara individual. Blok blob dapat menyimpan hingga sekitar 190,7 TiB.
  • Tambahkan blob terdiri dari blok seperti blob blok, tetapi dioptimalkan untuk operasi penambahan. Append blob sangat ideal untuk skenario seperti pencatatan log data dari komputer virtual.
  • Page blobs menyimpan file akses acak hingga 8 TiB. Untuk informasi selengkapnya tentang Blob Halaman, lihat Gambaran Umum Blob Halaman Azure

Untuk informasi lebih lanjut tentang berbagai jenis blob, lihat Memahami Blob Blok, Blob Lampiran, dan Blob Halaman.

URI untuk blob mirip dengan:

https://sampleaccount.blob.core.windows.net/sample-container/sample-blob

Untuk informasi selengkapnya tentang penamaan blob, lihat Menamai dan Mereferensikan Kontainer, Blob, dan Metadata.

Bekerja dengan sumber daya data menggunakan Azure SDK

Azure SDK berisi pustaka yang dibangun di atas Azure REST API, memungkinkan Anda berinteraksi dengan operasi REST API melalui paradigma bahasa pemrograman yang familier. SDK dirancang untuk menyederhanakan interaksi antara aplikasi Anda dan sumber daya Azure.

Dalam skenario yang jarang terjadi, aplikasi yang telah meningkatkan ke versi beta terbaru atau yang tersedia secara umum dari SDK dapat menerima pesan kesalahan InvalidHeaderValue. Masalah ini dapat terjadi saat menggunakan salah satu pustaka Penyimpanan. Pesan kesalahan terlihat mirip dengan sampel berikut:

HTTP/1.1 400 The value for one of the HTTP headers is not in the correct format.
Content-Length: 328
Content-Type: application/xml
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: <REMOVED>
Date: Fri, 19 May 2023 17:10:33 GMT
 
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>InvalidHeaderValue</Code>
<Message>
The value for one of the HTTP headers is not in the correct format.
RequestId:<REMOVED>
Time:2023-05-19T17:10:34.2972651Z
</Message>
<HeaderName>x-ms-version</HeaderName><HeaderValue>yyyy-mm-dd</HeaderValue>
</Error>

Jika Anda telah meningkatkan ke versi beta terbaru atau yang tersedia secara umum dari SDK dan mengalami kesalahan ini, disarankan agar Anda menurunkan ke versi SDK yang tersedia secara umum sebelumnya untuk melihat apakah masalah diselesaikan.

Anda dapat melihat detail khusus SDK di lokasi berikut:

Jika masalah berlanjut, atau jika rekomendasi tidak layak, membuka tiket dukungan untuk menjelajahi opsi lebih lanjut.

Di pustaka klien Azure Blob Storage, setiap jenis sumber daya diwakili oleh satu atau beberapa kelas terkait. Kelas-kelas ini menyediakan operasi untuk bekerja dengan sumber daya Azure Storage.

Tabel berikut mencantumkan kelas dasar, bersama dengan deskripsi singkat:

Kelas Deskripsi
BlobServiceKlien Mewakili akun penyimpanan serta menyediakan operasi untuk mengambil dan mengonfigurasi properti akun, serta bekerja dengan kontainer blob di akun penyimpanan.
BlobContainerClient Mewakili kontainer blob tertentu, dan menyediakan operasi untuk mengelola kontainer dan blob yang ada.
BlobClient Mewakili blob tertentu, dan menyediakan operasi umum untuk bekerja dengan blob, termasuk operasi untuk mengunggah, mengunduh, menghapus, dan membuat rekam jepret.
AppendBlobClient Mewakili blob tambahan, dan menyediakan operasi khusus untuk menambahkan blob, seperti menambahkan data log.
BlockBlobClient Mewakili sebuah blob blok, dan menyediakan operasi khusus untuk blob blok, seperti mempersiapkan dan kemudian mengkomit blok data.

Paket berikut berisi kelas yang digunakan untuk bekerja dengan sumber daya data Blob Storage:

Langkah berikutnya

Bekerja dengan sumber daya Azure menggunakan SDK dimulai dengan membuat instans klien. Untuk mempelajari selengkapnya tentang pembuatan dan manajemen objek klien, lihat Membuat dan mengelola objek klien yang berinteraksi dengan sumber daya data.