Mulai cepat: Membuat aplikasi Durable Functions JavaScript

Gunakan Durable Functions, fitur Azure Functions, untuk menulis fungsi stateful di lingkungan tanpa server. Dalam panduan awal ini, Anda menggunakan Visual Studio Code untuk membuat, menguji secara lokal, dan menerbitkan aplikasi Durable Functions "Hello World" yang mengorkestrasi dan merantai panggilan ke fungsi lain.

Dalam artikel ini:

Penting

Konten artikel ini berubah berdasarkan pilihan model pemrograman Node.js Anda di pemilih di bagian atas halaman. Model v4 umumnya tersedia dan dirancang untuk memiliki pengalaman yang lebih fleksibel dan intuitif untuk pengembang JavaScript dan TypeScript. Pelajari selengkapnya tentang perbedaan antara v3 dan v4 dalam panduan migrasi.

Screenshot yang menampilkan aplikasi Durable Functions di Visual Studio Code.

Prasyarat

Untuk menyelesaikan panduan memulai cepat ini, Anda memerlukan:

  • Ekstensi Visual Studio Code Azure Functions versi 1.10.4 atau yang lebih baru terinstal.
  • Alat uji HTTP yang menjaga keamanan data Anda. Untuk informasi selengkapnya, lihat Alat pengujian HTTP.

  • Sebuah langganan Azure. Untuk menggunakan Durable Functions, Anda harus memiliki akun Azure Storage.

  • Node.js versi 18.x+ terinstal.

Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.

Membuat proyek lokal Anda

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

  1. Di Visual Studio Code, pilih F1 (atau pilih Ctrl/Cmd+Shift+P) untuk membuka palet perintah. Pada perintah (>), masukkan lalu pilih Azure Functions: Buat Proyek Baru.

    Screenshot yang memperlihatkan palet perintah Visual Studio Code dengan perintah Azure Functions Buat Proyek Baru disorot.

  2. Pilih Telusuri. Dalam dialog Pilih Folder, buka folder yang akan digunakan untuk proyek Anda, lalu pilih Pilih.

  1. Pada perintah, berikan informasi berikut:

    Petunjuk Action Deskripsi
    Pilih bahasa untuk proyek aplikasi fungsi Anda Pilih JavaScript. Membuat proyek Node.js Functions lokal.
    Pilih model pemrograman JavaScript Pilih Model V3. Mengatur model pemrograman v3.
    Pilih versi Pilih Azure Functions v4. Anda hanya melihat opsi ini saat Core Tools belum diinstal. Dalam hal ini, Core Tools diinstal saat pertama kali Anda menjalankan aplikasi.
    Pilih templat untuk fungsi pertama proyek Anda Pilih Lewati untuk saat ini.
    Pilih bagaimana Anda ingin membuka proyek Anda Pilih Buka di jendela saat ini. Membuka Visual Studio Code dalam folder yang Anda pilih.
  1. Pada perintah, berikan informasi berikut:

    Petunjuk Action Deskripsi
    Pilih bahasa untuk proyek aplikasi fungsi Anda Pilih JavaScript. Membuat proyek Node.js Functions lokal.
    Pilih model pemrograman JavaScript Pilih Model V4. Pilih model pemrograman v4.
    Pilih versi Pilih Azure Functions v4. Anda hanya melihat opsi ini saat Core Tools belum diinstal. Dalam hal ini, Core Tools diinstal saat pertama kali Anda menjalankan aplikasi.
    Pilih templat untuk fungsi pertama proyek Anda Pilih Lewati untuk saat ini.
    Pilih bagaimana Anda ingin membuka proyek Anda Pilih Buka di jendela saat ini. Membuka Visual Studio Code dalam folder yang Anda pilih.

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

File package.json juga dibuat di folder akar.

Menginstal paket npm Durable Functions

Untuk bekerja dengan Durable Functions di aplikasi fungsi Node.js, Anda menggunakan pustaka yang disebut durable-functions.

Untuk menggunakan model pemrograman v4, Anda menginstal versi v3.x dari pustaka durable-functions.

Untuk menggunakan model pemrograman v3, instal pustaka durable-functions v2.x.

  1. Gunakan menu View atau pilih Ctrl+Shift+' untuk membuka terminal baru di Visual Studio Code.
  1. Instal paket npm durable-functions dengan menjalankan npm install durable-functions@^2 di direktori akar aplikasi fungsi.
  1. Instal paket npm durable-functions dengan menjalankan npm install durable-functions di direktori akar aplikasi fungsi.

