Menyambungkan fungsi ke Azure Storage menggunakan Visual Studio

Azure Functions memungkinkan Anda menghubungkan layanan Azure dan sumber daya lain ke fungsi tanpa harus menulis kode integrasi Anda sendiri. Pengikatanini, yang mewakili input dan output, dinyatakan dalam definisi fungsi. Data dari pengikatan diberikan ke fungsi sebagai parameter. Pemicu adalah jenis pengikatan input khusus. Meskipun fungsi hanya memiliki satu pemicu, fungsi dapat memiliki beberapa pengikatan input dan output. Untuk mempelajari selengkapnya, lihat konsep pemicu dan pengikatan Azure Functions.

Artikel ini menunjukkan cara menggunakan Visual Studio untuk menghubungkan fungsi yang Anda buat di artikel mulai cepat sebelumnya ke Azure Storage. Pengikatan output yang Anda tambahkan ke fungsi ini menulis data dari permintaan HTTP ke pesan dalam antrean penyimpanan Azure Queue.

Sebagian besar pengikatan memerlukan connection string yang telah disimpan, yang digunakan oleh Functions untuk mengakses layanan terikat. Untuk mempermudah, Anda menggunakan akun Storage yang Anda buat dengan aplikasi fungsi Anda. Koneksi ke akun ini sudah disimpan dalam pengaturan aplikasi bernama AzureWebJobsStorage.

Prasyarat

Sebelum memulai artikel ini, Anda harus:

  • Selesaikan Bagian 1 dari panduan mulai cepat Visual Studio.
  • Instal Azure Storage Explorer. Storage Explorer adalah alat yang akan Anda gunakan untuk memeriksa pesan antrian yang dihasilkan oleh binding output Anda. Storage Explorer didukung pada sistem operasi berbasis macOS, Windows, dan Linux.
  • Masuk ke langganan Azure Anda dari Visual Studio.

Unduh pengaturan aplikasi fungsi

Dalam artikel mulai cepat sebelumnya, Anda telah membuat aplikasi fungsi di Azure, serta akun Penyimpanan yang diperlukan. String koneksi untuk akun ini disimpan dengan aman di pengaturan aplikasi di Azure. Dalam artikel ini, Anda menulis pesan ke antrean penyimpanan di akun yang sama. Untuk menyambungkan ke akun Storage Anda saat menjalankan fungsi secara lokal, Anda harus mengunduh pengaturan aplikasi ke file local.settings.json.

  1. Di Solution Explorer, klik kanan project dan pilih Publish.

  2. Di tab Publish di bawah Hosting, perluas tiga titik (... ) dan pilih Kelola pengaturan Azure App Service.

    Edit pengaturan aplikasi

  3. Di bawah AzureWebJobsStorage, salin nilai string jarak jauh ke Lokal, lalu pilih OK.

Pengikatan penyimpanan, yang menggunakan pengaturan AzureWebJobsStorage untuk koneksi, sekarang dapat tersambung ke penyimpanan Antrean Anda saat dijalankan secara lokal.

Mendaftarkan ekstensi pengikatan

Karena Anda menggunakan pengikatan output Queue Storage, Anda memerlukan ekstensi pengikatan Storage yang diinstal sebelum menjalankan proyek. Kecuali untuk pemicu HTTP dan timer, pengikatan diimplementasikan sebagai paket ekstensi.

  1. Dari menu Tools, pilih NuGet Package Manager>Package Manager Console.

  2. Di konsol, jalankan perintah Install-Package berikut untuk menginstal ekstensi Storage:

    Install-Package Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues
    

Sekarang, Anda dapat menambahkan pengikatan output storage ke project Anda.

Menambah pengikatan keluaran

Dalam project C#, pengikatan didefinisikan sebagai atribut pengikatan pada metode fungsi. Definisi tertentu bergantung pada apakah aplikasi Anda berjalan dalam proses (pustaka kelas C#) atau dalam proses pekerja yang terisolasi.

Buka file HttpExample.cs project dan tambahkan kelas MultiResponse berikut:

