Latihan - Hubungkan aplikasi Anda ke akun Azure Storage Anda

Selesai

Pustaka klien Azure Storage menyediakan model objek yang digunakan untuk berinteraksi dengan akun penyimpanan Azure. Ini digunakan untuk terhubung dengan cepat ke akun penyimpanan Azure dan menggunakan API layanan Azure Storage.

Model objek pustaka klien Azure Storage

Akun penyimpanan di Azure diatur ke dalam satu atau beberapa kontainer yang menyimpan objek blob (file) aktual di akun Anda. Kontainer ini mirip dengan folder dalam sistem file. Kita dapat menggunakan pustaka klien Azure Storage Blobs untuk .NET untuk membuat kontainer di akun penyimpanan kita untuk menyimpan foto kita.

Untuk menggunakan pustaka klien Azure Storage Blobs untuk .NET dalam program Anda, Anda perlu menambahkan using pernyataan di bagian atas program Anda untuk Azure.Storage.Blobs namespace layanan.

  1. Tambahkan metode berikut ke Program.cs.

    using Azure.Storage.Blobs;
    

    Untuk membuat dan mengelola kontainer di akun penyimpanan Anda dari aplikasi .NET Anda menggunakan objek BlobContainerClient. Untuk membuat instans objek BlobContainerClient, Anda harus memberikan string koneksi ke akun penyimpanan dan nama kontainer. Nama kontainer harus memiliki panjang antara 3 hingga 63 karakter, dan hanya boleh berisi huruf kecil dan karakter tanda hubung (-). Untuk aplikasi ini, kami akan menggunakan nama foto.

  2. Tambahkan kode berikut ke bagian Utama aplikasi Anda untuk mendapatkan string koneksi Azure Storage dan buat objek BlobContainerClient.

    var connectionString = configuration.GetConnectionString("StorageAccount");
    string containerName = "photos";
    
    BlobContainerClient container = new BlobContainerClient(connectionString, containerName);
    

    Catatan

    Pada titik ini, pustaka klien belum mencoba menyambungkan ke Azure atau memvalidasi string koneksi dan kunci akses yang digunakan. Ini hanya membangun objek klien ringan yang digunakan untuk melakukan operasi terhadap Azure Blob Storage. Hanya ketika operasi dipanggil terhadap akun penyimpanan, panggilan jaringan akan dilakukan.

  3. Tepat di bawah baris sebelumnya, tambahkan kode untuk membuat kontainer foto, tempat kita akan menyimpan gambar.

    container.CreateIfNotExists();
    
  4. Simpan file Anda.

  5. Sekarang, jalankan aplikasi untuk membuat kontainer di akun penyimpanan. Karena kami menggunakan metode CreateIfNotExists, Anda dapat menjalankan program beberapa kali, tetapi kontainer hanya akan dibuat saat pertama kali dijalankan.

    dotnet run
    
  6. Anda dapat memverifikasi bahwa Anda telah membuat kontainer dengan menjalankan perintah Azure CLI berikut. Ingatlah untuk mengganti <name> dengan nama akun penyimpanan Anda.

    az storage container list \
    --account-name <name>
    