Buat fungsi Anda

Aplikasi Durable Functions paling dasar memiliki tiga fungsi:

  • Fungsi orkestrator: Alur kerja yang mengatur fungsi lain.
  • Fungsi aktivitas: Fungsi yang dipanggil oleh fungsi orkestrator, melakukan pekerjaan, dan secara opsional mengembalikan nilai.
  • fungsi Client: Fungsi reguler dalam Azure yang memulai fungsi orkestrator. Contoh ini menggunakan fungsi yang dipicu HTTP.

Penting

Model pemrograman v3 dalam mode pemeliharaan. Untuk proyek baru, gunakan model pemrograman v4 (pilih pivot di bagian atas halaman ini). Lihat Meningkatkan ke model v4 untuk panduan migrasi.

Fungsi orkestrator

Anda menggunakan templat untuk membuat kode aplikasi Durable Functions di proyek Anda.

  1. Di palet perintah, masukkan lalu pilih Azure Functions: Buat Fungsi.

  2. Pada perintah, berikan informasi berikut:

    Petunjuk Action Deskripsi
    Pilih templat untuk fungsi Anda Pilih Durable Functions Orchestrator. Membuat orkestrasi aplikasi Durable Functions.
    Pilih jenis penyimpanan yang tahan lama Pilih Azure Storage (Default). Memilih backend penyimpan yang digunakan untuk aplikasi Durable Functions Anda.
    Berikan nama fungsi Masukkan HelloOrchestrator. Nama untuk fungsi tahan lama Anda.

Petunjuk / Saran

Panduan Memulai Cepat ini menggunakan Azure Storage sebagai penyimpanan backend. Untuk beban kerja produksi, Durable Task Scheduler adalah penyedia penyimpanan yang direkomendasikan. Lihat Mengonfigurasi aplikasi Anda untuk menggunakan Durable Task Scheduler.

Anda menambahkan orkestrator untuk mengoordinasikan fungsi aktivitas. Buka HelloOrchestrator/index.js untuk melihat fungsi orkestrator. Setiap panggilan kecontext.df.callActivityakan memanggil fungsi aktivitas bernama Hello.

Selanjutnya, tambahkan fungsi aktivitas yang dirujuk Hello .

Fungsi aktivitas

  1. Di palet perintah, masukkan lalu pilih Azure Functions: Buat Fungsi.

  2. Pada perintah, berikan informasi berikut:

    Petunjuk Action Deskripsi
    Pilih templat untuk fungsi Anda Pilih aktivitas Durable Functions. Membuat fungsi aktivitas.
    Berikan nama fungsi Masukkan Halo. Nama untuk fungsi tahan lama Anda.

Anda menambahkan fungsi aktivitas Hello yang dipanggil oleh orkestrator. Buka Hello/index.js untuk melihat bahwa ini menerima nama sebagai input dan mengembalikan sapaan. Fungsi aktivitas adalah tempat Anda melakukan "pekerjaan nyata" dalam alur kerja Anda, seperti melakukan panggilan database atau melakukan beberapa komputasi nondeterministik.

Terakhir, tambahkan fungsi yang dipicu HTTP yang memulai orkestrasi.

Fungsi klien (starter HTTP)

  1. Di palet perintah, masukkan lalu pilih Azure Functions: Buat Fungsi.

  2. Pada perintah, berikan informasi berikut:

    Petunjuk Action Deskripsi
    Pilih templat untuk fungsi Anda Pilih Durable Functions http starter. Membuat fungsi starter HTTP.
    Berikan nama fungsi Masukkan DurableFunctionsHttpStart. Nama fungsi aktivitas Anda.
    Tingkat otorisasi Pilih Anonim. Untuk tujuan demo, nilai ini memungkinkan fungsi dipanggil tanpa menggunakan autentikasi

Anda menambahkan fungsi yang dipicu HTTP yang memulai orkestrasi. Buka DurableFunctionsHttpStart/index.js untuk melihat bahwa ia menggunakan client.startNew untuk memulai orkestrasi baru. Kemudian menggunakan client.createCheckStatusResponse untuk mengembalikan respons HTTP yang berisi URL yang dapat Anda gunakan untuk memantau dan mengelola orkestrasi baru.

Anda sekarang memiliki aplikasi Durable Functions yang dapat Anda jalankan secara lokal dan menyebarkan ke Azure.