public class MultiResponse
{
    [QueueOutput("outqueue", Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

Kelas MultiResponse memungkinkan Anda menulis ke antrean penyimpanan bernama outqueue dan pesan keberhasilan HTTP. Beberapa pesan dapat dikirim ke antrean tersebut karena atribut QueueOutput diterapkan ke array string.

Properti Connection mengatur string koneksi untuk akun penyimpanan. Dalam hal ini, Anda dapat menghilangkan Connection karena Anda sudah menggunakan akun storage default.

Tambahkan kode yang menggunakan pengikatan output

Setelah pengikatan ditentukan, Anda dapat menggunakan name pengikatan untuk mengaksesnya sebagai atribut dalam tanda tangan fungsi. Dengan menggunakan pengikatan output, Anda tidak perlu menggunakan kode SDK Azure Storage untuk autentikasi, mendapatkan referensi antrean, atau menulis data. Runtime Functions dan pengikatan output antrean akan melakukan tugas-tugas tersebut untuk Anda.

Ganti metode Run yang ada dengan kode berikut:

[Function("HttpExample")]
public MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req)
{
    _logger.LogInformation("C# HTTP trigger function processed a request.");

    var message = "Welcome to Azure Functions!";

    // Return a response to both HTTP trigger and storage output binding.
    return new MultiResponse()
    {
        // Write a single message.
        Messages = new string[] { message },
        HttpResponse = new OkObjectResult(message)
    };
}

Jalankan fungsi secara lokal

  1. Untuk menjalankan fungsi Anda, tekan F5 di Visual Studio. Anda mungkin perlu mengaktifkan pengecualian firewall sehingga alat dapat menangani permintaan HTTP. Tingkat otorisasi tidak pernah diberlakukan saat Anda menjalankan fungsi secara lokal.

  2. Salin URL fungsi Anda dari output runtime Azure Functions.

    runtime Azure local

  3. Tempelkan URL untuk permintaan HTTP ke bilah alamat browser Anda dan jalankan permintaan. Gambar berikut menampilkan respons di browser ke permintaan GET lokal yang dikembalikan oleh fungsi:

    Respons localhost fungsi di browser

  4. Untuk menghentikan penelusuran kesalahan, tekan Shift+F5 di Visual Studio.

Antrean baru bernama outqueue dibuat di akun storage Anda oleh runtime Functions saat pengikatan output pertama kali digunakan. Anda akan menggunakan Storage Explorer untuk memverifikasi bahwa antrean dibuat bersama dengan pesan baru.

Menyambungkan Storage Explorer ke akun Anda

Lewati bagian ini jika Anda telah menginstal Azure Storage Explorer dan menghubungkannya ke akun Azure Anda.

  1. Jalankan alat Azure Storage Explorer, pilih ikon sambungkan di sebelah kiri, dan pilih Tambahkan akun.

    Screenshot tentang cara menambahkan akun Azure ke Microsoft Azure Storage Explorer.

  2. Dalam dialog Connect, pilih Tambahkan akun Azure, pilih lingkungan Azure anda, lalu pilih Sign di... .

    Screenshot dari jendela masuk ke akun Azure Anda.

Setelah berhasil masuk ke akun, Anda akan melihat semua langganan Azure yang terkait dengan akun Anda. Pilih langganan Anda dan pilih Buka Explorer.

Periksa antrian keluaran

  1. Di Storage Explorer, perluas node Queues, lalu pilih antrean bernama outqueue.

    Antrean berisi pesan yang dibuat oleh pengikatan output antrean ketika Anda menjalankan fungsi yang dipicu oleh HTTP. Jika Anda memanggil fungsi dengan nilai name default Azure, pesan antrean Name diteruskan ke fungsi: Azure.

    Tangkapan layar dari pesan antrean yang ditampilkan di Azure Storage Explorer.

  2. Jalankan fungsi lagi, kirim permintaan lain, dan Anda akan melihat pesan baru muncul dalam antrean.

Sekarang, saatnya untuk menerbitkan ulang aplikasi fungsi yang diperbarui ke Azure.

Menyebarkan ulang dan memverifikasi aplikasi yang diperbarui

  1. Di Solution Explorer, klik kanan project dan pilih Publikasi, lalu pilih Publish untuk menerbitkan ulang project ke Azure.

  2. Setelah penyebaran selesai, Anda dapat kembali menggunakan browser untuk menguji fungsi yang disebarkan ulang. Seperti sebelumnya, tambahkan string kueri &name=<yourname> ke URL.

  3. Sekali lagi tampilkan pesan dalam antrean storage untuk memverifikasi bahwa pengikatan output kembali menghasilkan pesan baru dalam antrean.

Membersihkan sumber daya

Panduan mulai cepat lainnya dalam koleksi ini didasarkan pada panduan mulai cepat ini. Jika Anda berencana untuk bekerja dengan panduan cepat berikutnya, tutorial, atau salah satu layanan yang telah Anda buat dalam panduan cepat ini, jangan hapus sumber daya.

Resources di Azure merujuk ke aplikasi fungsi, fungsi, akun storage, dan sebagainya. Sumber daya tersebut dikelompokkan ke dalamgrup sumber daya, dan Anda dapat menghapus semuanya dalam grup dengan menghapus grup.

Anda telah membuat sumber daya untuk menyelesaikan panduan mulai cepat ini. Anda mungkin akan dikenakan tagihan untuk sumber daya ini, tergantung pada status akun dan penetapan harga layanan. Jika Anda tidak memerlukan sumber daya lagi, berikut cara menghapusnya:

  1. Di Azure portal, buka halaman grup Resource.

    Untuk masuk ke halaman itu dari halaman aplikasi fungsi, pilih tabGambaran Umum lalu pilih tautan di bawah Grup sumber daya.

    Cuplikan layar yang menunjukkan pilih grup sumber daya yang akan dihapus dari halaman aplikasi fungsi.

    Untuk masuk ke halaman itu dari dasbor, pilih Grup sumber daya, lalu pilih grup sumber daya yang Anda gunakan untuk artikel ini.

  2. Di halamanGrup sumber daya, tinjau daftar sumber daya yang disertakan, dan pastikan bahwa sumber daya tersebut adalah sumber daya yang ingin Anda hapus.

  3. Pilih Hapus grup sumber daya, dan ikuti instruksinya.

    Penghapusan mungkin memakan waktu beberapa menit. Setelah selesai, pemberitahuan akan muncul selama beberapa detik. Anda juga dapat memilih ikon bel di bagian atas halaman untuk melihat pemberitahuan.

Langkah berikutnya

Anda telah memperbarui fungsi yang dipicu HTTP untuk menulis data ke antrean Penyimpanan. Untuk mempelajari selengkapnya tentang mengembangkan Functions, lihat Develop Azure Functions menggunakan Visual Studio.

Selanjutnya, Anda harus mengaktifkan Application Insights yang memantau aplikasi fungsi Anda: