Bagikan melalui


Mulai Cepat: Membuat aplikasi TypeScript Durable Functions

Gunakan Durable Functions, fitur Azure Functions, untuk menulis fungsi stateful di lingkungan tanpa server. Anda menginstal Durable Functions dengan menginstal ekstensi Azure Functions di Visual Studio Code. Ekstensi mengelola status, titik pemeriksaan, dan memulai ulang di aplikasi Anda.

Dalam mulai cepat ini, Anda menggunakan ekstensi Durable Functions di Visual Studio Code untuk membuat dan menguji aplikasi Durable Functions "halo dunia" secara lokal di Azure Functions. Aplikasi Durable Functions mengatur dan menyatukan panggilan ke fungsi lain. Kemudian, Anda menerbitkan kode fungsi ke Azure. Alat yang Anda gunakan tersedia melalui ekstensi Visual Studio Code.

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.

Cuplikan layar jendela Edge. Jendela menunjukkan output pemanggilan aplikasi Durable Functions sederhana di Azure.

Prasyarat

Untuk menyelesaikan mulai cepat ini, Anda memerlukan:

  • Alat uji HTTP yang menjaga keamanan data Anda. Untuk informasi selengkapnya, lihat Alat pengujian HTTP.

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

  • Node.js versi 16.x+ terinstal.
  • Node.js versi 18.x+ terinstal.

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, pilih F1 (atau pilih Ctrl/Cmd+Shift+P) untuk membuka palet perintah. Pada perintah (>), masukkan lalu pilih Azure Functions: Buat Proyek Baru.

    Cuplikan layar yang memperlihatkan palet perintah Visual Studio Code, dengan Azure Functions Buat Proyek Baru disorot.

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

  1. Pada perintah, berikan informasi berikut:

    Prompt Tindakan Deskripsi
    Pilih bahasa untuk proyek aplikasi fungsi Anda Pilih TypeScript. Membuat proyek Node.js Functions lokal dengan menggunakan TypeScript.
    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 di folder yang Anda pilih.
  1. Pada perintah, berikan informasi berikut:

    Prompt Tindakan Deskripsi
    Pilih bahasa untuk proyek aplikasi fungsi Anda Pilih TypeScript. Membuat proyek Node.js Functions lokal dengan menggunakan TypeScript.
    Pilih model pemrograman JavaScript Pilih Model V4. Mengatur 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 di folder yang Anda pilih.

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

File package.json dan file tsconfig.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 perlu menginstal versi pratinjau v3.x dari pustaka durable-functions.

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

Membuat 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 klien: Fungsi reguler di Azure yang memulai fungsi orkestrator. Contoh ini menggunakan fungsi yang dipicu HTTP.

Fungsi orkestrator

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

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

  2. Pada perintah, berikan informasi berikut:

    Prompt Tindakan Deskripsi
    Pilih templat untuk fungsi Anda Pilih orkestrator Durable Functions. Membuat orkestrasi Durable Functions.
    Pilih jenis penyimpanan yang tahan lama Pilih Azure Storage (Default). Mengatur back end penyimpanan yang akan digunakan untuk aplikasi Durable Functions Anda.
    Berikan nama fungsi Masukkan HelloOrchestrator. Nama fungsi Anda.

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

Selanjutnya, Anda menambahkan fungsi aktivitas yang dirujuk Hello .

Fungsi aktivitas

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

  2. Pada perintah, berikan informasi berikut:

    Prompt Tindakan Deskripsi
    Pilih templat untuk fungsi Anda Pilih aktivitas Durable Functions. Membuat fungsi aktivitas.
    Berikan nama fungsi Masukkan Halo. Nama untuk fungsi aktivitas Anda.

Anda menambahkan Hello fungsi aktivitas yang dipanggil oleh orkestrator. Buka Halo/index.ts untuk melihat bahwa nama diambil 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 menambahkan fungsi yang dipicu HTTP yang memulai orkestrasi.