Pustaka klien Azure Storage Blob untuk JavaScript berisi banyak objek klien untuk berinteraksi dengan Azure Storage Blob. Di bagian atas hierarki ini adalah objek BlobServiceClient. Untuk menggunakan objek ini dalam kode JavaScript Anda:

  1. Buka file index.js Anda di editor kode dan tambahkan pernyataan berikut segera setelah require('dotenv').config(); pernyataan:

    const { BlobServiceClient } = require("@azure/storage-blob");
    
  2. Sekarang, Anda perlu membuat BlobServiceClient objek dalam kode Anda dengan mendapatkan string koneksi akun penyimpanan dan meneruskannya ke metode fromConnectionString pabrik pada BlobServiceClient objek. Tambahkan baris kode berikut:

    const storageAccountConnectionString = process.env.AZURE_STORAGE_CONNECTION_STRING;
    const blobServiceClient = BlobServiceClient.fromConnectionString(storageAccountConnectionString);
    

    Catatan

    Pustaka klien tidak akan mencoba menyambungkan ke Azure hingga operasi dipanggil yang memerlukannya. Objek klien adalah objek ringan yang memungkinkan akses ke Azure Blob Storage; ini tidak memvalidasi koneksi atau kunci akses yang digunakan.

  3. Setelah Anda memiliki objek klien yang ditentukan dalam program, Anda dapat menggunakan metode pada objek klien untuk melakukan pekerjaan yang sebenarnya. Metode yang membuat panggilan jaringan yang sengaja dibuat asinkron. Pustaka menggunakan Promises untuk mengembalikan hasil asinkron. Oleh karena itu, Anda perlu menandai fungsi utama sebagai asinkron. Ganti objek fungsi utama dengan kode berikut. Baris yang dimulai dengan dua garis miring ke depan adalah komentar.

    async function main() {
     // Function code here
    }
    
  4. Simpan perubahan ke index.js.

    Sekarang, mari kita tambahkan beberapa kode untuk menjalankan operasi terhadap akun penyimpanan kita. Akun penyimpanan diatur ke dalam satu atau beberapa kontainer, yang bertindak seperti folder di akun penyimpanan Anda. Objek blob (file) yang dibuat di akun penyimpanan Anda disimpan di salah satu kontainer ini. Anda perlu membuat kontainer di akun penyimpanan untuk menyimpan foto Anda.

    Nama kontainer harus memiliki panjang antara 3 hingga 63 karakter, dan hanya boleh berisi huruf kecil dan karakter tanda hubung (-). Untuk aplikasi ini, kami akan menggunakan nama foto.

    Untuk membuat kontainer di akun penyimpanan, Anda perlu mendapatkan objek ContainerClient yang mewakili kontainer di akun penyimpanan. Meskipun kontainer belum ada di akun penyimpanan kami, kita dapat menggunakan ContainerClient untuk membuat kontainer dan mengelolanya setelah dibuat.

  5. Untuk mendapatkan ContainerClient objek, panggil getContainerClient metode pada BlobServiceClient objek dan berikan nama kontainer sebagai parameter. Lalu, untuk membuat kontainer di akun Azure Storage Anda, gunakan metode createIfNotExists pada objek containerClient. Ganti baris komentar // Function Code here dengan pernyataan ini:

    // Create a container (folder) if it does not exist
    const containerName = 'photos';
    const containerClient = blobServiceClient.getContainerClient(containerName);
    const containerExists = await containerClient.exists()
    if ( !containerExists) {
        const createContainerResponse = await containerClient.createIfNotExists();
        console.log(`Create container ${containerName} successfully`, createContainerResponse.succeeded);
    }
    else {
        console.log(`Container ${containerName} already exists`);
    }
    
  6. Simpan perubahan ke file index.js .

  7. Di baris perintah Cloud Shell, masukkan perintah berikut untuk membangun dan menjalankan program Anda, yang membuat kontainer di akun penyimpanan Anda:

    node index.js
    

    Tip

    Jika mendapatkan kesalahan tentang penggunaan kata kunci await, pastikan Anda telah menambahkan kata kunci async ke definisi fungsi main per langkah terakhir dalam petunjuk sebelumnya.

    Saat pertama kali menjalankan program, Anda akan melihat pesan bahwa kontainer berhasil dibuat, dengan status benar. Kali kedua dan berikutnya Anda menjalankan program, Anda akan melihat pesan serupa dengan status salah karena kontainer sudah ada.

  8. Anda dapat memverifikasi bahwa Anda telah membuat kontainer dengan menjalankan perintah Azure CLI berikut. Ingatlah untuk mengganti <name> dengan nama akun penyimpanan Anda.

    az storage container list \
    --account-name <name>
    

Sekarang program kami terhubung ke akun penyimpanan Azure kami dan kami telah membuat kontainer foto, mari biarkan program kami mengunggah gambar ke sana.