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, Anda harus membuat dan memvalidasi proyek kode Azure Functions Anda di lingkungan pengembangan lokal. Azure Functions Core Tools menyediakan versi runtime lokal Azure Functions yang terintegrasi dengan alat pengembangan populer untuk pengembangan, penelusuran kesalahan, 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
Anda dapat menemukan informasi terperinci tentang cara mengembangkan fungsi secara lokal di artikel panduan khusus IDE yang ditautkan.
Lingkungan pengembangan lokal
Cara Anda mengembangkan fungsi di komputer lokal bergantung pada preferensi bahasa dan alat Anda. Pastikan untuk memilih bahasa pilihan Anda di bagian atas artikel.
Petunjuk / Saran
Semua pengembangan lokal bergantung pada Azure Functions Core Tools untuk menyediakan runtime Functions untuk penelusuran kesalahan di lingkungan lokal.
Anda dapat menggunakan 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. Memungkinkan Anda 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 Core Tools menyediakan runtime inti dan templat untuk membuat fungsi, 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 Perangkat Inti. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari lebih lanjut, lihat Membuat fungsi pertama Anda menggunakan Visual Studio Code. |
Perintah atau terminal | Azure Functions Core Tools menyediakan runtime inti dan templat untuk membuat fungsi, 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 Perangkat Inti. Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari lebih lanjut, lihat Membuat fungsi pertama Anda menggunakan Visual Studio Code. |
Perintah atau terminal | Azure Functions Core Tools menyediakan runtime inti dan templat untuk membuat fungsi, 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 "Core Tools." Mendukung pengembangan di Linux, macOS, dan Windows. Untuk mempelajari lebih lanjut, lihat Membuat fungsi pertama Anda menggunakan Visual Studio Code. |
Perintah atau terminal | Azure Functions Core Tools menyediakan runtime inti dan templat untuk membuat fungsi, 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. Masing-masing memanfaatkan Core Tools sehingga Anda dapat menguji dan menelusuri kesalahan fungsi Anda pada waktu proses Functions yang sesungguhnya di mesin Anda sendiri, seperti Anda melakukan untuk aplikasi lainnya. Anda juga dapat memublikasikan proyek aplikasi fungsi dari salah satu lingkungan ini ke Azure.
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 Core Tools saat berjalan secara lokal, 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. Pengaturan dalam local.settings.json
file hanya digunakan saat Anda menjalankan proyek Anda secara lokal. Saat Anda menerbitkan proyek ke Azure, pastikan juga untuk menambahkan pengaturan yang diperlukan ke pengaturan aplikasi untuk aplikasi fungsi.
Penting
Karena file local.settings.json
mungkin berisi rahasia, seperti string koneksi, Anda harus berhati-hati meng-commit ke sistem kontrol versi. 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 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 IDE Visual Studio, Anda dapat mengubah nomor port dengan bernavigasi ke jendela "Properti Proyek -> Debug" dan menentukan nomor port secara eksplisit dalam perintah host start --port <your-port-number> 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, Anda harus menyimpan 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 memiliki Azurite Emulator yang terinstal secara lokal dan Anda atur AzureWebJobsStorage ke UseDevelopmentStorage=true , Core Tools akan 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 |
dotnet dotnet-isolated node java powershell python |
Menunjukkan bahasa yang ditargetkan dari fungsi runtime. Diperlukan untuk runtime Functions versi 2.x dan yang lebih tinggi. Pengaturan ini dibuat untuk proyek Anda oleh Core Tools. 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. |
Menyinkronkan pengaturan
Saat Anda mengembangkan fungsi secara lokal, pengaturan lokal apa pun yang diperlukan oleh aplikasi Anda juga harus ada di pengaturan aplikasi aplikasi fungsi tempat kode Anda disebarkan. 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 secara lokal, Anda perlu mempertimbangkan perilaku pemicu dan pengikatan. Untuk pemicu HTTP, Anda dapat memanggil titik akhir HTTP di komputer lokal, menggunakan http://localhost/
. Untuk fungsi yang dipicu non-HTTP, ada beberapa opsi untuk dijalankan secara lokal:
- Cara termudah untuk menguji pengikatan selama pengembangan lokal adalah dengan menggunakan string koneksi yang menggunakan layanan Azure langsung. Anda dapat menargetkan layanan langsung dengan menambahkan pengaturan string koneksi yang sesuai dalam
Values
array dalam file local.settings.json. Saat Anda melakukan ini, eksekusi lokal selama pengujian dapat memengaruhi layanan produksi Anda. Sebagai gantinya, pertimbangkan untuk menyiapkan layanan terpisah untuk digunakan selama pengembangan dan pengujian, lalu beralih ke layanan yang berbeda selama produksi. - Untuk pemicu berbasis penyimpanan, Anda dapat menggunakan emulator penyimpanan lokal.
- Anda dapat menjalankan 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 Core Tools (func.exe) secara lokal. Untuk informasi selengkapnya, lihat Azure Functions Core Tools.
Alat pengujian HTTP
Selama pengembangan, mudah untuk memanggil salah satu titik akhir fungsi Anda dari browser web saat mereka 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: info masuk, rahasia, token akses, kunci API, data geolokasi, bahkan data pribadi.
Anda dapat menjaga 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 dari Visual Studio Marketplace, seperti Klien REST
- 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 harus terhubung ke layanan penyimpanan jarak jauh. Azurite terintegrasi dengan Visual Studio Code dan Visual Studio, dan Anda juga dapat menjalankannya dari prompt perintah 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
AzureWebJobsStorage
sebagaiUseDevelopmentStorage=true
. Di Azure, pengaturanAzureWebJobsStorage
harus 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 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.