Membuat fungsi tahan lama pertama Anda di JavaScript
Fungsi Tahan Lama merupakan ekstensi dari Azure Functions yang memungkinkan Anda menulis fungsi stateful di lingkungan komputasi tanpa server. Ekstensi ini mengelola status, titik pemeriksaan, dan menghidupkan ulang untuk Anda.
Dalam artikel ini, Anda mempelajari cara menggunakan ekstensi Visual Studio Code Azure Functions untuk membuat dan menguji fungsi tahan lama "halo dunia" secara lokal. Fungsi ini akan mengatur dan menyatukan panggilan ke fungsi lain. Kemudian Anda terbitkan kode fungsi ke Azure.
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.
Prasyarat
Untuk menyelesaikan tutorial ini:
- Instal Visual Studio Code.
- Menginstal ekstensi VS Code Azure Functions
- Instal versi ekstensi Azure Functions VS Code atau lebih
1.10.4
tinggi.
- Pastikan Anda memiliki versi terbaru dari Azure Functions Core Tools.
- Pastikan Anda memiliki versi
v4.0.5382
Azure Functions Core Tools atau yang lebih baru.
- Durable Functions memerlukan akun penyimpanan Azure. Anda memerlukan langganan Azure.
- Pastikan Anda telah menginstal Node.js versi 16.x+.
- Pastikan Anda telah menginstal Node.js versi 18.x+.
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.
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...
.Pilih lokasi folder kosong untuk proyek Anda dan pilihPilih.
Ikuti wantian, berikan informasi berikut:
Prompt Nilai Deskripsi Pilih bahasa untuk proyek aplikasi fungsi Anda JavaScript Buat proyek Node.js Functions lokal. Pilih model pemrograman JavaScript Model V3 Pilih model pemrograman V3. 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.
Ikuti wantian, berikan informasi berikut:
Prompt Nilai Deskripsi Pilih bahasa untuk proyek aplikasi fungsi Anda JavaScript Buat proyek Node.js Functions lokal. Pilih model pemrograman JavaScript Model V4 Pilih model pemrograman V4. 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.
Jika diperlukan, Visual Studio Code memasang Azure Functions Core Tools. Selain itu membuat proyek aplikasi fungsi dalam 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 bernama durable-functions
.
Untuk menggunakan model pemrograman V4, Anda perlu menginstal versi pratinjau v3.x
.durable-functions
- Gunakan menu Tampilan atau Ctrl + Shift + ' untuk membuka terminal baru di Visual Studio Code.
- Instal paket npm
durable-functions
dengan menjalankannpm install durable-functions
di direktori akar aplikasi fungsi.
durable-functions
Instal versi pratinjau paket npm dengan menjalankannpm install durable-functions@preview
di direktori akar aplikasi fungsi.
Membuat fungsi Anda
Aplikasi Fungsi Tahan Lama paling dasar berisi tiga fungsi:
- Fungsi orkestrator - menjelaskan alur kerja yang mengatur fungsi lain.
- Fungsi aktivitas - dipanggil oleh fungsi orkestrator, melakukan pekerjaan, dan mengembalikan nilai secara opsional.
- Fungsi klien - Azure Function reguler yang memulai fungsi orkestrator. Contoh ini menggunakan fungsi yang dipicu HTTP.
Fungsi orkestrator
Gunakan templat untuk membuat kode fungsi tahan lama di proyek Anda.
Di palet perintah, cari dan pilih
Azure Functions: Create Function...
.Ikuti wantian, berikan informasi berikut:
Prompt Nilai Deskripsi Pilih templat untuk fungsi Anda Orkestrator Durable Functions Membuat orkestrasi Fungsi Tahan Lama Pilih jenis penyimpanan yang tahan lama. Azure Storage (Default) Pilih backend penyimpanan yang digunakan untuk Durable Functions. Menyediakan nama fungsi HelloOrchestrator Nama fungsi tahan lama Anda
Anda telah menambahkan orkestrator untuk mengoordinasikan fungsi aktivitas. Buka HelloOrchestrator/index.js untuk melihat fungsi orkestrator. Setiap panggilan kecontext.df.callActivity
akan memanggil fungsi aktivitas bernama Hello
.
Selanjutnya, tambahkan fungsi aktivitas Hello
yang direferensikan.
Fungsi aktivitas
Di palet perintah, cari dan pilih
Azure Functions: Create Function...
.Ikuti wantian, berikan informasi berikut:
Prompt Nilai Deskripsi Pilih templat untuk fungsi Anda Aktivitas Durable Functions Membuat fungsi aktivitas Menyediakan nama fungsi Halo Nama fungsi aktivitas Anda
Tambahkan fungsi aktivitas Hello
yang dipanggil oleh orkestrator. Buka Hello/ index.js untuk melihat bahwa itu mengambil nama sebagai input dan mengembalikan salam. Fungsi aktivitas adalah tempat Anda melakukan "pekerjaan nyata" dalam alur kerja Anda: bekerja seperti melakukan panggilan database atau melakukan beberapa komputasi non-deterministik.
Terakhir, Anda akan menambahkan fungsi terpicu HTTP yang memulai orkestrasi.
Fungsi klien (starter HTTP)
Di palet perintah, cari dan pilih
Azure Functions: Create Function...
.Ikuti wantian, berikan informasi berikut:
Prompt Nilai Deskripsi Pilih templat untuk fungsi Anda Starter HTTP Durable Functions Membuat fungsi starter HTTP Menyediakan nama fungsi DurableFunctionsHttpStart Nama fungsi aktivitas Anda Tingkat otorisasi Anonim Untuk tujuan demo, izinkan fungsi dipanggil tanpa autentikasi
Anda telah menambahkan fungsi terpicu HTTP yang memulai orkestrasi. Buka DurableFunctionsHttpStart/index.js untuk melihat bahwa ia menggunakan client.startNew
untuk memulai orkestrasi baru. Kemudian menggunakanclient.createCheckStatusResponse
untuk mengembalikan respons HTTP yang berisi URL yang dapat digunakan untuk memantau dan mengelola orkestrasi baru.
Kini Anda memiliki aplikasi Durable Functions yang dapat dijalankan secara lokal dan disebarkan ke Azure.
Salah satu manfaat Model Pemrograman V4 adalah fleksibilitas di mana Anda menulis fungsi Anda. Dalam Model V4, Anda dapat menggunakan satu templat untuk membuat ketiga fungsi dalam satu file dalam proyek Anda.
Di palet perintah, cari dan pilih
Azure Functions: Create Function...
.Ikuti wantian, berikan informasi berikut:
Prompt Nilai Deskripsi Pilih templat untuk fungsi Anda Orkestrator Durable Functions Buat file dengan orkestrasi Durable Functions, fungsi Aktivitas, dan fungsi pemula Klien Tahan Lama. Pilih jenis penyimpanan yang tahan lama Azure Storage (Default) Pilih backend penyimpanan yang digunakan untuk Durable Functions. Menyediakan nama fungsi halo Nama yang digunakan untuk fungsi tahan lama Anda
Buka src/functions/hello.js untuk melihat fungsi yang Anda buat.
Anda telah membuat orkestrator yang dipanggil helloOrchestrator
untuk mengoordinasikan fungsi aktivitas. Setiap panggilan untuk context.df.callActivity
memanggil fungsi aktivitas yang disebut hello
.
Anda juga telah 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: bekerja seperti melakukan panggilan database atau melakukan beberapa komputasi non-deterministik.
Terakhir, Anda juga telah 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.createCheckStatusResponse
untuk mengembalikan respons HTTP yang berisi URL yang dapat digunakan untuk memantau dan mengelola orkestrasi baru.
Kini Anda memiliki aplikasi Durable Functions yang dapat dijalankan secara lokal dan disebarkan ke Azure.
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.
- Untuk menguji fungsi Anda, atur titik henti dalam kode fungsi aktivitas
Hello
(Hello/index.js). Tekan F5 atau pilihDebug: Start Debugging
dari palet perintah untuk memulai proyek aplikasi fungsi. Output dari Core Tools ditampilkan di panel Terminal .
- Untuk menguji fungsi Anda, atur titik henti dalam
hello
kode fungsi aktivitas (src/functions/hello.js). Tekan F5 atau pilihDebug: Start Debugging
dari palet perintah untuk memulai proyek aplikasi fungsi. Output dari Core Tools ditampilkan di panel Terminal .
Catatan
LihatDiagnostik Durable Functionsuntuk informasi lebih lanjut tentang penelusuran kesalahan.
Durable Functions memerlukan akun penyimpanan Azure untuk berjalan. Saat Visual Studio Code meminta Anda untuk memilih akun penyimpanan, pilihPilih akun penyimpanan.
Ikuti perintah, 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 Di panelTerminal, salin titik akhir URL dari fungsi yang dipicu HTTP Anda.
Responsnya adalah hasil awal dari fungsi HTTP yang memberi tahu Anda 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.
Salin nilai URL untuk
statusQueryGetUri
dan tempelkan di bilah alamat browser dan jalankan permintaan. Atau, Anda juga dapat terus menggunakan Postman untuk mengeluarkan permintaan GET.Permintaan meminta instans orkestrasi untuk status tersebut. Anda harus mendapatkan respons pada akhirnya, yang menunjukkan kepada kami instans telah selesai, dan termasuk output atau hasil dari fungsi tahan lama. Respons terlihat seperti:
{ "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" }
{ "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" }
Untuk menghentikan penelusuran kesalahan, tekan Shift + F5 di VS 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.
Jika Anda belum masuk, pilih ikon Azure di bilah Aktivitas. Lalu, di area Sumber Daya, pilih Masuk ke Azure...
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....
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.
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.
Pilih ikon Azure di bilah Aktivitas. Lalu, di area Sumber Daya, pilih ikon + dan pilih opsi Buat Aplikasi Fungsi di Azure.
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.
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.
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....
Saat diminta untuk menimpa penyebaran sebelumnya, pilih Sebarkan untuk menyebarkan kode fungsi Anda ke sumber daya aplikasi fungsi baru.
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.
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.
- Salin URL pemicu HTTP dari panelOutput. URL yang memanggil fungsi terpicu HTTP Anda harus dalam format ini:
https://<functionappname>.azurewebsites.net/api/orchestrators/HelloOrchestrator
- Salin URL pemicu HTTP dari panelOutput. URL yang memanggil fungsi terpicu HTTP Anda harus dalam format ini:
https://<functionappname>.azurewebsites.net/api/orchestrators/helloOrchestrator
- Tempelkan URL baru ini untuk permintaan HTTP ke bilah alamat browser Anda. Anda akan mendapatkan respons status yang sama seperti sebelumnya saat menggunakan aplikasi yang diterbitkan.
Langkah berikutnya
Anda telah menggunakan Visual Studio Code untuk membuat dan memublikasikan aplikasi fungsi tahan lama JavaScript.