Fungsi klien (starter HTTP)

  1. Di palet perintah, masukkan lalu pilih Azure Functions: Create Function.

  2. Pada perintah, berikan informasi berikut:

    Prompt Tindakan Deskripsi
    Pilih templat untuk fungsi Anda Pilih starter HTTP Durable Functions. Membuat fungsi starter HTTP.
    Berikan nama fungsi Pilih 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.ts untuk melihat bahwa ia menggunakan client.startNew untuk memulai orkestrasi baru. Kemudian menggunakanclient.createCheckStatusResponseuntuk mengembalikan respons HTTP yang berisi URL yang dapat digunakan 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:

    Prompt Tindakan Deskripsi
    Pilih templat untuk fungsi Anda Pilih orkestrator Durable Functions. Membuat file yang memiliki orkestrasi aplikasi Durable Functions, fungsi aktivitas, dan fungsi pemula klien yang tahan lama.
    Pilih jenis penyimpanan yang tahan lama Pilih Azure Storage (Default). Mengatur back end penyimpanan yang akan digunakan untuk Durable Function Anda.
    Berikan nama fungsi Masukkan Halo. Nama untuk fungsi tahan lama Anda.

Buka src/functions/hello.ts 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 hello fungsi aktivitas yang dipanggil oleh orkestrator. Dalam file yang sama, Anda dapat melihat bahwa file mengambil 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 menambahkan fungsi yang dipicu HTTP yang memulai orkestrasi. Dalam file yang sama, Anda dapat melihat bahwa itu digunakan client.startNew untuk memulai orkestrasi baru. Kemudian menggunakanclient.createCheckStatusResponseuntuk mengembalikan respons HTTP yang berisi URL yang dapat digunakan 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.

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

    Catatan

    Untuk informasi selengkapnya tentang penelusuran kesalahan, lihat Diagnostik Durable Functions.

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

    Catatan

    Untuk informasi selengkapnya tentang penelusuran kesalahan, lihat Diagnostik Durable Functions.

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

    Cuplikan layar jendela pemberitahuan Visual Studio Code. Pilih akun penyimpanan disorot.

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

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

    Cuplikan layar yang memperlihatkan panel terminal Visual Studio Code. URL fungsi starter HTTP disorot.

  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, kueri 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, kueri status orkestrasi.

  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 meminta instans orkestrasi untuk status tersebut. Anda akan melihat bahwa instans selesai dan mencakup output atau hasil fungsi tahan lama. Ini terlihat mirip dengan contoh ini:

    {
        "name": "HelloOrchestrator",
        "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"
    }
    
  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 meminta instans orkestrasi untuk status tersebut. Anda akan melihat bahwa instans selesai dan menyertakan output atau hasil aplikasi Durable Functions. Ini terlihat mirip dengan contoh ini:

    {
        "name": "helloOrchestrator",
        "instanceId": "6ba3f77933b1461ea1a3828c013c9d56",
        "runtimeStatus": "Completed",
        "input": "",
        "customStatus": null,
        "output": [
            "Hello, Tokyo",
            "Hello, Seattle",
            "Hello, Cairo"
        ],
        "createdTime": "2023-02-13T23:02:21Z",
        "lastUpdatedTime": "2023-02-13T23:02:25Z"
    }
    
  1. Untuk menghentikan penelusuran kesalahan, di Visual Studio Code, pilih Shift+F5.

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 Akun Azure for Students.

  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 dan 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:

    Prompt Perbuatan
    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 unik global untuk aplikasi fungsi Masukkan nama yang valid di jalur URL. Nama yang Anda masukkan divalidasi untuk memastikan bahwa nama tersebut unik di Azure Functions.
    Pilih tumpukan runtime Pilih versi bahasa yang saat ini Anda jalankan secara lokal.
    Pilih lokasi untuk sumber daya baru Pilih wilayah Azure. Untuk performa yang lebih baik, pilih wilayah di dekat Anda.

    Di panel Azure: Log Aktivitas, ekstensi Azure memperlihatkan status sumber daya individual saat dibuat di 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.
    • 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 Azure App Service, yang menentukan host yang mendasar untuk aplikasi fungsi Anda.
    • Instans Application Insights yang terhubung ke aplikasi fungsi, dan 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 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

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

  1. Di palet perintah, masukkan lalu pilih Azure Functions: Sebarkan ke Aplikasi Fungsi.

  2. Pilih aplikasi fungsi yang baru saja Anda buat. Saat diminta untuk menimpa 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

Catatan

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

  1. Salin URL pemicu HTTP dari panel output. URL yang memanggil fungsi yang dipicu HTTP Anda harus dalam format ini:

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

  1. Salin URL pemicu HTTP dari panel output. 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 TypeScript Durable Functions yang Anda buat dan terbitkan dengan menggunakan Visual Studio Code siap digunakan.

Membersihkan sumber daya

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