Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Jika memungkinkan, buat dan validasi proyek kode Azure Functions Anda di lingkungan pengembangan lokal. Dengan menggunakan Azure Functions Core Tools (v4) atau Azure Functions CLI (v5), Anda mendapatkan versi runtime lokal Azure Functions yang terintegrasi dengan alat pengembangan populer untuk pengembangan, debugging, dan penyebaran terintegrasi. Fungsi lokal Anda bahkan dapat terhubung ke layanan Azure langsung.
Artikel ini menyediakan beberapa panduan bersama untuk pengembangan lokal, seperti bekerja dengan filelocal.settings.json. Ini juga menautkan ke panduan khusus lingkungan pengembangan.
Petunjuk / Saran
Untuk informasi terperinci tentang cara mengembangkan fungsi secara lokal, lihat artikel panduan khusus IDE yang ditautkan.
Lingkungan pengembangan lokal
Cara Anda mengembangkan fungsi di komputer lokal bergantung pada preferensi bahasa dan alat Anda. Pilih bahasa pilihan Anda di bagian atas artikel.
Petunjuk / Saran
Semua pengembangan lokal bergantung pada runtime Azure Functions lokal dan alatnya (func CLI) untuk menyediakan host Functions bagi debugging di lingkungan lokal.
Gunakan lingkungan pengembangan ini untuk mengodekan fungsi secara lokal dalam bahasa pilihan Anda:
| Lingkungan | Deskripsi |
|---|---|
| Visual Studio | Alat Azure Functions disertakan dalam beban kerja pengembangan AzureVisual Studio. Anda dapat mengkompilasi dan menyebarkan kode fungsi C# Anda ke Azure sebagai pustaka kelas .NET. Termasuk Core Tools untuk pengujian lokal. Untuk mempelajari selengkapnya, lihat Membuat fungsi C# pertama Anda di Azure menggunakan Visual Studio. |
| Visual Studio Code | Ekstensi Azure Functions untuk Visual Studio Code menambahkan dukungan Functions ke Visual Studio Code. Membutuhkan Alat Inti. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari lebih lanjut, lihat Membuat fungsi pertama Anda menggunakan Visual Studio Code. |
| Command Prompt atau terminal | Azure Functions menyediakan runtime dan alat lokal yang memungkinkan pengembangan lokal. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari selengkapnya, lihat Membuat fungsi C# di Azure dari baris perintah. |
| Lingkungan | Deskripsi |
|---|---|
| Maven | Arketipe Maven menggunakan Core Tools untuk mengaktifkan pengembangan fungsi Java. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari lebih lanjut, lihat Membuat fungsi pertama Anda dengan Java dan Maven. |
| Visual Studio Code | Ekstensi Azure Functions untuk Visual Studio Code menambahkan dukungan Functions ke Visual Studio Code. Membutuhkan Alat Inti. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari lebih lanjut, lihat Membuat fungsi pertama Anda menggunakan Visual Studio Code. |
| IntelliJ IDEA | Arketipe Maven dan Core Tools memungkinkan Anda mengembangkan fungsi menggunakan IntelliJ. Untuk informasi selengkapnya, lihat Membuat fungsi Java pertama Anda di Azure menggunakan IntelliJ. |
| Eclipse | Arketipe Maven dan Core Tools memungkinkan Anda mengembangkan fungsi menggunakan Eclipse. Untuk mempelajari selengkapnya, lihat Membuat fungsi Java pertama Anda di Azure menggunakan Ecplise. |
| Lingkungan | Deskripsi |
|---|---|
| Visual Studio Code | Ekstensi Azure Functions untuk Visual Studio Code menambahkan dukungan Functions ke Visual Studio Code. Membutuhkan Alat Inti. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari lebih lanjut, lihat Membuat fungsi pertama Anda menggunakan Visual Studio Code. |
| Command Prompt atau terminal | Azure Functions menyediakan runtime dan alat lokal yang memungkinkan pengembangan lokal. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari selengkapnya, lihat Membuat fungsi Node.js di Azure dari baris perintah. |
| Lingkungan | Deskripsi |
|---|---|
| Visual Studio Code | Ekstensi Azure Functions untuk Visual Studio Code menambahkan dukungan Functions ke Visual Studio Code. Membutuhkan Alat Inti. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari lebih lanjut, lihat Membuat fungsi pertama Anda menggunakan Visual Studio Code. |
| Command Prompt atau terminal | Azure Functions menyediakan runtime dan alat lokal yang memungkinkan pengembangan lokal. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari selengkapnya, lihat Membuat fungsi PowerShell di Azure dari baris perintah. |
| Lingkungan | Deskripsi |
|---|---|
| Visual Studio Code | Ekstensi Azure Functions untuk Visual Studio Code menambahkan dukungan Functions ke Visual Studio Code. Membutuhkan Alat Inti. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari lebih lanjut, lihat Membuat fungsi pertama Anda menggunakan Visual Studio Code. |
| Command Prompt atau terminal | Azure Functions menyediakan runtime dan alat lokal yang memungkinkan pengembangan lokal. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari selengkapnya, lihat Membuat fungsi Python di Azure dari baris perintah. |
Masing-masing lingkungan pengembangan lokal ini memungkinkan Anda membuat proyek aplikasi fungsi dan menggunakan templat fungsi yang telah ditentukan sebelumnya untuk membuat fungsi baru. Setiap lingkungan menggunakan runtime dan alat lokal Azure Functions sehingga Anda dapat menguji dan men-debug fungsi Anda menggunakan runtime Functions yang sebenarnya pada komputer Anda sendiri, sama seperti saat Anda menguji aplikasi lain. Anda juga dapat memublikasikan proyek aplikasi fungsi dari salah satu lingkungan ini ke Azure.
Runtime dan alat lokal
Penting
Azure Functions CLI (v5) saat ini dalam pratinjau. Versi pratinjau ini belum mendukung Java dan PowerShell. Untuk bekerja dengan bahasa yang saat ini tidak didukung, terus gunakan Azure Functions Core Tools v4.
Ada dua alat baris perintah yang disertakan sebagai func.exe untuk Azure Functions:
| Alat Inti Azure Functions | Azure Functions CLI | |
|---|---|---|
| versi func.exe | v4 | v5 |
| Tingkat dukungan | Ketersediaan umum (GA) | Tinjauan |
| Ukuran instalasi | Biner lengkap yang mencakup semua perintah dan kemampuan untuk semua bahasa asli. | Penginstalan dasar kecil, ditambah beban kerja per bahasa dan fitur lain yang Anda tambahkan sesuai kebutuhan. Host didistribusikan sebagai workload tersendiri, sehingga Anda bisa mendapatkan versi host terbaru tanpa mengunduh ulang CLI. |
| Gunakan saat... | Anda memerlukan dukungan GA penuh untuk semua alur kerja pengembangan. | Anda menginginkan pengalaman berbasis beban kerja yang ringan dengan fitur baru seperti templat mulai cepat dan profil yang menjaga lingkungan lokal Anda tetap sinkron dengan konfigurasi paket hosting Azure Anda. |
File proyek lokal
Direktori proyek Functions berisi file berikut di folder akar proyek, terlepas dari bahasa:
| Nama file | Deskripsi |
|---|---|
| host.json | Untuk mempelajari lebih lanjut, lihat referensi host.json. |
| local.settings.json | Pengaturan yang digunakan oleh runtime lokal Functions, termasuk pengaturan aplikasi. Untuk mempelajari selengkapnya, lihat file pengaturan lokal. |
| .gitignore | Mencegah file local.settings.json tidak sengaja diterbitkan ke repositori Git. Untuk mempelajari selengkapnya, lihat file pengaturan lokal. |
| .vscode\extensions.json | Pengaturan file yang digunakan saat membuka folder proyek di Visual Studio Code. |
File lain dalam proyek bergantung pada bahasa dan fungsi tertentu Anda. Untuk informasi selengkapnya, lihat panduan pengembang untuk bahasa Anda.
File pengaturan lokal
File local.settings.json menyimpan pengaturan dan pengaturan aplikasi yang digunakan oleh alat pengembangan lokal. Gunakan pengaturan dalam local.settings.json file hanya saat menjalankan proyek Anda secara lokal. Saat Anda menerbitkan proyek ke Azure, tambahkan pengaturan yang diperlukan ke pengaturan aplikasi untuk aplikasi fungsi.
Penting
local.settings.json Karena file tersebut mungkin berisi rahasia seperti string koneksi, berhati-hatilah mengunggahnya ke kontrol sumber. Alat yang mendukung Functions menyediakan cara untuk menyinkronkan pengaturan dalam local.settings.json file dengan pengaturan aplikasi di aplikasi fungsi tempat proyek Anda disebarkan.
File local.settings.json memiliki struktur ini:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "<language worker>",
"AzureWebJobsStorage": "<connection-string>",
"MyBindingConnection": "<binding-connection-string>",
"AzureWebJobs.HttpExample.Disabled": "true"
},
"Host": {
"LocalHttpPort": 7071,
"CORS": "*",
"CORSCredentials": false
},
"ConnectionStrings": {
"SQLConnectionString": "<sqlclient-connection-string>"
}
}
Pengaturan ini didukung saat Anda menjalankan proyek secara lokal:
| Pengaturan | Deskripsi |
|---|---|
IsEncrypted |
Ketika pengaturan ini diatur ke true, semua nilai dienkripsi dengan menggunakan kunci komputer lokal. Digunakan dengan perintah func settings Nilai default adalah false. Anda mungkin ingin mengenkripsi local.settings.json file pada komputer lokal Anda ketika memuat rahasia, seperti string sambungan layanan. Host secara otomatis mendekripsi pengaturan saat dijalankan. Gunakan func settings decrypt perintah sebelum mencoba membaca setelan terenkripsi secara lokal. |
Values |
Kumpulan pengaturan aplikasi yang digunakan saat proyek berjalan secara lokal. Pasangan nilai kunci (string-string) ini sesuai dengan pengaturan aplikasi di aplikasi fungsi Anda di Azure, seperti AzureWebJobsStorage. Banyak pemicu dan pengikatan memiliki properti yang mengacu pada pengaturan aplikasi string koneksi, seperti Connection untuk pemicu penyimpanan Blob. Untuk properti ini, Anda memerlukan pengaturan aplikasi yang ditentukan dalam Values array. Lihat tabel berikutnya untuk daftar pengaturan yang umum digunakan. Nilai harus untai (karakter) dan bukan objek atau array JSON. Nama pengaturan tidak boleh menyertakan garis bawah ganda ( __) dan tidak boleh menyertakan titik dua (:). Garis bawah ganda dicadangkan oleh runtime, dan titik dua dicadangkan untuk mendukung injeksi dependensi. |
Host |
Pengaturan di bagian ini mengkustomisasi proses host Fungsi saat Anda menjalankan proyek secara lokal. Pengaturan ini terpisah dari pengaturan host.json, yang juga berlaku saat Anda menjalankan proyek di Azure. |
LocalHttpPort |
Mengatur port default yang digunakan saat menjalankan host Fungsi lokal ( func host start dan func run).
--port Opsi baris perintah lebih diutamakan daripada pengaturan ini. Misalnya, saat berjalan di Visual Studio IDE, Anda dapat mengubah nomor port dengan menavigasi ke jendela "Properti Proyek -> Debug" dan secara eksplisit menentukan nomor port dalam host start --port <your-port-number> perintah yang dapat disediakan di bidang "Argumen Aplikasi". |
CORS |
Mendefinisikan asal yang diizinkan untuk berbagi sumber daya lintas asal (CORS). Asal-usul disediakan sebagai daftar yang dipisahkan koma tanpa spasi. Nilai wildcard (*) didukung, memungkinkan permintaan dari asal apa pun. |
CORSCredentials |
Ketika diatur ke true, permintaan withCredentials diizinkan. |
ConnectionStrings |
Sebuah koleksi. Jangan gunakan koleksi ini untuk string koneksi yang digunakan oleh pengikatan data fungsi Anda. Koleksi ini hanya digunakan oleh kerangka kerja yang biasanya mendapatkan string koneksi dari ConnectionStrings bagian file konfigurasi, seperti Kerangka Kerja Entitas. String koneksi dalam objek ini ditambahkan ke lingkungan dengan jenis penyedia System.Data.SqlClient. Item dalam koleksi ini tidak dipublikasikan ke Azure dengan pengaturan aplikasi lain. Anda harus secara eksplisit menambahkan nilai-nilai ini Connection strings ke koleksi pengaturan aplikasi fungsi Anda. Jika Anda membuat SqlConnection dalam kode fungsi, simpan nilai string koneksi dengan koneksi Anda yang lain di Pengaturan Aplikasi di portal. |
Pengaturan aplikasi berikut dapat disertakan dalam Values array saat berjalan secara lokal:
| Pengaturan | Nilai | Deskripsi |
|---|---|---|
AzureWebJobsStorage |
String koneksi akun penyimpanan, atauUseDevelopmentStorage=true |
Memuat string koneksi untuk akun penyimpanan Azure. Diperlukan ketika menggunakan pemicu selain HTTP. Untuk informasi selengkapnya, lihat AzureWebJobsStorage referensi.Ketika Anda menginstal Emulator Azurite secara lokal dan Anda mengatur AzureWebJobsStorage ke UseDevelopmentStorage=true, host Functions lokal menggunakan emulator. Untuk informasi selengkapnya, lihat Emulator penyimpanan lokal. |
AzureWebJobs.<FUNCTION_NAME>.Disabled |
true|false |
Untuk menonaktifkan fungsi saat berjalan secara lokal, tambahkan "AzureWebJobs.<FUNCTION_NAME>.Disabled": "true" ke koleksi, di mana <FUNCTION_NAME> nama fungsi. Untuk mempelajari lebih lanjut, lihat Cara menonaktifkan fungsi di Azure Functions. |
FUNCTIONS_WORKER_RUNTIME |
dotnetdotnet-isolatednodejavapowershellpython |
Menunjukkan bahasa yang ditargetkan dari fungsi runtime. Diperlukan untuk runtime Functions versi 2.x dan yang lebih tinggi. Perintah func init menghasilkan pengaturan ini untuk proyek Anda. Untuk mempelajari selengkapnya, lihat FUNCTIONS_WORKER_RUNTIME referensinya. |
FUNCTIONS_WORKER_RUNTIME_VERSION |
~7 |
Menunjukkan untuk menggunakan PowerShell 7 saat berjalan secara lokal. Jika tidak disetel, maka PowerShell Core 6 digunakan. Setelan ini hanya digunakan ketika berjalan secara lokal. Versi runtime PowerShell ditentukan oleh powerShellVersion pengaturan konfigurasi situs, saat dijalankan di Azure, yang dapat diatur di portal. |
Untuk mempelajari cara menggunakan nilai dari values array sebagai variabel lingkungan dalam kode fungsi Anda, lihat Variabel lingkungan di panduan pengembang.
Untuk mempelajari cara menggunakan nilai dari values array sebagai variabel lingkungan dalam kode fungsi Anda, lihat Variabel lingkungan di panduan pengembang.
Untuk mempelajari cara menggunakan nilai dari values array sebagai variabel lingkungan dalam kode fungsi Anda, lihat Variabel lingkungan di panduan pengembang.
Untuk mempelajari cara menggunakan nilai dari values array sebagai variabel lingkungan dalam kode fungsi Anda, lihat Variabel lingkungan di panduan pengembang.
Menyinkronkan pengaturan
Saat Anda mengembangkan fungsi secara lokal, sertakan pengaturan lokal apa pun yang diperlukan oleh aplikasi Anda di pengaturan aplikasi aplikasi fungsi tempat Anda menyebarkan kode. Anda mungkin juga perlu mengunduh pengaturan saat ini dari aplikasi fungsi ke proyek lokal Anda. Meskipun Anda dapat mengonfigurasi pengaturan aplikasi secara manual di portal Azure, alat berikut juga memungkinkan Anda menyinkronkan pengaturan aplikasi dengan pengaturan lokal di proyek Anda:
Pemicu dan pengikatan
Saat Anda mengembangkan fungsi Anda secara lokal, pertimbangkan perilaku pemicu dan pengikatan. Untuk pemicu HTTP, Anda dapat memanggil titik akhir HTTP di komputer lokal dengan menggunakan http://localhost/. Untuk fungsi yang dipicu non-HTTP, gunakan beberapa opsi untuk berjalan secara lokal:
- Anda dapat menggunakan string koneksi yang menargetkan layanan Azure langsung untuk menguji pengikatan selama pengembangan lokal. Tambahkan pengaturan string koneksi yang sesuai dalam
Valuesarray dalam file local.settings.json. Saat Anda melakukan ini, eksekusi lokal selama pengujian dapat memengaruhi layanan produksi Anda. Sebagai gantinya, pertimbangkan untuk menyiapkan layanan langsung terpisah untuk digunakan selama pengembangan dan pengujian, lalu beralih ke layanan yang berbeda selama produksi. - Untuk pemicu berbasis penyimpanan, gunakan emulator penyimpanan lokal.
- Jalankan fungsi pemicu non-HTTP secara manual dengan menggunakan titik akhir administrator khusus. Untuk informasi selengkapnya, lihat Menjalankan fungsi yang tidak dipicu HTTP secara manual.
Selama pengujian lokal, Anda harus menjalankan host yang disediakan oleh runtime Functions lokal (func.exe) secara lokal. Untuk informasi selengkapnya, lihat Azure Functions Core Tools atau Azure Functions CLI.
Alat pengujian HTTP
Selama pengembangan, Anda dapat memanggil salah satu titik akhir fungsi Anda dari browser web saat mendukung metode HTTP GET. Namun, untuk metode HTTP lain yang mendukung payload, seperti POST atau PUT, Anda perlu menggunakan alat uji HTTP untuk membuat dan mengirim permintaan HTTP ini ke titik akhir fungsi Anda.
Perhatian
Untuk skenario di mana permintaan Anda harus menyertakan data sensitif, pastikan untuk menggunakan alat yang melindungi data Anda dan mengurangi risiko mengekspos data sensitif apa pun ke publik. Data sensitif yang harus Anda lindungi mungkin termasuk: kredensial, rahasia, token akses, kunci API, data geolokasi, dan data pribadi.
Jaga keamanan data Anda dengan memilih alat uji HTTP yang berfungsi secara offline atau lokal, tidak menyinkronkan data Anda ke cloud, dan tidak mengharuskan Anda masuk ke akun online. Beberapa alat juga dapat melindungi data Anda dari paparan yang tidak disengaja dengan menerapkan fitur keamanan tertentu.
Hindari menggunakan alat yang menyimpan riwayat permintaan HTTP Anda secara terpusat (termasuk informasi sensitif), jangan ikuti praktik keamanan terbaik, atau jangan hormati masalah privasi data.
Pertimbangkan untuk menggunakan salah satu alat ini untuk mengirim permintaan HTTP dengan aman ke titik akhir fungsi Anda:
- Visual Studio Code dengan ekstensi file .http dari Visual Studio Marketplace, seperti Klien REST
- Visual Studio mendukung file .http, dimulai dengan versi 17.8
- PowerShell Invoke-RestMethod
- Microsoft Edge - Alat Konsol Jaringan
- Bruno
- curl
Emulator penyimpanan lokal
Selama pengembangan lokal, Anda dapat menggunakan emulator Azurite lokal saat menguji fungsi dengan pengikatan Azure Storage (Queue Storage, Blob Storage, dan Table Storage), tanpa menyambungkan ke layanan penyimpanan jarak jauh. Azurite terintegrasi dengan Visual Studio Code dan Visual Studio, dan Anda juga dapat menjalankannya dari prompt perintah dengan menggunakan npm. Untuk informasi selengkapnya, lihat Gunakan emulator Azurite untuk pengembangan Microsoft Azure Storage lokal.
Pengaturan berikut dalam koleksi Values di file local.settings.json mengatur agar host Functions lokal menggunakan Azurite untuk koneksi default AzureWebJobsStorage.
"AzureWebJobsStorage": "UseDevelopmentStorage=true"
Dengan nilai pengaturan ini, pemicu atau pengikatan Azure Storage apa pun yang menggunakan AzureWebJobsStorage sebagai koneksinya terhubung ke Azurite saat berjalan secara lokal. Ingatlah pertimbangan ini saat menggunakan emulasi penyimpanan selama eksekusi lokal:
- Anda harus menginstal dan menjalankan Azurite.
- Anda harus menguji dengan koneksi penyimpanan aktual ke layanan Azure sebelum menerbitkan ke Azure.
- Ketika Anda menerbitkan proyek Anda, jangan menerbitkan
AzureWebJobsStoragesebagaiUseDevelopmentStorage=true. Di Azure, pengaturanAzureWebJobsStorageharus selalu adalah string sambungan dari akun penyimpanan yang digunakan oleh aplikasi fungsi Anda. Untuk informasi selengkapnya, lihatAzureWebJobsStorage.
Artikel terkait
- Untuk mempelajari selengkapnya tentang pengembangan fungsi lokal menggunakan Visual Studio, lihat Mengembangkan Azure Functions menggunakan Visual Studio.
- Untuk membuat dan menjalankan aplikasi fungsi Go secara lokal, lihat Membuat fungsi Go dari baris perintah.
- Untuk struktur proyek khusus Go dan detail pengembangan lokal, lihat referensi pengembang Go.
- Untuk mempelajari selengkapnya tentang pengembangan fungsi lokal menggunakan Visual Studio Code di komputer Mac, Linux, atau Windows, lihat Mengembangkan Azure Functions dengan menggunakan Visual Studio Code.
- Untuk mempelajari selengkapnya mengenai pengembangan fungsi melalui prompt perintah atau terminal, periksa Azure Functions Core Tools.
- Untuk mempelajari selengkapnya tentang pratinjau Azure Functions CLI (v5), lihat Mengembangkan Azure Functions secara lokal menggunakan CLI Azure Functions.