Salah satu manfaat model pemrograman v4 adalah fleksibilitas tempat Anda menulis fungsi Anda. Dalam model v4, Anda dapat menggunakan satu templat untuk membuat ketiga fungsi dalam satu file dalam proyek Anda.

  1. Di palet perintah, masukkan lalu pilih Azure Functions: Buat Fungsi.

  2. Pada perintah, berikan informasi berikut:

    Petunjuk Action Deskripsi
    Pilih templat untuk fungsi Anda Pilih Durable Functions Orchestrator. Membuat file yang memiliki orkestrasi aplikasi Durable Functions, fungsi aktivitas, dan fungsi starter klien yang tahan lama.
    Pilih jenis penyimpanan yang tahan lama Pilih Azure Storage (Default). Mengatur backend penyimpanan yang digunakan untuk aplikasi Durable Functions Anda.
    Berikan nama fungsi Masukkan halo. Nama fungsi tahan lama Anda.

Petunjuk / Saran

Panduan cepat ini menggunakan Azure Storage sebagai backend penyimpanan. Untuk beban kerja produksi, Durable Task Scheduler adalah penyedia penyimpanan yang direkomendasikan. Lihat Mengonfigurasi aplikasi Anda untuk menggunakan Durable Task Scheduler.

Buka src/functions/hello.js untuk melihat fungsi yang Anda buat.

Anda membuat orkestrator yang dipanggil helloOrchestrator untuk mengoordinasikan fungsi aktivitas. Setiap panggilan untuk context.df.callActivity memanggil fungsi aktivitas yang disebut hello.

Anda juga menambahkan fungsi aktivitas hello yang dipanggil oleh orkestrator. Dalam file yang sama, Anda dapat melihat bahwa ia menerima nama sebagai input dan mengembalikan salam. Fungsi aktivitas adalah tempat Anda melakukan "pekerjaan nyata" dalam alur kerja Anda, seperti melakukan panggilan database atau melakukan beberapa komputasi nondeterministik.

Terakhir, Anda juga menambahkan fungsi yang dipicu HTTP yang memulai orkestrasi. Dalam file yang sama, Anda dapat melihat bahwa client.startNew digunakan untuk memulai orkestrasi baru. Kemudian menggunakan client.createCheckStatusResponse untuk mengembalikan respons HTTP yang berisi URL yang dapat Anda gunakan untuk memantau dan mengelola orkestrasi baru.

Anda sekarang memiliki aplikasi Durable Functions yang dapat Anda jalankan secara lokal dan menyebarkan ke Azure.

Uji fungsi secara lokal

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

Nota

