Bagikan melalui


Menyambungkan Azure Functions ke Azure Storage menggunakan Visual Studio

Azure Functions memungkinkan Anda tersambung ke layanan dan sumber daya lainnya agar berfungsi 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 lebih lanjut, lihat pemicu dan pengikatan Azure Functions.

Artikel ini memberikan informasi tentang cara menggunakan Visual Studio untuk menyambungkan Azure Storage ke fungsi yang Anda buat diartikel 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 string koneksi tersimpan yang digunakan Azure Functions untuk mengakses layanan yang terikat. Agar lebih mudah, gunakan akun Azure 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:

  • Melengkapi bagian 1 mulai cepat Visual Studio.
  • Instal Penjelajah Azure Storage. Penjelajah Penyimpanan adalah alat yang akan Anda gunakan untuk memeriksa pesan antrean yang dihasilkan oleh pengikatan output Anda. Azure Storage Explorer didukung pada sistem operasi berbasis macOS, Windows, dan Linux.
  • Masuk ke langganan Azure Anda dari Visual Studio.

Unduh pengaturan aplikasi fungsi

Di artikel mulai cepat sebelumnya, Anda membuat aplikasi fungsi di Azure bersama dengan akun Azure Storage yang diperlukan. String koneksi untuk akun ini disimpan dengan aman di pengaturan aplikasi di Azure. Di artikel ini, Anda menulis pesan ke antrean Azure Storage di akun yang sama. Agar terhubung ke akun Azure Storage saat menjalankan fungsi secara lokal, Anda harus mengunduh pengaturan aplikasi ke file local.settings.json.

  1. Di Penjelajah Solusi, klik kanan proyek dan pilih Terbitkan.

  2. Di tab Terbitkan pada Hosting, klik tiga titik (...) dan pilih Kelola pengaturan Azure App Service.

    Mengedit pengaturan aplikasi

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

Pengikatan penyimpanan, yang menggunakan pengaturan AzureWebJobsStorage untuk koneksinya, sekarang dapat terhubung ke penyimpanan Antrean Anda saat berjalan secara lokal.

Mendaftarkan ekstensi pengikatan

Karena Anda menggunakan pengikatan output penyimpanan Antrean, Anda memerlukan ekstensi pengikatan Azure Storage yang dipasang sebelum Anda menjalankan proyek. Kecuali untuk pemicu HTTP dan timer, pengikatan diimplementasikan sebagai paket ekstensi.

  1. Dari menu Alat, pilih Pengelola Paket NuGet>Konsol Pengelola Paket.

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

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

Sekarang, Anda dapat menambahkan pengikatan output penyimpanan ke proyek Anda.

Menambahkan pengikatan output

Dalam proyek 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 proyek HttpExample.cs dan tambahkan kelas MultiResponse berikut:

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

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

Properti Connection mengatur string koneksi pada akun penyimpanan. Dalam hal ini, Anda dapat mengabaikan Connection karena Anda sudah menggunakan akun penyimpanan default.

Tambahkan kode yang menggunakan pengikatan output

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

Ganti kelas HttpExample yang sudah ada dengan kode berikut:

    [Function("HttpExample")]
    public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req,
        FunctionContext executionContext)
    {
        var logger = executionContext.GetLogger("HttpExample");
        logger.LogInformation("C# HTTP trigger function processed a request.");

        var message = "Welcome to Azure Functions!";

        var response = req.CreateResponse(HttpStatusCode.OK);
        response.Headers.Add("Content-Type", "text/plain; charset=utf-8");
        response.WriteString(message);

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

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.

    {i>Runtime<i} lokal Azure

  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 penyimpanan Anda oleh runtime Functions saat pengikatan output pertama kali digunakan. Anda akan menggunakan Azure Storage Explorer untuk memverifikasi bahwa antrean dibuat bersama dengan pesan baru.

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

    Cuplikan layar cara menambahkan akun Azure ke Microsoft Azure Storage Explorer.

  2. Dalam dialog Sambungkan, pilih Tambahkan akun Azure, pilih lingkungan Azure Anda, dan pilih Masuk....

    Cuplikan layar masuk ke jendela 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 antrean output

  1. Di Storage Explorer, perluas simpul Antrean , lalu pilih antrean bernama outqueue.

    Antrean berisi pesan bahwa pengikatan output antrean dibuat saat Anda menjalankan fungsi yang dipicu HTTP. Jika Anda memanggil fungsi dengan nilai default name dari Azure, pesan antreannya adalah Nama yang diteruskan ke fungsi: Azure.

    Cuplikan layar 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 Penjelajah Solusi, klik kanan proyek dan pilih Terbitkan, lalu pilih Terbitkan untuk menerbitkan ulang proyek 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 lihat pesan dalam antrean penyimpanan untuk memverifikasi bahwa pengikatan output kembali menghasilkan pesan baru dalam antrean.

Membersihkan sumber daya

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

Di Azure, sumber daya merujuk ke aplikasi fungsi, fungsi, akun penyimpanan, 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 mulai cepat ini. Anda akan ditagihkan untuk sumber daya ini, tergantung pada status akun dan harga layanan Anda. Jika Anda tidak memerlukan sumber daya lagi, berikut cara menghapusnya:

  1. Di portal Azure, buka halaman Gambaran Umum.

    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 pemicu HTTP Anda untuk menulis data ke antrean Storage. Untuk mempelajari selengkapnya tentang mengembangkan Functions, lihat Mengembangkan Azure Functions menggunakan Visual Studio.

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