JavaScript: Menyimpan data di MongoDB dengan Azure Function
Buat Azure Function API untuk menyimpan data dengan Mongoose API ke Cosmos DB, lalu sebarkan aplikasi Fungsi ke cloud Azure untuk hosting dengan titik akhir HTTP publik.
Kode sumber lengkap untuk aplikasi Azure Function ini:
Siapkan lingkungan pengembangan Anda
Instal perangkat lunak berikut:
- Buat langganan Azure gratis
- Instal Node.js LTS - artikel ini ditulis dan diuji dengan Node.js 14
- Instal Visual Studio Code dan gunakan ekstensi berikut:
Perangkat lunak berikut diinstal sebagai bagian dari tutorial nanti:
- Azure Functions Core Tools - untuk menggunakan Azure Functions 3.x
1. Masuk ke Azure di Visual Studio Code
Jika Anda telah menggunakan ekstensi layanan Azure, Anda seharusnya sudah masuk dan dapat melompati langkah ini.
Setelah Anda memasang ekstensi di Visual Studio Code, Anda perlu masuk ke akun Azure Anda.
Di Visual Studio Code, pilih ikon Azure explorer, lalu pilih Masuk ke Azure, dan ikuti petunjuknya.

Setelah masuk, verifikasi bahwa alamat email akun Azure Anda muncul di Bilah Status dan langganan Anda muncul di Azure explorer:

2. Buat grup sumber daya Azure
Grup sumber daya adalah kumpulan sumber daya berbasis wilayah. Dengan membuat grup sumber daya, lalu membuat sumber daya dalam grup itu, di akhir tutorial, Anda dapat menghapus grup sumber daya tanpa harus menghapus setiap sumber daya satu per satu.
Di Visual Studio Code, pilih penjelajah Azure, lalu langganan Anda di bawah Grup Sumber Daya.
Pilih + untuk membuat grup sumber daya baru.
Gunakan tabel berikut untuk menyelesaikan petunjuk:
Perintah Nilai Masukkan nama grup sumber daya baru. cosmosdb-mongodb-function-resource-groupPilih lokasi untuk sumber daya baru. Pilih lokasi geografis yang dekat dengan Anda.
3. Buat aplikasi Functions lokal
Buat aplikasi Azure Functions (tanpa server) lokal yang berisi fungsi pemicu HTTP.
Di Visual Studio Code, pilih penjelajah Azure, lalu pilih Buat Proyek Baru di bagian Functions:

Gunakan tabel berikut untuk menyelesaikan pembuatan proyek Azure Functions lokal:
Perintah Nilai Catatan Pilih folder yang akan berisi proyek fungsi Anda. Pilih folder saat ini, yang merupakan nilai default. Pilih bahasa TypeScript Pilih templat untuk fungsi pertama proyek Anda Pemicu HTTP API dipanggil dengan permintaan HTTP. Menyediakan nama fungsi categoryRute API adalah /api/categoryTingkat Ootorisasi Fungsi Ini mengunci API jarak jauh ke permintaan yang meneruskan kunci fungsi dengan permintaan. Saat mengembangkan secara lokal, Anda tidak memerlukan kunci fungsi. Proses ini tidak membuat sumber daya Azure Function berbasis cloud. Langkah itu akan datang kemudian.
Saat Visual Studio Code menyelesaikan pembuatan proyek, Anda memiliki folder yang dinamai untuk fungsi, kategori dengan tiga file:
Filename Deskripsi index.ts Kode sumber yang menanggapi permintaan HTTP. function.json Konfigurasi pengikatan untuk pemicu HTTP. sample.dat File data tempat penampung untuk menunjukkan bahwa Anda dapat memiliki file lain di folder. Anda dapat menghapus file ini, jika diinginkan, karena tidak digunakan dalam tutorial ini. Di Visual Studio Code, buka terminal bash terintegrasi, Ctrl + ` dan instal dependensi aplikasi Azure Function:
npm installTambahkan paket alat inti Azure Function, yang diperlukan untuk menjalankan aplikasi Azure Function secara lokal:
npm install --global azure-functions-core-tools@3Dalam file
./category/index.ts, tambahkan pesancontext.logbaru untuk mencetak nama ke log fungsi, disorot dalam kode berikut:import { AzureFunction, Context, HttpRequest } from "@azure/functions" const httpTrigger: AzureFunction = async function (context: Context, req: HttpRequest): Promise<void> { context.log('HTTP trigger function processed a request.'); const name = (req.query.name || (req.body && req.body.name)); context.log(`*** HTTPExample name: ${name}`); const responseMessage = name ? "Hello, " + name + ". This HTTP triggered function executed successfully." : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."; context.res = { // status: 200, /* Defaults to 200 */ body: responseMessage }; }; export default httpTrigger;
4. Jalankan fungsi serverless lokal
Jalankan proyek Azure Functions secara lokal untuk mengujinya sebelum disebarkan ke Azure.
Dalam Visual Studio Code, file
./category/index.ts, atur titik impas pada blokcontext.resakhir, di akhir fungsi.Di Visual Studio Code, tekan F5 untuk meluncurkan penelusur kesalahan dan lampirkan ke host Azure Functions.
Anda juga dapat menggunakan perintah menu DebugStart>Mulai Penelusuran Kesalahan.
Output dari alat Functions Core muncul di panel Terminal.
Untuk menyalin URL fungsi lokal, gunakan penjelajah Azure, klik kanan nama fungsi, kategori, lalu pilih Salin URL Fungsi.
Di browser Anda, tempel URL, lalu tambahkan
?name=YOUR-NAMEke akhir URL, gantiYOUR-NAMEdengan nama Anda:
Karena fungsi berjalan secara lokal, API lokal Anda tidak memerlukan kunci fungsi untuk bekerja dengan sukses.
Untuk melihat seluruh respons HTTP, gunakan perintah cURL berikut di terminal:
curl http://localhost:7071/api/category?name=john --verboseResponnya adalah:
* Trying ::1:7071... * Trying 127.0.0.1:7071... * Connected to localhost (127.0.0.1) port 7071 (#0) > GET /api/category?name=john HTTP/1.1 > Host: localhost:7071 > User-Agent: curl/7.75.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < Date: Tue, 21 Sep 2021 17:35:05 GMT < Content-Type: text/plain; charset=utf-8 < Server: Kestrel < Transfer-Encoding: chunked < Request-Context: appId=cid-v1:e981b763-c455-4e32-852c-73765b048a0f < Hello, john. This HTTP triggered function executed successfully.* Connection #0 to host localhost left intact
5. Atur dan berhenti di titik istirahat di aplikasi serverless
Dengan fungsi Anda berjalan secara lokal, atur titik henti pada berbagai bagian kode.
Buka index.ts, lalu klik margin di sebelah kiri terakhir
context.res, di jendela editor.Titik merah kecil muncul untuk menunjukkan titik henti.
Ubah nilai
?name=untuk URL di terminal bash terintegrasi dan kirim kembali permintaan ke fungsi.Saat browser membuat permintaan itu, VS Code menghentikan kode fungsi pada titik henti itu:
Perluas elemen Variabel bernama Closure (httpTrigger) untuk melihat properti permintaan. Anda dapat melihat semua properti yang diteruskan ke fungsi.
Hentikan penelusur kesalahan di Visual Studio Code, ShiftF5 + F5.
6. Buat aplikasi Fungsi dan sebarkan ke Azure
Di Visual Studio Code, pilih penjelajah Azure, lalu di bawah Fungsi, pilih ikon Sebarkan ke aplikasi Fungsi untuk menyebarkan aplikasi Anda:

Sebagai alternatif, Anda dapat menyebarkan dengan membuka Command Palette (F1), memasukkan 'deploy to function app' untuk memfilter perintah, lalu pilih perintah Azure Functions: Deploy to Function App.
Gunakan tabel berikut untuk menyelesaikan perintah untuk membuat sumber daya Azure Function baru.
Perintah Nilai Catatan Pilih Aplikasi Fungsi di Azure Membuat aplikasi Fungsi baru di Azure (Tingkat Lanjut) Buat sumber daya berbasis cloud untuk fungsi. Masukkan nama unik secara global untuk Aplikasi Fungsi baru Nama tersebut menjadi bagian dari URL API. API dipanggil dengan permintaan HTTP. Karakter yang valid untuk nama aplikasi fungsi adalah 'a-z', '0-9', dan '-'. Contohnya cosmosdb-mongodb-function-app.Memilih tumpukan runtime Pilih tumpukan Node.js dengan deskriptor LTS.Memilih Node.js 14 LTS Pilih OS. Windows Pilih grup sumber daya untuk sumber daya baru. cosmosdb-mongodb-function-resource-groupPilih grup sumber daya yang Anda buat di artikel pertama seri ini. Pilih lokasi untuk sumber daya baru. Pilih wilayah yang direkomendasikan. Pilih paket hosting. Consumption Pilih akun penyimpanan. + Buat akun penyimpanan baru bernama cosmosdbmongodbstorage.Pilih sumber daya Application Insights untuk aplikasi Anda. Buat sumber daya Application Insights baru bernama cosmosdb-mongodb-function-app-insights.Panel Output Visual Studio Code untuk Azure Functions menunjukkan kemajuan:
12:26:48 PM: Creating new function app "Visual Studio Codecosmosdb-mongodb-function-app"... 12:27:09 PM: Successfully created function app "Visual Studio Codecosmosdb-mongodb-function-app": https://Visual Studio Codecosmosdb-mongodb-function-app.azurewebsites.net 12:27:38 PM Visual Studio Codecosmosdb-mongodb-function-app: Starting deployment... 12:27:40 PM Visual Studio Codecosmosdb-mongodb-function-app: Creating zip package... 12:27:41 PM Visual Studio Codecosmosdb-mongodb-function-app: Uploading zip package to storage container... 12:27:41 PM Visual Studio Codecosmosdb-mongodb-function-app: Zip package size: 2.73 kB 12:27:44 PM Visual Studio Codecosmosdb-mongodb-function-app: Deployment successful. 12:27:44 PM Visual Studio Codecosmosdb-mongodb-function-app: Started postDeployTask "npm install (functions)". 12:27:55 PM Visual Studio Codecosmosdb-mongodb-function-app: Syncing triggers... 12:27:57 PM Visual Studio Codecosmosdb-mongodb-function-app: Querying triggers... 12:28:01 PM Visual Studio Codecosmosdb-mongodb-function-app: WARNING: Some http trigger urls cannot be displayed in the output window because they require an authentication token. Instead, you may copy them from the Azure Functions explorer.Saat menyebarkan, seluruh aplikasi Fungsi disebarkan, setiap perubahan pada API individual disebarkan sekaligus.
Saat sumber daya dibuat, pemberitahuan muncul, biasanya di sudut kiri bawah Visual Studio Code.
Dalam pemberitahuan, pilih Log aliran dan tetap buka tampilan saat Anda mengajukan permintaan ke API di bagian berikutnya.
7. Jalankan fungsi serverless jarak jauh
Setelah penyebaran selesai, buka penjelajah Azure, perluas node untuk langganan Azure Anda, perluas node untuk aplikasi Functions Anda, lalu perluas Fungsi (hanya baca). Klik kanan nama fungsi,
categorydan pilih Salin URL Fungsi:
Tempelkan URL ke browser web. URL menyertakan tombol fungsi,
code, sebagai parameter kueri.Tambahkan pasangannama/nilai kueri,
&name=YOUR-NAME, ke URL. Browser menunjukkan fungsi yang berhasil berjalan di cloud.
Sekarang hapus parameter string kueri
code=dari URL dan kirimkan URL di browser lagi. Ini menyimulasikan permintaan yang tidak diotorisasi ke API aman Anda.
Tinjau proses masuk streaming Visual Studio Code untuk menemukan output Anda
context.log.
8. Tambahkan Cosmos DB untuk integrasi API MongoDB
Cosmos DB menyediakan API MongoDB untuk menyediakan titik integrasi yang sudah dikenal.
Di Visual Studio Code, pilih Azure Explorer, lalu di bawah Database, pilih + untuk memulai proses pembuatan.
Gunakan tabel berikut untuk menyelesaikan perintah untuk membuat sumber daya Azure Cosmos DB baru.
Perintah Nilai Catatan Memilih Azure Database Server Azure Cosmos DB untuk MongoDB API Berikan nama akun Cosmos DB. cosmosdb-mongodb-databaseNama menjadi bagian dari URL API. Pilih model kapasitas. Throughput yang tersedia Pilih grup sumber daya untuk sumber daya baru. cosmosdb-mongodb-function-resource-groupPilih grup sumber daya yang Anda buat di artikel pertama seri ini. Pilih lokasi untuk sumber daya baru. Pilih wilayah yang direkomendasikan. Di terminal Visual Studio Code, instal paket npm:
npm install mongooseDi Visual Studio Code, buat subdirektori bernama
lib, buat file bernama./azure-cosmosdb-mongodb.tsdan salin kode berikut ke dalamnya.import { Schema, model, connect } from "mongoose"; let db=null; const CategorySchema = new Schema( { categoryName: String }, { timestamps: true } ); const CategoryModel = model("Category", CategorySchema, "Bookstore"); export const init = async () => { if(!db) { db = await connect(process.env["CosmosDbConnectionString"]); } }; export const addItem = async (doc) => { const modelToInsert = new CategoryModel(); modelToInsert["categoryName"] = doc.name; return await modelToInsert.save(); }; export const findItemById = async (id) => { return await CategoryModel.findById(id); }; export const findItems = async (query = {}) => { return await CategoryModel.find({}); }; export const deleteItemById = async (id) => { return await CategoryModel.findByIdAndDelete(id); };File ini berisi skema luwak sederhana untuk kontainer Kategori.
Di Visual Studio Code, buka file
./category/index.tsdan ganti seluruh kode file dengan yang berikut:import { AzureFunction, Context, HttpRequest } from "@azure/functions"; import * as db from "../lib/azure-cosmosdb-mongodb"; const httpTrigger: AzureFunction = async function ( context: Context, req: HttpRequest ): Promise<void> { try { let response = null; // create 1 db connection for all functions await db.init(); switch (req.method) { case "GET": if (req?.query.id || (req?.body && req?.body?.id)) { response = { documentResponse: await db.findItemById(req?.body?.id), }; } else { // allows empty query to return all items const dbQuery = req?.query?.dbQuery || (req?.body && req?.body?.dbQuery); response = { documentResponse: await db.findItems(dbQuery), }; } break; case "POST": if (req?.body?.document) { const insertOneResponse = await db.addItem(req?.body?.document); response = { documentResponse: insertOneResponse, }; } else { throw Error("No document found"); } break; case "DELETE": if (req?.query?.id || (req?.body && req?.body?.id)) { response = { documentResponse: await db.deleteItemById(req?.body?.id), }; } else { throw Error("No id found"); } break; default: throw Error(`${req.method} not allowed`) } context.res = { body: response, }; } catch (err) { context.log(`*** Error throw: ${JSON.stringify(err)}`); context.res = { status: 500, body: err, }; } }; export default httpTrigger;Di Visual Studio Code, buka file
./category/function.jsondan ubah properti metode untuk menyertakan hapus.{ "bindings": [ { "authLevel": "function", "type": "httpTrigger", "direction": "in", "name": "req", "methods": [ "get", "post", "delete" ] }, { "type": "http", "direction": "out", "name": "res" } ], "scriptFile": "../dist/category/index.js" }
9. Tambahkan string koneksi database ke proyek lokal
Di Visual Studio Code, pilih penjelajah Azure, lalu di bawah Database, klik kanan database Anda dan pilih Salin String Koneksi.
Buka file
./local.settings.jsondan tambahkan propertiCosmosDbConnectionStringbaru dan tempelkan dalam string koneksi database sebagai nilai.{ "IsEncrypted": false, "Values": { "FUNCTIONS_WORKER_RUNTIME": "node", "CosmosDbConnectionString": "" } }
10. Gunakan API Fungsi Azure
Menambahkan item ke database dengan API
Di Visual Studio Code, tekan F5 untuk meluncurkan penelusur kesalahan dan lampirkan ke host Azure Functions.
Anda juga dapat menggunakan perintah menu DebugStart>Mulai Penelusuran Kesalahan.
Gunakan perintah curl berikut di terminal bash terintegrasi untuk menambahkan John ke database Anda:
curl -X POST http://localhost:7071/api/category \ -H 'Content-Type: application/json' \ -d '{"document":{"name":"John"}}' --verboseRespons mencakup ID item baru:
{ "documentResponse": { "_id": "614a45d97ccca62acd742550", "categoryName": "John", "createdAt": "2021-09-21T20:51:37.669Z", "updatedAt": "2021-09-21T20:51:37.669Z", "__v": 0 } }Gunakan perintah curl berikut di terminal bash terintegrasi untuk menambahkan Sally ke database Anda:
curl -X POST http://localhost:7071/api/category \ -H 'Content-Type: application/json' \ -d '{"document":{"name":"Sally"}}' --verboseRespons mencakup ID item baru:
{ "documentResponse": { "_id": "614a45d97bbba62acd742550", "categoryName": "Sally", "createdAt": "2021-09-21T20:51:37.669Z", "updatedAt": "2021-09-21T20:51:37.669Z", "__v": 0 } }
Mendapatkan semua item dari database dengan API
Gunakan perintah curl berikut untuk mendapatkan semua item dari database:
curl -X GET http://localhost:7071/api/category \ -H 'Content-Type: application/json' --verboseRespons mencakup ID item baru:
{ "documentResponse": [ { "_id": "614a45d97ccca62acd742550", "categoryName": "John", "createdAt": "2021-09-21T20:51:25.288Z", "updatedAt": "2021-09-21T20:51:25.288Z", "__v": 0 }, { "_id": "614a45d97bbba62acd742550", "categoryName": "Sally", "createdAt": "2021-09-21T20:51:37.669Z", "updatedAt": "2021-09-21T20:51:37.669Z", "__v": 0 } ] }
Melihat semua data dengan ekstensi Visual Studio Code
Di Visual Studio Code, pilih Azure Explorer, lalu di bawah Database, klik kanan sumber daya Cosmos DB Anda, lalu database Uji, lalu koleksi Bookstore.
Pilih salah satu item yang tercantum untuk melihat data di Cosmos DB.
Mendapatkan satu item dari database dengan API
Gunakan perintah curl berikut untuk mendapatkan satu item dari database. Ganti
DOCUMENT_IDdengan salah satu ID dari respons langkah sebelumnya:curl -X GET http://localhost:7071/api/category \ -H 'Content-Type: application/json' \ -d '{"id":"DOCUMENT_ID"}' --verboseRespons mencakup ID item baru:
{ "documentResponse": { "_id": "614a45cd7ccca62acd74254e", "categoryName": "John", "createdAt": "2021-09-21T20:51:25.288Z", "updatedAt": "2021-09-21T20:51:25.288Z", "__v": 0 } }Kembali ke bagian Database Azure Explorer di Visual Studio Code, klik kanan cosmos DB Anda dan pilih Refresh untuk memverifikasi bahwa item tersebut telah dihapus dari sumber daya cloud.
Menghapus satu item dari database dengan API
Gunakan perintah curl berikut untuk menghapus satu item dari database. Ganti
DOCUMENT_IDdengan salah satu ID dari respons langkah sebelumnya:curl -X DELETE http://localhost:7071/api/category \ -H 'Content-Type: application/json' \ -d '{"id":"DOCUMENT_ID"}' --verboseRespons mencakup ID item baru:
{ "documentResponse": { "_id": "614a45cd7ccca62acd74254e", "categoryName": "John", "createdAt": "2021-09-21T20:51:25.288Z", "updatedAt": "2021-09-21T20:51:25.288Z", "__v": 0 } }
11. Sebarkan ulang aplikasi fungsi untuk menyertakan kode database
Di Visual Studio Code, pilih Azure Explorer, lalu di bawah Fungsi, pilih ikon sebarkan untuk memulai proses penyebaran.
Di jendela pop-up, pilih aplikasi fungsi yang sama,
cosmosdb-mongodb-function-appuntuk memulai penyebaran.Tunggu hingga penyebaran selesai sebelum melanjutkan.
12. Tambahkan string koneksi database ke fungsi jarak jauh
Di Visual Studio Code, di Azure Explorer, di bawah Fungsi, pilih dan perluas aplikasi Fungsi Anda.
Klik kanan Pengaturan Aplikasi dan pilih Tambahkan Pengaturan Baru.
Masukkan nama pengaturan aplikasi,
CosmosDbConnectionStringdan tekan enter. Tinggalkan jendela pop berikutnya.Untuk mendapatkan string koneksi, pilih Azure Explorer, lalu di bawah Database, klik kanan database Anda dan pilih Salin String Koneksi.
Tempelkan nilai ke jendela pop-up yang masih terbuka.
13. Gunakan Fungsi Azure berbasis cloud
Masih di Azure Explorer, di area Fungsi, pilih dan perluas fungsi Anda lalu node Fungsi, yang mencantumkan API, kategori.
Klik kanan item kategori dan pilih Salin URL Fungsi.
Gunakan perintah cURL berikut, dan ganti YOUR-FUNCTION-URL. Jalankan setiap perintah di terminal secara berurutan.
curl -X POST YOUR-FUNCTION-URL \ -H 'Content-Type: application/json' \ -d '{"document":{"name":"John"}}' --verbosecurl -X POST YOUR-FUNCTION-URL \ -H 'Content-Type: application/json' \ -d '{"document":{"name":"Sally"}}' --verbosecurl -X GET YOUR-FUNCTION-URL \ -H 'Content-Type: application/json' --verboseGunakan perintah cURL berikut, dan ganti YOUR-FUNCTION-URL dan DOCUMENT_ID dengan ID dari perintah sebelumnya. Jalankan setiap perintah di terminal secara berurutan.
curl -X GET YOUR-FUNCTION-URL \ -H 'Content-Type: application/json' \ -d '{"id":"DOCUMENT_ID"}' --verbosecurl -X DELETE YOUR-FUNCTION-URL \ -H 'Content-Type: application/json' \ -d '{"id":"DOCUMENT_ID"}' --verbose
14. Buat kueri log Fungsi Azure Anda
Untuk mencari log, gunakan portal Azure.
Di Visual Studio Code, pilih Azure Explorer, lalu di bawah Fungsi, klik kanan aplikasi fungsi Anda, lalu pilih Buka di Portal.
Ini membuka portal Azure ke Fungsi Azure Anda.
Pilih Pengaturan, pilih Application Insights, lalu pilih Lihat data Application Insights.
Tautan ini membawa Anda ke sumber daya metrik terpisah yang dibuat untuk Anda saat membuat Fungsi Azure dengan Visual Studio Code.
Dari bagian Pemantauan, pilih Log. Jika jendela pop-up Kueri muncul, pilih X di pojok kanan atas pop-up untuk menutupnya.
Di panel Kueri Baru 1, pada tab Tabel, klik dua kali tabel jejak.
Ini memasukkan kueri Kusto,
traceske jendela kueri.Eedit kueri untuk mencari log kustom:
traces | where message startswith "***"Pilih Jalankan.
Jika log tidak menampilkan hasil apa pun, mungkin karena ada penundaan beberapa menit antara permintaan HTTP ke Azure Function dan ketersediaan log di Kusto. Tunggu beberapa menit dan jalankan kueri lagi.
Anda tidak perlu melakukan apa pun tambahan untuk mendapatkan informasi pencatatan ini:
- Kode menggunakan fungsi
context.logyang disediakan oleh kerangka Kerja Fungsi. Dengan menggunakancontext, bukanconsole, pengelogan Anda dapat disaring ke fungsi individu tertentu. Ini berguna jika aplikasi Fungsi Anda memiliki banyak fungsi. - Aplikasi Fungsi menambahkan Application Insights untuk Anda.
- Alat Kueri Kusto disertakan dalam portal Azure.
- Anda dapat mengeklik
tracesalih-alih harus belajar menulis Kueri Kusto untuk mendapatkan bahkan informasi minimum dari log Anda.
- Kode menggunakan fungsi
15. Bersihkan sumber daya
Aplikasi Fungsi yang Anda buat menyertakan sumber daya yang dapat dikenakan biaya minimal (lihat Harga Fungsi). Hapus grup sumber daya untuk menghapus semua sumber daya dalam satu tindakan.
Di Visual Studio Code, dari penjelajah Azure, temukan grup sumber daya di bagian Grup Sumber Daya,
cosmosdb-mongodb-function-resource-group.Klik kanan nama grup sumber daya, lalu pilih Hapus.
Langkah berikutnya
Pelajari lebih lanjut tentang Azure Functions:
- Saluran YouTube Resmi – Azure Functions
- Video: Memigrasikan API Anda ke Serverless menggunakan Azure Functions - YouTube
- Panduan pengembang JavaScript Azure Functions
- Mengamankan Azure Functions
Lihat ekstensi Azure lainnya:
- Alat Azure
- Azure Databases
- Azure Storage
- Azure Functions
- Alat Docker
- Alat Azure CLI
- Alat Azure Resource Manager
Untuk mempelajari lebih lanjut tentang bekerja dengan Azure menggunakan Node.js, kunjungi sumber daya di bawah ini:




