Membuat fungsi tahan lama pertama Anda di C#

Durable Functions adalah ekstensi Azure Functions yang memungkinkan Anda menulis fungsi stateful di lingkungan tanpa server. Ekstensi ini mengelola status, titik pemeriksaan, dan menghidupkan ulang untuk Anda.

Dalam artikel ini, pelajari cara menggunakan Visual Studio Code untuk membuat dan menguji fungsi "hello world" yang tahan lama secara lokal. Fungsi ini mengatur dan menyatukan rantai panggilan ke fungsi lain. Anda kemudian dapat menerbitkan kode fungsi ke Azure. Alat ini tersedia sebagai bagian dari ekstensi Visual Studio Code Azure Functions.

Cuplikan layar jendela Visual Studio Code dengan fungsi yang tahan lama.

Prasyarat

Untuk menyelesaikan tutorial ini:

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Membuat proyek lokal Anda

Di bagian ini, gunakan Visual Studio Code untuk membuat proyek Azure Functions lokal.

  1. Di Visual Studio Code, tekan F1 (atau Ctrl/Cmd+Shift+P) untuk membuka palet perintah. Di palet perintah, cari dan pilih Azure Functions: Create New Project....

    Cuplikan layar membuat jendela proyek fungsi.

  2. Pilih lokasi folder kosong untuk proyek Anda dan pilihPilih.

  3. Ikuti perintahnya dan berikan informasi berikut:

    Prompt Nilai Deskripsi
    Pilih bahasa untuk proyek aplikasi fungsi Anda C# Buat proyek Fungsi C# lokal.
    Pilih versi Azure Functions v4 Anda hanya melihat opsi ini saat Core Tools belum dipasang. Dalam hal ini, Core Tools diinstal saat Anda menjalankan aplikasi pertama kalinya.
    Pilih templat untuk fungsi pertama proyek Anda Lewati untuk sekarang
    Pilih bagaimana Anda ingin membuka proyek Anda Buka di jendela saat ini Buka kembali Visual Studio Code di folder yang Anda pilih.

Visual Studio Code menginstal Azure Functions Core Tools jika diperlukan. Selain itu membuat proyek aplikasi fungsi dalam folder. Proyek ini berisi file konfigurasihost.jsondanlocal.settings.json.

Menambahkan fungsi ke aplikasi

Anda menggunakan templat untuk membuat kode fungsi tahan lama di proyek Anda.

  1. Di palet perintah, cari dan pilih Azure Functions: Create Function....

  2. Ikuti perintahnya dan berikan informasi berikut:

    Prompt Nilai Deskripsi
    Pilih templat untuk fungsi Anda DurableFungsiOrchestration Membuat orkestrasi Fungsi Tahan Lama
    Menyediakan nama fungsi HelloOrchestration Nama kelas tempat fungsi dibuat
    Menyediakan {i>namespace Perusahaan.Fungsi {i>Namespace
  3. Saat Visual Studio Code meminta Anda untuk memilih akun penyimpanan, pilih Pilih akun penyimpanan. Ikuti permintaan dan berikan informasi berikut untuk membuat akun penyimpanan baru di Azure:

    Prompt Nilai Deskripsi
    Pilih langganan nama langganan Anda Pilih langganan Azure Anda
    Pilih akun penyimpanan Buat akun penyimpanan baru
    Masukkan nama akun penyimpanan nama unik Masukkan nama akun penyimpanan yang akan dibuat
    Pilih grup sumber daya nama unik Nama grup sumber daya yang akan dibuat
    Pilih lokasi wilayah Memilih wilayah yang dekat dengan Anda

Kelas yang berisi fungsi baru ditambahkan ke proyek. Visual Studio Code juga menambahkan string koneksi akun penyimpanan ke local.settings.json dan referensi ke paket NuGet Microsoft.Azure.WebJobs.Extensions.DurableTask ke file proyek .csproj.

Buka file HelloOrchestration.csbaru untuk melihat konten. Fungsi tahan lama ini merupakan contoh penautan fungsi sederhana dengan metode berikut:

Metode FunctionName Deskripsi
RunOrchestrator HelloOrchestration Mengelola orkestrasi yang tahan lama. Dalam hal ini, orkestrasi dimulai, membuat daftar, dan menambahkan hasil panggilan tiga fungsi ke daftar. Ketika tiga panggilan fungsi selesai, ini mengembalikan daftar.
SayHello HelloOrchestration_Hello Fungsi ini mengembalikan {i>hello.
HttpStart HelloOrchestration_HttpStart Fungsi yang dipicu HTTPyang memulai instans orkestrasi dan mengembalikan respons status pemeriksaan.

Sekarang setelah membuat proyek fungsi dan fungsi yang tahan lama, Anda dapat mengujinya di komputer lokal Anda.

Uji fungsi secara lokal

Azure Functions Core Tools memungkinkan Anda menjalankan proyek Azure Functions di komputer pengembangan lokal Anda. Anda diminta untuk menginstal alat ini saat pertama kali memulai fungsi dari Visual Studio Code.

  1. Untuk menguji fungsi Anda, atur titik henti dalam kode fungsi aktivitas SayHello dan tekan F5 untuk memulai proyek aplikasi fungsi. Output dari Core Tools ditampilkan di panel Terminal .

    Catatan

    Untuk informasi selengkapnya tentang penelusuran kesalahan, lihat Diagnostik Fungsi Tahan Lama.

  2. Di panelTerminal, salin titik akhir URL dari fungsi yang dipicu HTTP Anda.

    Cuplikan layar jendela keluaran lokal Azure.

  3. Gunakan alat seperti Postman atau cURL, lalu kirim permintaan HTTP POST ke titik akhir URL.

    Respons merupakan hasil awal fungsi HTTP, yang memberi tahu kami bahwa orkestrasi tahan lama telah berhasil dimulai. Proses ini bukan merupakan hasil akhir dari orkestrasi. Respons mencakup beberapa URL yang berguna. Untuk saat ini, mari buat kueri status orkestrasi.

  4. Salin nilai URL untuk statusQueryGetUri, tempelkan di bilah alamat browser, dan jalankan permintaan. Atau, Anda juga dapat terus menggunakan Postman untuk memunculkan permintaan GET.

    Permintaan akan membuat kueri instans orkestrasi untuk status tersebut. Anda harus mendapatkan respons akhir, yang menunjukkan kami bahwa instans telah selesai dan menyertakan output atau hasil fungsi tahan lama. Respons terlihat seperti:

    {
        "name": "HelloOrchestration",
        "instanceId": "9a528a9e926f4b46b7d3deaa134b7e8a",
        "runtimeStatus": "Completed",
        "input": null,
        "customStatus": null,
        "output": [
            "Hello Tokyo!",
            "Hello Seattle!",
            "Hello London!"
        ],
        "createdTime": "2020-03-18T21:54:49Z",
        "lastUpdatedTime": "2020-03-18T21:54:54Z"
    }
    
  5. Untuk menghentikan penelusuran kesalahan, tekan Shift + F5 di Visual Studio Code.

Setelah verifikasi bahwa fungsi berjalan dengan benar di komputer lokal Anda, saatnya untuk menerbitkan proyek ke Azure.

Masuk ke Azure

Sebelum dapat membuat sumber daya Azure atau menerbitkan aplikasi, Anda harus masuk ke Azure.

  1. Jika Anda belum masuk, pilih ikon Azure di bilah Aktivitas. Lalu, di area Sumber Daya, pilih Masuk ke Azure...

    Cuplikan layar masuk ke jendela Azure dalam VS Code.

    Jika sudah masuk dan dapat melihat langganan Anda yang ada, buka bagian berikutnya. Jika Anda belum memiliki akun Azure, pilih Buat Akun Azure.... Siswa dapat memilih Buat Akun Azure for Students....

  2. Saat diminta di browser, pilih akun Azure Anda dan masuk menggunakan kredensial akun Azure Anda. Jika membuat akun baru, Anda dapat masuk setelah akun berhasil dibuat.

  3. Setelah berhasil masuk, Anda dapat menutup jendela browser baru. Langganan dalam akun Azure Anda ditampilkan di bilah sisi.

Membuat aplikasi fungsi di Azure

Di bagian ini, Anda membuat aplikasi fungsi dan sumber daya terkait di langganan Azure Anda.

  1. Pilih ikon Azure di bilah Aktivitas. Lalu, di area Sumber Daya, pilih ikon + dan pilih opsi Buat Aplikasi Fungsi di Azure.

    Membuat sumber daya di langganan Azure Anda

  2. Berikan informasi berikut pada permintaan:

    Prompt Pilihan
    Pilih langganan Pilih langganan yang akan digunakan. Anda tidak akan melihat permintaan ini jika Anda hanya memiliki satu langganan yang terlihat di bawah Sumber Daya.
    Masukkan nama unik global untuk aplikasi fungsi Ketik nama yang valid di jalur URL. Nama yang Anda ketik akan divalidasi untuk memastikan bahwa nama tersebut bersifat unik di Azure Functions.
    Pilih tumpukan runtime Pilih versi bahasa pemrogram yang telah Anda jalankan secara lokal.
    Pilih lokasi untuk sumber daya baru Pilih wilayah yang lebih dekat dengan Anda untuk kinerja yang lebih baik.

    Ekstensi tersebut menampilkan status sumber daya individual saat dibuat di Azure pada panel Azure: Log Aktivitas.

    Log pembuatan sumber daya Azure

  3. Setelah pembuatan selesai, sumber daya Azure berikut dibuat di langganan Anda. Sumber daya dinamai berdasarkan nama aplikasi fungsi Anda:

    • Grup sumber daya, yang merupakan kontainer logis untuk sumber daya terkait.
    • Akun Azure Storage standar, memelihara status dan informasi lain tentang proyek Anda.
    • Aplikasi fungsi, menyediakan lingkungan untuk menjalankan kode fungsi Anda. Aplikasi fungsi memungkinkan Anda mengelompokkan fungsi sebagai unit logis untuk memudahkan pengelolaan, penerapan, dan berbagi sumber daya dalam paket hosting yang sama.
    • Paket App Service, menentukan host yang mendasari aplikasi fungsi Anda.
    • Instans Application Insights tersambung ke aplikasi fungsi, yang melacak penggunaan fungsi Anda di aplikasi.

    Notifikasi ditampilkan setelah aplikasi fungsi Anda dibuat dan paket penyebaran diterapkan.

    Tip

    Secara default, sumber daya Azure yang diperlukan oleh aplikasi fungsi Anda dibuat berdasarkan nama aplikasi fungsi yang Anda berikan. Secara default, sumber daya ini juga dibuat di grup sumber daya baru yang sama dengan aplikasi fungsi. Jika ingin menyesuaikan nama sumber daya ini atau menggunakan kembali sumber daya yang ada, Anda perlu menerbitkan proyek dengan opsi pembuatan lanjutan.

Menyebarkan proyek ke Azure

Penting

Penyebaran ke aplikasi fungsi yang ada selalu menimpa konten aplikasi tersebut di Azure.

  1. Di area Sumber Daya aktivitas Azure, temukan sumber daya aplikasi fungsi yang baru saja Anda buat, klik kanan sumber daya, dan pilih Sebarkan ke aplikasi fungsi....

  2. Saat diminta untuk menimpa penyebaran sebelumnya, pilih Sebarkan untuk menyebarkan kode fungsi Anda ke sumber daya aplikasi fungsi baru.

  3. Setelah penyebaran selesai, pilih Tampilkan Output untuk melihat hasil pembuatan dan penyebaran, termasuk sumber daya Azure yang Anda buat. Jika melewatkan pemberitahuan, pilih ikon bel di sudut kanan bawah untuk melihatnya lagi.

    Cuplikan layar jendela Tampilan Output.

Uji fungsi Anda di Azure

  1. Salin URL pemicu HTTP dari panelOutput. URL yang memanggil fungsi yang dipicu HTTP harus dalam format:

    https://<functionappname>.azurewebsites.net/api/HelloOrchestration_HttpStart

  2. Tempelkan URL baru ini untuk permintaan HTTP ke bilah alamat browser Anda. Anda harus mendapatkan respons status yang sama seperti sebelumnya saat menggunakan aplikasi yang diterbitkan.

Langkah berikutnya

Anda telah menggunakan Visual Studio Code untuk membuat dan menerbitkan aplikasi fungsi C# yang tahan lama.

Dalam artikel ini, Anda mempelajari cara menggunakan Visual Studio 2022 untuk membuat dan menguji fungsi "hello world" yang tahan lama secara lokal. Fungsi ini mengatur dan menyatukan rantai panggilan ke fungsi lain. Kemudian Anda terbitkan kode fungsi ke Azure. Alat ini tersedia sebagai bagian dari beban kerja pengembangan Azure di Visual Studio 2022.

Cuplikan layar jendela Visual Studio 2019 dengan fungsi yang tahan lama.

Prasyarat

Untuk menyelesaikan tutorial ini:

  • Instal Visual Studio 2022. Pastikan bahwa beban kerjapengembangan Azurejuga diinstal. Visual Studio 2019 juga mendukung pengembangan Durable Functions, tetapi antarmuka pengguna dan langkah-langkahnya berbeda.

  • Pastikan Anda telah menginstal dan menjalankan Azurite Emulator.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Buat proyek aplikasi fungsi

Templat Azure Functions membuat proyek yang bisa diterbitkan ke aplikasi fungsi di Azure. Aplikasi fungsi memungkinkan Anda mengelompokkan fungsi sebagai unit logis untuk pengelolaan, penyebaran, penskalaan, dan berbagi sumber daya yang lebih mudah.

  1. Di Visual Studio, pilihProyek>Barudari menu File.

  2. Dalam dialog Buat proyek baru, cari functions, pilih templat Azure Functions, lalu pilih Berikutnya.

    Cuplikan layar dialog proyek baru untuk membuat fungsi di Visual Studio.

  3. Masukkan Nama proyek untuk proyek Anda, dan pilih OK. Nama proyek harus valid sebagai namespace layanan C#, jadi jangan gunakan garis bawah, tanda hubung, atau karakter nonalfanumerik.

  4. Di bawah Informasi tambahan, gunakan pengaturan yang ditentukan dalam tabel yang mengikuti gambar.

    Cuplikan layar membuat dialog Aplikasi Azure Functions baru di Visual Studio.

    Pengaturan Nilai yang disarankan Deskripsi
    Pekerja fungsi .NET 6 Membuat proyek fungsi yang mendukung .NET 6 dan Azure Functions Runtime 4.0. Selengkapnya, lihat Cara menargetkan versi runtime Azure Functions.
    Fungsi Kosong Membuat aplikasi fungsi kosong.
    Akun penyimpanan Emulator Penyimpanan Akun penyimpanan diperlukan untuk manajemen status fungsi yang tahan lama.
  5. PilihBuatuntuk membuat proyek fungsi kosong. Proyek ini memiliki berkas konfigurasi dasar yang diperlukan untuk menjalankan fungsi Anda.

Menambahkan fungsi ke aplikasi

Anda menggunakan templat untuk membuat kode fungsi tahan lama di proyek Anda.

  1. Klik kanan proyek di Visual Studio dan pilihTambahkan>Fungsi Azure Baru.

    Cuplikan layar Menambahkan fungsi baru.

  2. Verifikasi Azure Function dipilih dari menu yang ditambahkan, masukkan nama untuk file C# Anda, lalu pilih Tambahkan.

  3. Pilih templat Orkestrasi Durable Functions, lalu pilih Tambahkan.

    Cuplikan layar Memilih templat yang tahan lama.

Fungsi baru yang tahan lama ditambahkan ke aplikasi. Buka file .cs baru untuk menampilkan konten. Fungsi tahan lama ini merupakan contoh penautan fungsi sederhana dengan metode berikut:

Metode FunctionName Deskripsi
RunOrchestrator <file-name> Mengelola orkestrasi yang tahan lama. Dalam hal ini, orkestrasi dimulai, membuat daftar, dan menambahkan hasil panggilan tiga fungsi ke daftar. Ketika tiga panggilan fungsi selesai, ini mengembalikan daftar.
SayHello <file-name>_Hello Fungsi ini mengembalikan {i>hello.
HttpStart <file-name>_HttpStart Fungsi yang dipicu HTTPyang memulai instans orkestrasi dan mengembalikan respons status pemeriksaan.

Anda dapat mengujinya di komputer lokal sekarang setelah membuat proyek fungsi dan fungsi yang tahan lama.

Uji fungsi secara lokal

Azure Functions Core Tools memungkinkan Anda menjalankan proyek Azure Functions di komputer pengembangan lokal Anda. Anda diminta untuk menginstal alat ini saat pertama kali memulai fungsi dari Visual Studio Code.

  1. Untuk menguji fungsi Anda, tekan F5. Jika diminta, terima permintaan dari Visual Studio untuk mengunduh dan memasang alat Utama Azure Functions (CLI). Anda mungkin perlu mengaktifkan pengecualian {i>firewall

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

    Cuplikan layar runtime bahasa umum lokal Azure.

  3. Tempelkan URL untuk permintaan HTTP ke bilah alamat browser Anda. Berikut ini memperlihatkan respons di browser ke permintaan GET lokal yang dikembalikan oleh fungsi:

    Cuplikan layar jendela browser dengan statusQueryGetUri dipanggil.

    Respons merupakan hasil awal fungsi HTTP, yang memberi tahu kami bahwa orkestrasi tahan lama telah berhasil dimulai. Proses ini bukan merupakan hasil akhir dari orkestrasi. Respons mencakup beberapa URL yang berguna. Untuk saat ini, mari buat kueri status orkestrasi.

  4. Salin nilai URL untuk statusQueryGetUri, tempelkan di bilah alamat browser, dan jalankan permintaan.

    Permintaan akan membuat kueri instans orkestrasi untuk status tersebut. Anda harus mendapatkan respons akhir yang terlihat seperti berikut. Output ini menunjukkan kepada kami instans telah selesai dan menyertakan output atau hasil dari fungsi yang tahan lama.

    {
        "name": "Durable",
        "instanceId": "d495cb0ac10d4e13b22729c37e335190",
        "runtimeStatus": "Completed",
        "input": null,
        "customStatus": null,
        "output": [
            "Hello Tokyo!",
            "Hello Seattle!",
            "Hello London!"
        ],
        "createdTime": "2019-11-02T07:07:40Z",
        "lastUpdatedTime": "2019-11-02T07:07:52Z"
    }
    
  5. Untuk menghentikan penelusuran kesalahan, tekanShift + F5.

Setelah verifikasi bahwa fungsi berjalan dengan benar di komputer lokal Anda, saatnya untuk menerbitkan proyek ke Azure.

Menerbitkan proyek ke Azure

Anda harus memiliki aplikasi fungsi di langganan Azure sebelum menerbitkan proyek. Anda dapat membuat aplikasi fungsi langsung dari Visual Studio.

  1. Di Penjelajah Solusi, klik kanan proyek dan pilih Terbitkan. Di Target, pilih Azure lalu Berikutnya.

    Cuplikan layar jendela terbitkan.

  2. Pilih Aplikasi Azure Function (Windows) untuk Target tertentu, untuk membuat aplikasi fungsi yang berjalan pada Windows, lalu pilih Berikutnya.

    Cuplikan layar jendela terbitkan dengan target spesifik.

  3. Pada Instans Fungsi, pilih Buat Fungsi Azure baru...

    Cuplikan layar buat instans aplikasi fungsi baru.

  4. Buat instans baru menggunakan nilai yang ditentukan dalam tabel berikut:

    Pengaturan Nilai Deskripsi
    Nama Nama unik secara global Nama yang secara unik mengidentifikasi aplikasi fungsi baru Anda. Terima nama ini atau masukkan nama baru. Karakter yang valid adalah: a-z, 0-9, dan -.
    Langganan Langganan Anda Langganan Azure untuk digunakan. Terima langganan ini atau pilih yang baru dari daftar menurun.
    Grup sumber daya Nama grup sumber daya Anda Grup sumber daya untuk membuat aplikasi fungsi Anda. Pilih Baru untuk membuat grup sumber daya baru. Anda juga dapat memilih grup sumber daya yang ada dari daftar drop-down.
    Jenis Paket Consumption Saat Anda menerbitkan proyek Anda ke aplikasi fungsi yang berjalan dalam Paket konsumsi, Anda hanya membayar untuk menjalankan aplikasi fungsi Anda. Paket hosting lain dikenakan biaya yang lebih tinggi.
    Location Lokasi app service Pilih Lokasi di wilayah dekat Anda atau dekat layanan lain yang diakses fungsi Anda.
    Azure Storage Akun penyimpanan serba guna Akun Azure Storage diperlukan oleh runtime Fungsi. Pilih Baru untuk mengonfigurasi akun penyimpanan serba guna. Anda juga dapat memilih akun yang sudah ada yang memenuhi persyaratan akun penyimpanan.
    Application Insights Instans Application Insights Anda harus mengaktifkan integrasi Application Insights untuk aplikasi fungsi Anda. Pilih Baru untuk membuat instans baru, baik di ruang kerja Analitik Log baru atau yang sudah ada. Anda juga dapat memilih instans yang ada.

    Cuplikan layar dialog Buat App Service.

  5. Pilih Buat untuk membuat aplikasi fungsi dan sumber daya terkait di Azure. Status pembuatan sumber daya ditampilkan di kiri bawah jendela.

  6. Dalam Instans Functions, pastikan bahwa Menjalankan dari file paket telah dicentang. Aplikasi fungsi diterapkan menggunakan Zip Deploy dengan mode Run-From-Package diaktifkan. Penyebaran Zip adalah metode penyebaran yang direkomendasikan untuk proyek fungsi Anda karena menghasilkan performa yang lebih baik.

    Cuplikan layar Selesaikan pembuatan profil.

  7. Pilih Selesai, dan pada halaman Terbitan, pilih Terbitkan untuk menyebarkan paket yang berisi file proyek Anda ke aplikasi fungsi baru di Azure.

    Setelah penyebaran selesai, URL akar aplikasi fungsi di Azure diperlihatkan di tab Terbitkan.

  8. Di tab Terbitkan, di bagian Hosting, pilih Buka di portal Azure. Ini membuka sumber daya aplikasi fungsi baru Azure di portal Azure.

    Cuplikan layar Terbitkan pesan berhasil.

Uji fungsi Anda di Azure

  1. Salin URL dasar aplikasi fungsi dari halaman Terbitkan profil. Ganti localhost:port bagian URL yang Anda gunakan saat menguji fungsi secara lokal dengan URL dasar baru.

    URL yang memanggil pemicu HTTP fungsi tahan lama Anda harus dalam format berikut:

    https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>_HttpStart

  2. Tempelkan URL baru ini untuk permintaan HTTP ke bilah alamat browser Anda. Anda harus mendapatkan respons status yang sama seperti sebelumnya saat menggunakan aplikasi yang diterbitkan.

Langkah berikutnya

Anda telah menggunakan Visual Studio Code untuk membuat dan menerbitkan aplikasi fungsi C# yang tahan lama.