Bagikan melalui


Mulai menggunakan Azure Blob Storage dan Java

Artikel ini memperlihatkan kepada Anda cara menyambungkan ke Azure Blob Storage dengan menggunakan pustaka klien Azure Blob Storage untuk Java. Setelah terhubung, kode Anda dapat beroperasi pada kontainer, blob, dan fitur layanan Blob Storage.

Paket referensi | API (Maven) | Sampel | kode | sumber pustaka Berikan umpan balik

Prasyarat

Menyiapkan proyek Anda

Catatan

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

Gunakan Maven untuk membuat aplikasi konsol baru, atau buka proyek yang sudah ada. Ikuti langkah-langkah ini untuk menginstal paket dan menambahkan arahan yang diperlukan import .

Memasang paket

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

Sertakan file BOM

Tambahkan azure-sdk-bom untuk mengambil dependensi pada versi terbaru pustaka. Dalam cuplikan berikut, ganti {bom_version_to_target} tempat penampung dengan nomor versi. Menggunakan azure-sdk-bom membuat Anda tidak perlu menentukan versi setiap dependensi individu. Untuk mempelajari selengkapnya tentang BOM, lihat AZURE SDK BOM README.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-sdk-bom</artifactId>
            <version>{bom_version_to_target}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Tambahkan elemen dependensi berikut ke grup dependensi. Dependensi azure-identity diperlukan untuk koneksi tanpa kata sandi ke layanan Azure.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
</dependency>
<dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-common</artifactId>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
</dependency>

Menyertakan dependensi langsung

Untuk mengambil dependensi pada versi pustaka tertentu, tambahkan dependensi langsung ke proyek Anda:

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
    <version>{package_version_to_target}</version>
</dependency>
<dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-common</artifactId>
      <version>{package_version_to_target}</version>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>{package_version_to_target}</version>
</dependency>

Sertakan direktif impor

Kemudian buka file kode Anda dan tambahkan arahan yang diperlukan import . Dalam contoh ini, kami menambahkan arahan berikut dalam file App.java :

import com.azure.core.credential.*;
import com.azure.identity.*;
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
import com.azure.storage.blob.specialized.*;
import com.azure.storage.common.*;

Informasi pustaka klien blob:

Mengotorisasi akses dan menyambungkan ke Blob Storage

Untuk menyambungkan aplikasi ke Blob Storage, buat instans kelas BlobServiceClient . Anda juga dapat menggunakan kelas BlobServiceAsyncClient untuk pemrograman asinkron. Objek ini adalah titik awal Anda untuk berinteraksi dengan sumber daya data di tingkat akun penyimpanan. Anda dapat menggunakannya untuk beroperasi pada akun penyimpanan dan kontainernya. Anda juga dapat menggunakan klien layanan untuk membuat klien kontainer atau klien blob, tergantung pada sumber daya yang perlu Anda kerjakan.

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

Anda dapat mengotorisasi BlobServiceClient objek dengan menggunakan token otorisasi Microsoft Entra, kunci akses akun, atau tanda tangan akses bersama (SAS).

Untuk mengotorisasi dengan ID Microsoft Entra, Anda harus menggunakan prinsip keamanan. Jenis prinsipal keamanan yang Anda butuhkan bergantung pada tempat aplikasi Anda berjalan. Gunakan tabel berikut sebagai panduan:

Tempat aplikasi berjalan Prinsip keamanan Panduan
Komputer lokal (pengembangan dan pengujian) Perwakilan layanan Untuk mempelajari cara mendaftarkan aplikasi, menyiapkan grup Microsoft Entra, menetapkan peran, dan mengonfigurasi variabel lingkungan, lihat Mengotorisasi akses menggunakan perwakilan layanan pengembang.
Komputer lokal (pengembangan dan pengujian) Identitas pengguna Untuk mempelajari cara menyiapkan grup Microsoft Entra, menetapkan peran, dan masuk ke Azure, lihat Mengotorisasi akses menggunakan kredensial pengembang.
Dihosting di Azure Identitas terkelola Untuk mempelajari cara mengaktifkan identitas terkelola dan menetapkan peran, lihat Mengotorisasi akses dari aplikasi yang dihosting Azure menggunakan identitas terkelola.
Dihosting di luar Azure (misalnya, aplikasi lokal) Perwakilan layanan Untuk mempelajari cara mendaftarkan aplikasi, menetapkan peran, dan mengonfigurasi variabel lingkungan, lihat Mengotorisasi akses dari aplikasi lokal menggunakan perwakilan layanan aplikasi

Mengotorisasi akses menggunakan DefaultAzureCredential

Cara mudah dan aman untuk mengotorisasi akses dan terhubung ke Blob Storage adalah dengan mendapatkan token OAuth dengan membuat instans DefaultAzureCredential . Anda kemudian dapat menggunakan kredensial tersebut untuk membuat objek BlobServiceClient .

Pastikan Anda memiliki dependensi yang benar dalam pom.xml dan arahan impor yang diperlukan, seperti yang dijelaskan dalam Menyiapkan proyek Anda.

Contoh berikut menggunakan BlobServiceClientBuilder untuk membangun BlobServiceClient objek menggunakan DefaultAzureCredential:

public static BlobServiceClient GetBlobServiceClientTokenCredential() {
    TokenCredential credential = new DefaultAzureCredentialBuilder().build();

    // 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(credential)
            .buildClient();

    return blobServiceClient;
}

Bangun aplikasi Anda

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. Untuk mempelajari selengkapnya tentang jenis sumber daya ini, bagaimana mereka berhubungan satu dengan yang lain, dan bagaimana aplikasi berinteraksi dengan sumber daya, lihat Memahami bagaimana aplikasi berinteraksi dengan sumber daya data Blob Storage.

Panduan berikut menunjukkan kepada Anda cara bekerja dengan sumber daya data dan melakukan tindakan tertentu menggunakan pustaka klien Azure Storage untuk Java:

Panduan Deskripsi
Membuat kontainer Buat kontainer.
Menghapus dan memulihkan kontainer Hapus kontainer, dan jika penghapusan sementara diaktifkan, pulihkan kontainer yang dihapus.
Mendaftar kontainer Cantumkan kontainer di akun dan berbagai opsi yang tersedia untuk menyesuaikan pencantuman.
Mengelola properti dan metadata (kontainer) Dapatkan dan atur properti dan metadata untuk kontainer.
Membuat dan mengelola sewa kontainer Membuat dan mengelola kunci pada kontainer.
Membuat dan mengelola sewa blob Buat dan kelola kunci pada blob.
Unggah blob Pelajari cara mengunggah blob dengan menggunakan string, aliran, jalur file, dan metode lainnya.
Unduh blob Unduh blob dengan menggunakan string, aliran, dan jalur file.
Menyalin blob Salin blob dari satu lokasi ke lokasi lain.
Masukkan blob Cantumkan blob dengan cara yang berbeda.
Menghapus dan memulihkan Hapus blob, dan jika penghapusan sementara diaktifkan, pulihkan blob yang dihapus.
Menemukan blob menggunakan tag Atur dan ambil tag serta gunakan tag untuk menemukan blob.
Mengelola properti dan metadata (blob) Dapatkan dan atur properti dan metadata untuk blob.
Mengatur atau mengubah tingkat akses blob Atur atau ubah tingkat akses untuk blob blok.