Pengujian secara lokal memerlukan akun Azure Storage (atau emulator Azurite). Langkah 2–3 memandu Anda dalam membuatnya jika Anda belum memilikinya.

  1. Untuk menguji fungsi Anda, atur titik henti dalam Hello kode fungsi aktivitas (di Halo/index.js). Pilih F5 atau pilih Debug: Mulai Debugging di palet perintah untuk memulai proyek aplikasi fungsi. Keluaran dari Core Tools terlihat di panel terminal.

    Nota

    Untuk informasi selengkapnya tentang debugging, lihat diagnostik Durable Functions.

  1. Untuk menguji fungsi Anda, atur titik henti dalam hello kode fungsi aktivitas (dalam src/functions/hello.js). Pilih F5 atau pilih Debug: Mulai Debugging di palet perintah untuk memulai proyek aplikasi fungsi. Keluaran dari Core Tools terlihat di panel terminal.

    Nota

    Untuk informasi selengkapnya tentang debugging, lihat diagnostik Durable Functions.

  1. Durable Functions memerlukan akun Azure Storage untuk dijalankan. Saat Visual Studio Code meminta Anda untuk memilih akun penyimpanan, pilih Pilih akun penyimpanan.

    Tangkapan layar jendela peringatan Visual Studio Code. Akun penyimpanan yang dipilih disorot.

  2. Pada perintah, berikan informasi berikut untuk membuat akun penyimpanan baru di Azure:

    Petunjuk Nilai Deskripsi
    Pilih langganan nama langganan Anda Pilih langganan Azure Anda
    Pilih akun penyimpanan Buat akun penyimpanan baru
    Masukkan nama akun penyimpanan baru nama unik Masukkan nama akun penyimpanan yang akan dibuat
    Pilih grup sumber daya nama unik Nama grup sumber daya yang akan dibuat
    Pilih lokasi daerah Memilih wilayah yang dekat dengan Anda
  3. Di panel terminal, salin titik akhir URL fungsi yang dipicu HTTP Anda.

    Screenshot panel terminal pada Visual Studio Code. Terminal menunjukkan output dari menjalankan aplikasi Durable Functions di lingkungan lokal.

  1. Gunakan browser Anda atau alat uji HTTP untuk mengirim permintaan HTTP POST ke titik akhir URL.

    Ganti segmen terakhir dengan nama fungsi orkestrator (HelloOrchestrator). URL-nya harus sama dengan http://localhost:7071/api/orchestrators/HelloOrchestrator.

    Responsnya adalah hasil awal fungsi HTTP. Ini memungkinkan Anda tahu bahwa orkestrasi tahan lama berhasil dimulai. Ini belum menampilkan hasil akhir orkestrasi. Respons mencakup beberapa URL yang berguna. Untuk saat ini, periksa status orkestrasi.

  1. Gunakan browser Anda atau alat uji HTTP untuk mengirim permintaan HTTP POST ke titik akhir URL.

    Ganti segmen terakhir dengan nama fungsi orkestrator (helloOrchestrator). URL-nya harus sama dengan http://localhost:7071/api/orchestrators/helloOrchestrator.

    Responsnya adalah hasil awal fungsi HTTP. Ini memungkinkan Anda tahu bahwa orkestrasi tahan lama berhasil dimulai. Ini belum menampilkan hasil akhir orkestrasi. Respons mencakup beberapa URL yang berguna. Untuk saat ini, periksa status orkestrasi.

  1. Salin nilai URL untuk statusQueryGetUri, tempelkan di bilah alamat browser Anda, dan jalankan permintaan. Atau, Anda juga dapat terus menggunakan alat uji HTTP Anda untuk mengeluarkan permintaan GET.

    Permintaan mengakses instance orkestrasi untuk status. Anda akan melihat bahwa instans selesai dan menyertakan output atau hasil aplikasi Durable Functions, seperti dalam contoh ini:

    {
        "name": "HelloOrchestrator",
        "instanceId": "9a528a9e926f4b46b7d3deaa134b7e8a",
        "runtimeStatus": "Completed",
        "input": null,
        "customStatus": null,
        "output": [
            "Hello Tokyo!",
            "Hello Seattle!",
            "Hello London!"
        ],
        "createdTime": "2026-04-23T14:22:49Z",
        "lastUpdatedTime": "2026-04-23T14:22:54Z"
    }
    
  1. Salin nilai URL untuk statusQueryGetUri, tempelkan di bilah alamat browser Anda, dan jalankan permintaan. Anda juga dapat terus menggunakan alat uji HTTP Anda untuk mengeluarkan permintaan GET.

    Permintaan mengakses instance orkestrasi untuk status. Anda akan melihat bahwa instans selesai dan menyertakan output atau hasil aplikasi Durable Functions, seperti dalam contoh ini:

    {
        "name": "helloOrchestrator",
        "instanceId": "6ba3f77933b1461ea1a3828c013c9d56",
        "runtimeStatus": "Completed",
        "input": "",
        "customStatus": null,
        "output": [
            "Hello, Tokyo",
            "Hello, Seattle",
            "Hello, Cairo"
        ],
        "createdTime": "2026-04-23T14:32:21Z",
        "lastUpdatedTime": "2026-04-23T14:32:25Z"
    }
    
  1. Di Visual Studio Code, pilih Shift+F5 untuk menghentikan debugging.

Setelah Anda memverifikasi 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, di bilah Aktivitas, pilih ikon Azure. Lalu di bawah Sumber Daya, pilih Masuk ke Azure.

    Cuplikan layar jendela masuk ke Azure di Visual Studio 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 Azure untuk Akun Siswa.

  2. Saat Diminta di browser, pilih akun Azure Anda dan masuk dengan 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 milik akun Azure Anda ditampilkan di bilah samping.

Membuat aplikasi fungsi di Azure

Di bagian ini, Anda membuat aplikasi fungsi dalam paket Konsumsi Flex bersama dengan sumber daya terkait di langganan Azure Anda. Banyak keputusan pembuatan sumber daya dibuat untuk Anda berdasarkan perilaku default. Untuk kontrol lebih lanjut atas sumber daya yang dibuat, Anda harus membuat aplikasi fungsi dengan opsi tingkat lanjut.

  1. Di Visual Studio Code, pilih F1 untuk membuka palet perintah. Pada perintah (>), masukkan lalu pilih Azure Functions: Buat Aplikasi Fungsi di Azure.

  2. Pada perintah, berikan informasi berikut:

    Petunjuk Action
    Pilih langganan Pilih langganan Azure yang akan digunakan. Perintah tidak muncul saat Anda hanya memiliki satu langganan yang terlihat di bawah Sumber Daya.
    Masukkan nama aplikasi fungsi baru Masukkan nama unik global yang valid di jalur URL. Nama yang Anda masukkan divalidasi untuk memastikan bahwa nama tersebut unik di Azure Functions.
    Pilih lokasi untuk sumber daya baru Pilih wilayah Azure. Untuk performa yang lebih baik, pilih wilayah di dekat Anda. Hanya wilayah yang didukung oleh paket Konsumsi Flex yang ditampilkan.
    Pilih tumpukan eksekusi Pilih versi bahasa yang saat ini Anda jalankan secara lokal.
    Pilih jenis autentikasi sumber daya Pilih Identitas terkelola, yang merupakan opsi paling aman untuk menyambungkan ke akun penyimpanan host default.

    Di panel Azure: Log Aktivitas, ekstensi Azure menunjukkan status sumber daya individual saat dibuat dalam Azure.

    Cuplikan layar yang memperlihatkan log pembuatan sumber daya Azure.

  3. Saat aplikasi fungsi dibuat, sumber daya terkait berikut dibuat di langganan Azure Anda. Sumber daya dinamai berdasarkan nama yang Anda masukkan untuk aplikasi fungsi Anda.

    • Grup sumber daya, yang merupakan kontainer logis untuk sumber daya terkait.
    • 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.
    • Rencana Layanan Aplikasi Azure, yang menentukan host dasar untuk aplikasi fungsi Anda.
    • Akun Azure Storage standar, yang digunakan oleh host Functions untuk mempertahankan status dan informasi lain tentang aplikasi fungsi Anda.
    • Instans Application Insights yang terhubung dengan app fungsi, melacak penggunaan fungsi Anda di dalam app tersebut.
    • Identitas terkelola yang ditetapkan oleh pengguna yang ditambahkan ke peran Kontributor Data Blob Penyimpanan di akun penyimpanan host default yang baru.

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

    Petunjuk / Saran

    Secara default, sumber daya Azure yang diperlukan oleh aplikasi fungsi Anda dibuat berdasarkan nama yang Anda masukkan untuk aplikasi fungsi Anda. Secara default, sumber daya dibuat dengan aplikasi fungsi dalam grup sumber daya baru yang sama. Jika Anda ingin menyesuaikan nama sumber daya terkait atau menggunakan kembali sumber daya yang ada, terbitkan proyek dengan opsi buat tingkat lanjut.

Menyebarkan proyek ke Azure

Penting

Menyebarkan ke aplikasi fungsi yang sudah ada selalu menggantikan konten aplikasi tersebut di Azure.

  1. Di palet perintah, masukkan lalu pilih Azure Functions: Sebarkan ke Function App.

  2. Pilih aplikasi fungsi yang baru saja Anda buat. Saat diminta untuk mengganti penyebaran sebelumnya, pilih Sebarkan untuk menyebarkan kode fungsi Anda ke sumber daya aplikasi fungsi baru.

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

    Cuplikan layar jendela tampilan output.

Uji fungsi Anda di Azure

Nota

Untuk menggunakan model pemrograman Node.js v4, pastikan aplikasi Anda berjalan setidaknya pada versi 4.25 dari runtime Azure Functions.

  1. Pada panel output, salin URL pemicu HTTP. URL yang memanggil fungsi yang dipicu HTTP Anda harus dalam format ini:

    https://<functionappname>.azurewebsites.net/api/orchestrators/HelloOrchestrator

  1. Pada panel output, salin URL pemicu HTTP. URL yang memanggil fungsi yang dipicu HTTP Anda harus dalam format ini:

    https://<functionappname>.azurewebsites.net/api/orchestrators/helloOrchestrator

  1. Tempelkan URL baru untuk permintaan HTTP di bilah alamat browser Anda. Saat menggunakan aplikasi yang diterbitkan, Anda dapat mengharapkan untuk mendapatkan respons status yang sama dengan yang Anda dapatkan saat diuji secara lokal.

Aplikasi JavaScript Durable Functions yang Anda buat dan terbitkan di Visual Studio Code siap digunakan.

Membersihkan sumber daya

Jika Anda tidak lagi memerlukan sumber daya yang Anda buat untuk penyelesaian cepat, untuk menghindari biaya terkait dalam langganan Azure Anda, hapus grup sumber daya dan semua sumber daya terkait.