Bagikan melalui


Referensi pengaturan aplikasi untuk Azure Functions

Pengaturan aplikasi dalam aplikasi fungsi berisi opsi konfigurasi yang memengaruhi semua fungsi untuk aplikasi fungsi tersebut. Pengaturan ini diakses sebagai variabel lingkungan. Artikel ini mencantumkan pengaturan aplikasi yang tersedia di aplikasi fungsi.

Ada beberapa cara yang dapat Anda tambahkan, perbarui, dan hapus pengaturan aplikasi fungsi:

Perubahan pada pengaturan aplikasi fungsi mengharuskan aplikasi fungsi Anda dimulai ulang.

Dalam artikel ini, contoh nilai string koneksi dipotong untuk keterbacaan.

Karena Azure Functions memanfaatkan platform Azure App Service untuk hosting, Anda mungkin menemukan beberapa pengaturan yang relevan dengan hosting aplikasi fungsi yang didokumenkan dalam variabel Lingkungan dan pengaturan aplikasi di Azure App Service.

Pertimbangan pengaturan aplikasi

Saat menggunakan pengaturan aplikasi, Anda harus mengetahui pertimbangan berikut:

  • Perubahan pada pengaturan aplikasi fungsi mengharuskan aplikasi fungsi Anda dimulai ulang.

  • Dalam mengatur nama, garis bawah ganda (__) dan titik dua (:) dianggap sebagai nilai cadangan. Garis bawah ganda ditafsirkan sebagai pemisah hierarkis pada Windows dan Linux, dan titik dua ditafsirkan dengan cara yang sama hanya di Windows. Misalnya, pengaturan AzureFunctionsWebHost__hostid=somehost_123456 akan ditafsirkan sebagai objek JSON berikut:

    "AzureFunctionsWebHost": {
        "hostid": "somehost_123456"
    }
    

    Dalam artikel ini, hanya garis bawah ganda yang digunakan, karena didukung pada kedua sistem operasi. Sebagian besar pengaturan yang mendukung koneksi identitas terkelola menggunakan garis bawah ganda.

  • Saat Functions berjalan secara lokal, pengaturan aplikasi ditentukan dalam Values koleksi di local.settings.json.

  • Ada opsi konfigurasi global lainnya di file host.json dan di file local.settings.json.

  • Anda dapat menggunakan pengaturan aplikasi untuk mengganti pengaturan nilai host.json tanpa harus mengubah file host.json itu sendiri. Ini berguna untuk skenario ketika Anda perlu mengonfigurasi atau memodifikasi pengaturan host.json untuk lingkungan tertentu. Ini juga memungkinkan Anda mengubah pengaturan host.json tanpa harus menerbitkan ulang proyek Anda. Untuk mempelajari selengkapnya, lihat artikel referensi host.json.

  • Artikel ini mendokuensikan pengaturan yang paling relevan dengan aplikasi fungsi Anda. Karena Azure Functions berjalan di App Service, pengaturan aplikasi lain juga didukung. Untuk informasi selengkapnya, lihat Variabel lingkungan dan pengaturan aplikasi di Azure App Service.

  • Beberapa skenario juga mengharuskan Anda untuk bekerja dengan pengaturan yang didokumenkan di pengaturan situs App Service.

  • Mengubah pengaturan aplikasi App Service baca-saja dapat membuat aplikasi fungsi Anda menjadi status tidak responsif.

  • Berhati-hatilah saat memperbarui pengaturan aplikasi dengan menggunakan REST API, termasuk templat ARM. Karena API ini menggantikan pengaturan aplikasi yang ada, Anda harus menyertakan semua pengaturan yang ada saat menambahkan atau memodifikasi pengaturan menggunakan REST API atau templat ARM. Jika memungkinkan, gunakan Azure CLI atau Azure PowerShell untuk bekerja secara terprogram dengan pengaturan aplikasi. Untuk informasi selengkapnya, harap lihat Bekerja dengan pengaturan aplikasi.

APPINSIGHTS_INSTRUMENTATIONKEY

Kunci instrumentasi untuk Application Insights. Jangan gunakan dan APPINSIGHTS_INSTRUMENTATIONKEY APPLICATIONINSIGHTS_CONNECTION_STRING. Jika memungkinkan, gunakan APPLICATIONINSIGHTS_CONNECTION_STRING. Saat Application Insights berjalan di sovereign cloud, Anda harus menggunakan APPLICATIONINSIGHTS_CONNECTION_STRING. Untuk mempelajari selengkapnya, lihat Cara mengonfigurasi pemantauan untuk Azure Functions.

Tombol Sampel nilai
APPINSIGHTS_INSTRUMENTATIONKEY 55555555-af77-484b-9032-64f83bb83bb

Jangan gunakan dan APPINSIGHTS_INSTRUMENTATIONKEY APPLICATIONINSIGHTS_CONNECTION_STRING. Penggunaan APPLICATIONINSIGHTS_CONNECTION_STRING disarankan.

APPLICATIONINSIGHTS_AUTHENTICATION_STRING

Memungkinkan akses ke Application Insights dengan menggunakan autentikasi Microsoft Entra. Gunakan pengaturan ini saat Anda harus tersambung ke ruang kerja Application Insights dengan menggunakan autentikasi Microsoft Entra. Untuk informasi selengkapnya, lihat Autentikasi Microsoft Entra untuk Application Insights.

Saat Anda menggunakan APPLICATIONINSIGHTS_AUTHENTICATION_STRING, nilai spesifik yang Anda tetapkan bergantung pada jenis identitas terkelola:

Identitas terkelola Nilai pengaturan
Ditetapkan sistem Authorization=AAD
Ditetapkan pengguna Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID>

Persyaratan autentikasi ini diterapkan ke koneksi dari host Functions, snapshot debugger, profiler, dan agen khusus bahasa apa pun. Untuk menggunakan pengaturan ini, identitas terkelola harus sudah tersedia untuk aplikasi fungsi, dengan peran yang ditetapkan setara dengan Penerbit Metrik Pemantauan.

Catatan

Saat menggunakan APPLICATIONINSIGHTS_AUTHENTICATION_STRING untuk menyambungkan ke Application Insights menggunakan autentikasi Microsoft Entra, Anda juga harus Menonaktifkan autentikasi lokal untuk Application Insights. Konfigurasi ini memerlukan autentikasi Microsoft Entra agar telemetri diserap ke ruang kerja Anda.

APPLICATIONINSIGHTS_CONNECTION_STRING

String koneksi untuk Application Insights. Jangan gunakan dan APPINSIGHTS_INSTRUMENTATIONKEY APPLICATIONINSIGHTS_CONNECTION_STRING. Meskipun penggunaan APPLICATIONINSIGHTS_CONNECTION_STRING disarankan dalam semua kasus, ini diperlukan dalam kasus berikut:

  • Saat aplikasi fungsi Anda memerlukan penyesuaian tambahan yang didukung dengan menggunakan string koneksi.
  • Saat instans Application Insights berjalan di sovereign cloud, yang memerlukan titik akhir kustom.

Untuk informasi selengkapnya, lihat String koneksi.

Tombol Sampel nilai
APPLICATIONINSIGHTS_CONNECTION_STRING InstrumentationKey=...

Untuk menyambungkan ke Application Insights dengan autentikasi Microsoft Entra, Anda harus menggunakan APPLICATIONINSIGHTS_AUTHENTICATION_STRING.

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

Penting

Proksi Azure Functions adalah fitur warisan untuk versi 1.x hingga 3.x dari runtime Azure Functions. Untuk informasi selengkapnya tentang dukungan warisan di versi 4.x, lihat Proksi Functions.

Secara default, proksi Functionsmenggunakan pintasan untuk mengirim panggilan API dari proksi langsung ke fungsi di aplikasi fungsi yang sama. Pintasan ini digunakan alih-alih membuat permintaan HTTP baru. Pengaturan ini membuat Anda dapat menonaktifkan perilaku pintasan tersebut.

Tombol Nilai Deskripsi
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true Panggilan dengan URL backend yang menunjuk ke fungsi di aplikasi fungsi lokal tidak akan dikirim langsung ke fungsi tersebut. Sebaliknya, permintaan diarahkan kembali ke frontend HTTP untuk aplikasi fungsi.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL false Panggilan dengan URL backend yang menunjuk ke fungsi di aplikasi fungsi lokal diteruskan langsung ke fungsi. false merupakan nilai defaultnya.

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

Penting

Proksi Azure Functions adalah fitur warisan untuk versi 1.x hingga 3.x dari runtime Azure Functions. Untuk informasi selengkapnya tentang dukungan warisan di versi 4.x, lihat Proksi Functions.

Pengaturan ini mengontrol apakah karakter %2F didekodekan sebagai garis miring dalam parameter rute saat dimasukkan ke dalam URL backend.

Tombol Nilai Deskripsi
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES true Parameter rute dengan garis miring yang dikodekan dibuka kodenya.
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES false Semua parameter rute diteruskan tanpa perubahan, yang merupakan perilaku default.

Misalnya, pertimbangkan file proxies.json untuk aplikasi fungsi di domain myfunction.com.

{
    "$schema": "http://json.schemastore.org/proxies",
    "proxies": {
        "root": {
            "matchCondition": {
                "route": "/{*all}"
            },
            "backendUri": "example.com/{all}"
        }
    }
}

Ketika AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES diatur ke true, URL example.com/api%2ftest menyelesaikan ke example.com/api/test. Secara default, URL tetap tidak berubah sebagai example.com/test%2fapi. Untuk informasi selengkapnya, lihat Proksi fungsi.

AZURE_FUNCTIONS_ENVIRONMENT

Mengonfigurasi lingkungan hosting runtime aplikasi fungsi saat berjalan di Azure. Nilai ini dibaca selama inisialisasi, dan hanya nilai-nilai ini yang dihormati oleh runtime:

Nilai Deskripsi
Production Mewakili lingkungan produksi, dengan pengurangan pengelogan dan pengoptimalan performa penuh. Ini adalah default ketika AZURE_FUNCTIONS_ENVIRONMENT tidak diatur atau diatur ke nilai yang tidak didukung.
Staging Mewakili lingkungan penahapan, seperti saat berjalan di slot penahapan.
Development Pengembangan dukungan lingkungan pengelogan yang lebih verbose dan pengoptimalan performa lainnya yang berkurang. Azure Functions Core Tools diatur AZURE_FUNCTIONS_ENVIRONMENT ke Development saat berjalan di komputer lokal Anda. Pengaturan ini tidak dapat ditimpa dalam file local.settings.json.

Gunakan pengaturan ini alih-alih ASPNETCORE_ENVIRONMENT saat Anda perlu mengubah lingkungan runtime di Azure menjadi sesuatu selain Production. Untuk informasi selengkapnya, lihat Kelas dan metode Startup berbasis lingkungan.

Pengaturan ini tidak tersedia dalam runtime Functions versi 1.x.

AzureFunctionsJobHost__*

Di versi 2.x dan versi yang lebih baru dari runtime Functions, pengaturan aplikasi dapat mengganti pengaturan host.json di lingkungan saat ini. Penggantian ini dinyatakan sebagai pengaturan aplikasi bernama AzureFunctionsJobHost__path__to__setting. Untuk informasi selengkapnya, lihat Menimpa nilai host.json.

AzureFunctionsWebHost__hostid

Mengatur ID host untuk aplikasi fungsi tertentu, yang seharusnya menjadi ID unik. Pengaturan ini mengambil alih nilai ID host yang dihasilkan secara otomatis untuk aplikasi Anda. Gunakan pengaturan ini hanya saat Anda perlu mencegah tabrakan ID host antara aplikasi fungsi yang berbagi akun penyimpanan yang sama.

ID host harus memenuhi persyaratan berikut:

  • Antara 1 dan 32 karakter
  • hanya berisi huruf kecil, angka, dan tanda hubung
  • Tidak dimulai atau diakhir dengan tanda hubung
  • Tidak berisi tanda hudah berturut-turut

Cara mudah untuk menghasilkan ID adalah dengan mengambil GUID, menghapus tanda hubung, dan membuatnya huruf kecil, seperti dengan mengonversi GUID 1835D7B5-5C98-4790-815D-072CC94C6F71 ke nilai 1835d7b55c984790815d072cc94c6f71.

Tombol Sampel nilai
AzureFunctionsWebHost__hostid myuniquefunctionappname123456789

Untuk informasi selengkapnya, lihat Pertimbangan ID Host.

AzureWebJobsDashboard

Pengaturan ini tidak digunakan lagi dan hanya didukung saat berjalan pada versi 1.x dari runtime Azure Functions.

String koneksi akun penyimpanan opsional untuk menyimpan log dan menampilkannya di tab Monitor di portal. Akun penyimpanan harus merupakan akun tujuan umum yang mendukung blob, antrean, dan tabel. Untuk mempelajari selengkapnya, lihat Persyaratan akun Storage.

Tombol Sampel nilai
AzureWebJobsDashboard DefaultEndpointsProtocol=https;AccountName=...

AzureWebJobsDisableHomepage

Nilai true menonaktifkan halaman arahan default yang ditampilkan untuk URL akar aplikasi fungsi. Nilai defaultnya adalah false.

Tombol Sampel nilai
AzureWebJobsDisableHomepage true

Ketika pengaturan aplikasi ini dihilangkan atau diatur ke false, halaman yang mirip dengan contoh berikut ditampilkan sebagai respons terhadap URL <functionappname>.azurewebsites.net.

Halaman arahan aplikasi fungsi

AzureWebJobsDotNetReleaseCompilation

true berarti menggunakan mode Rilis saat mengompilasi kode .NET; false berarti gunakan mode Debug. Defaultnya adalah true.

Tombol Sampel nilai
AzureWebJobsDotNetReleaseCompilation true

AzureWebJobsFeatureFlags

Daftar fitur beta yang dibatasi koma untuk mengaktifkan. Fitur beta yang diaktifkan oleh bendera ini tidak siap produksi, tetapi dapat diaktifkan untuk penggunaan eksperimental sebelum ditayangkan.

Tombol Sampel nilai
AzureWebJobsFeatureFlags feature1,feature2,EnableProxies

Tambahkan EnableProxies ke daftar ini untuk mengaktifkan kembali proksi pada runtime Functions versi 4.x saat Anda merencanakan migrasi ke Azure API Management. Untuk informasi selengkapnya, lihat Mengaktifkan kembali proksi di Functions v4.x.

AzureWebJobsKubernetesSecretName

Menunjukkan sumber daya Rahasia Kubernetes yang digunakan untuk menyimpan kunci. Hanya didukung saat dijalankan di Kubernetes. Pengaturan ini mengharuskan Anda untuk mengatur AzureWebJobsSecretStorageType ke kubernetes. Ketika AzureWebJobsKubernetesSecretName tidak diatur, repositori dianggap baca saja. Dalam hal ini, nilai harus dihasilkan sebelum penyebaran. Azure Functions Core Tools menghasilkan nilai secara otomatis saat disebarkan ke Kubernetes.

Tombol Sampel nilai
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

Untuk mempelajari selengkapnya, lihat Mengelola penyimpanan kunci.

AzureWebJobsSecretStorageKeyVaultClientId

ID klien identitas terkelola yang ditetapkan pengguna atau pendaftaran aplikasi yang digunakan untuk mengakses vault tempat kunci disimpan. Pengaturan ini mengharuskan Anda untuk mengatur AzureWebJobsSecretStorageType ke keyvault. Didukung di versi 4.x dan versi yang lebih baru dari runtime Functions.

Tombol Sampel nilai
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

Untuk mempelajari selengkapnya, lihat Mengelola penyimpanan kunci.

AzureWebJobsSecretStorageKeyVaultClientSecret

Rahasia ID klien dari identitas terkelola yang ditetapkan pengguna atau pendaftaran aplikasi yang digunakan untuk mengakses brankas tempat kunci disimpan. Pengaturan ini mengharuskan Anda untuk mengatur AzureWebJobsSecretStorageType ke keyvault. Didukung di versi 4.x dan versi yang lebih baru dari runtime Functions.

Tombol Sampel nilai
AzureWebJobsSecretStorageKeyVaultClientSecret <CLIENT_SECRET>

Untuk mempelajari selengkapnya, lihat Mengelola penyimpanan kunci.

AzureWebJobsSecretStorageKeyVaultName

Pengaturan ini tidak digunakan lagi dan hanya digunakan saat berjalan pada versi 3.x dari runtime Azure Functions.

Nama instans brankas kunci yang digunakan untuk menyimpan kunci. Pengaturan ini hanya digunakan dalam runtime Functions versi 3.x, yang tidak lagi didukung. Untuk versi 4.x, sebagai gantinya gunakan AzureWebJobsSecretStorageKeyVaultUri. Pengaturan ini mengharuskan Anda untuk mengatur AzureWebJobsSecretStorageType ke keyvault.

Vault harus memiliki kebijakan akses yang sesuai dengan identitas terkelola sumber daya hosting yang ditetapkan sistem. Kebijakan akses harus memberi identitas izin rahasia berikut: Get,Set, List, dan Delete.
Saat fungsi Anda berjalan secara lokal, identitas pengembang digunakan, dan pengaturan harus berada dalam file local.settings.json.

Tombol Sampel nilai
AzureWebJobsSecretStorageKeyVaultName <VAULT_NAME>

Untuk mempelajari selengkapnya, lihat Mengelola penyimpanan kunci.

AzureWebJobsSecretStorageKeyVaultTenantId

ID penyewa pendaftaran aplikasi yang digunakan untuk mengakses brankas tempat kunci disimpan. Pengaturan ini mengharuskan Anda untuk mengatur AzureWebJobsSecretStorageType ke keyvault. Didukung di versi 4.x dan versi yang lebih baru dari runtime Functions. Untuk mempelajari selengkapnya, lihat Mengelola penyimpanan kunci.

Tombol Sampel nilai
AzureWebJobsSecretStorageKeyVaultTenantId <TENANT_ID>

AzureWebJobsSecretStorageKeyVaultUri

URI instans brankas kunci yang digunakan untuk menyimpan kunci. Didukung di versi 4.x dan versi yang lebih baru dari runtime Functions. Ini adalah pengaturan yang direkomendasikan untuk menggunakan instans brankas kunci untuk penyimpanan kunci. Pengaturan ini mengharuskan Anda untuk mengatur AzureWebJobsSecretStorageType ke keyvault.

Nilai AzureWebJobsSecretStorageKeyVaultUri harus berupa nilai lengkap URI Vault yang ditampilkan di tab gambaran umum Key Vault, termasuk https://.

Vault harus memiliki kebijakan akses yang sesuai dengan identitas terkelola sumber daya hosting yang ditetapkan sistem. Kebijakan akses harus memberi identitas izin rahasia berikut: Get,Set, List, dan Delete.
Saat fungsi Anda berjalan secara lokal, identitas pengembang digunakan, dan pengaturan harus berada dalam file local.settings.json.

Tombol Sampel nilai
AzureWebJobsSecretStorageKeyVaultUri https://<VAULT_NAME>.vault.azure.net

Untuk mempelajari lebih lanjut, lihat Menggunakan referensi Key Vault untuk Azure Functions.

AzureWebJobsSecretStorageSas

URL SAS Blob Storage untuk akun penyimpanan kedua yang digunakan untuk penyimpanan kunci. Secara default, Functions menggunakan akun yang diatur dalam AzureWebJobsStorage. Saat menggunakan opsi penyimpanan rahasia ini, pastikan bahwa AzureWebJobsSecretStorageType tidak diatur atau diatur secara eksplisit ke blob. Untuk mempelajari selengkapnya, lihat Mengelola penyimpanan kunci.

Tombol Sampel nilai
AzureWebJobsSecretStorageSas <BLOB_SAS_URL>

AzureWebJobsSecretStorageType

Menentukan repositori atau penyedia yang akan digunakan untuk penyimpanan kunci. Kunci dienkripsi sebelum disimpan menggunakan kode unik untuk aplikasi fungsi Anda.

Tombol Nilai Deskripsi
AzureWebJobsSecretStorageType blob Kunci disimpan dalam wadah penyimpanan Blob di akun yang disediakan oleh pengaturan AzureWebJobsStorage. Penyimpanan blob adalah perilaku default saat AzureWebJobsSecretStorageType tidak diatur.
Untuk menentukan akun penyimpanan yang berbeda, gunakan pengaturan AzureWebJobsSecretStorageSas untuk menunjukkan URL SAS dari akun penyimpanan kedua.
AzureWebJobsSecretStorageType files Kunci tetap ada pada sistem file. Ini adalah perilaku default untuk Functions v1.x.
AzureWebJobsSecretStorageType keyvault Kunci disimpan dalam instans brankas kunci yang ditetapkan oleh AzureWebJobsSecretStorageKeyVaultName.
AzureWebJobsSecretStorageType kubernetes Hanya didukung saat menjalankan runtime Functions di Kube. Ketika AzureWebJobsKubernetesSecretName tidak diatur, repositori dianggap baca saja. Dalam hal ini, nilai harus dihasilkan sebelum penyebaran. Azure Functions Core Tools menghasilkan nilai secara otomatis saat disebarkan ke Kubernetes.

Untuk mempelajari selengkapnya, lihat Mengelola penyimpanan kunci.

AzureWebJobsStorage

Menentukan string koneksi untuk akun Azure Storage yang digunakan runtime Functions untuk operasi normal. Beberapa penggunaan akun penyimpanan ini oleh Functions termasuk manajemen kunci, manajemen pemicu timer, dan titik pemeriksaan Azure Event Hubs. Akun penyimpanan harus merupakan akun tujuan umum yang mendukung blob, antrean, dan tabel. Untuk informasi selengkapnya, lihat Persyaratan akun Storage.

Tombol Sampel nilai
AzureWebJobsStorage DefaultEndpointsProtocol=https;AccountName=...

Alih-alih string koneksi, Anda dapat menggunakan koneksi berbasis identitas untuk akun penyimpanan ini. Untuk informasi lebih lengkap, lihat Menyambung dengan penyimpanan hos yang memliki identitas.

AzureWebJobsStorage__accountName

Saat menggunakan koneksi penyimpanan berbasis identitas, atur nama akun akun penyimpanan alih-alih menggunakan string koneksi di AzureWebJobsStorage. Sintaks ini unik untuk AzureWebJobsStorage dan tidak dapat digunakan untuk koneksi berbasis identitas lainnya.

Tombol Sampel nilai
AzureWebJobsStorage__accountName <STORAGE_ACCOUNT_NAME>

Untuk sovereign cloud atau saat menggunakan DNS kustom, Anda harus menggunakan pengaturan khusus AzureWebJobsStorage__*ServiceUri layanan.

AzureWebJobsStorage__blobServiceUri

Saat menggunakan koneksi penyimpanan berbasis identitas, atur URI sarana data dari layanan blob akun penyimpanan.

Tombol Sampel nilai
AzureWebJobsStorage__blobServiceUri https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net

Gunakan pengaturan ini alih-alih AzureWebJobsStorage__accountName di sovereign cloud atau saat menggunakan DNS kustom. Untuk informasi lebih lengkap, lihat Menyambung dengan penyimpanan hos yang memliki identitas.

AzureWebJobsStorage__queueServiceUri

Saat menggunakan koneksi penyimpanan berbasis identitas, atur URI sarana data dari layanan antrean akun penyimpanan.

Tombol Sampel nilai
AzureWebJobsStorage__queueServiceUri https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net

Gunakan pengaturan ini alih-alih AzureWebJobsStorage__accountName di sovereign cloud atau saat menggunakan DNS kustom. Untuk informasi lebih lengkap, lihat Menyambung dengan penyimpanan hos yang memliki identitas.

AzureWebJobsStorage__tableServiceUri

Saat menggunakan koneksi penyimpanan berbasis identitas, mengatur URI sarana data dari layanan tabel akun penyimpanan.

Tombol Sampel nilai
AzureWebJobsStorage__tableServiceUri https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net

Gunakan pengaturan ini alih-alih AzureWebJobsStorage__accountName di sovereign cloud atau saat menggunakan DNS kustom. Untuk informasi lebih lengkap, lihat Menyambung dengan penyimpanan hos yang memliki identitas.

AzureWebJobs_TypeScriptPath

Jalur ke kompiler yang digunakan untuk TypeScript. Membuat Anda dapat mengganti defaultnya jika perlu.

Tombol Sampel nilai
AzureWebJobs_TypeScriptPath %HOME%\typescript

DOCKER_REGISTRY_SERVER_PASSWORD

Menunjukkan kata sandi yang digunakan untuk mengakses registri kontainer privat. Pengaturan ini hanya diperlukan saat menyebarkan aplikasi fungsi kontainer Anda dari registri kontainer privat. Untuk informasi selengkapnya, lihat Variabel lingkungan dan pengaturan aplikasi di Azure App Service.

DOCKER_REGISTRY_SERVER_URL

Menunjukkan URL registri kontainer privat. Pengaturan ini hanya diperlukan saat menyebarkan aplikasi fungsi kontainer Anda dari registri kontainer privat. Untuk informasi selengkapnya, lihat Variabel lingkungan dan pengaturan aplikasi di Azure App Service.

DOCKER_REGISTRY_SERVER_USERNAME

Menunjukkan akun yang digunakan untuk mengakses registri kontainer privat. Pengaturan ini hanya diperlukan saat menyebarkan aplikasi fungsi kontainer Anda dari registri kontainer privat. Untuk informasi selengkapnya, lihat Variabel lingkungan dan pengaturan aplikasi di Azure App Service.

DOCKER_SHM_SIZE

Mengatur ukuran memori bersama (dalam byte) saat pekerja Python menggunakan memori bersama. Untuk mempelajari selengkapnya, lihat Memori bersama.

Tombol Sampel nilai
DOCKER_SHM_SIZE 268435456

Nilai di atas menetapkan ukuran memori bersama ~256 MB.

Mengharuskan FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED diatur ke 1.

ENABLE_ORYX_BUILD

Menunjukkan apakah sistem build Oryx digunakan selama penyebaran. ENABLE_ORYX_BUILD harus diatur ke true saat melakukan penyebaran build jarak jauh ke Linux. Untuk informasi selengkapnya, lihat Build jarak jauh.

Tombol Sampel nilai
ENABLE_ORYX_BUILD true

FUNCTION_APP_EDIT_MODE

Menunjukkan apakah Anda dapat mengedit aplikasi fungsi di portal Azure. Nilai yang berlaku adalah readwrite atau readonly.

Tombol Sampel nilai
FUNCTION_APP_EDIT_MODE readonly

Nilai diatur oleh runtime berdasarkan tumpukan bahasa dan status penyebaran aplikasi fungsi Anda. Untuk informasi selengkapnya, lihat Batasan pengembangan di portal Azure.

FUNCTIONS_EXTENSION_VERSION

Versi runtime Functions yang menjadi host aplikasi fungsi Anda. Tilde (~) dengan versi utama berarti gunakan versi terbaru dari versi utama tersebut (misalnya, ~4). Saat versi minor baru dari versi utama yang sama tersedia, versi tersebut secara otomatis diinstal di aplikasi fungsi.

Tombol Sampel nilai
FUNCTIONS_EXTENSION_VERSION ~4

Nilai versi runtime utama berikut ini didukung:

Nilai Target runtime Komentar
~4 4.x Direkomendasikan
~1 1.x Dukungan berakhir 14 September 2026

Nilai ~4 berarti bahwa aplikasi Anda berjalan pada versi 4.x dari runtime. Nilai ~1 menyematkan aplikasi Anda ke versi 1.x dari runtime. Runtime versi 2.x dan 3.x tidak lagi didukung. Untuk informasi selengkapnya, lihat Ringkasan versi runtime Azure Functions. Jika diminta oleh dukungan untuk menyematkan aplikasi Anda ke versi minor tertentu, gunakan nomor versi lengkap (misalnya, 4.0.12345). Untuk informasi selengkapnya, lihat Cara menargetkan versi runtime Azure Functions.

FUNCTIONS_INPROC_NET8_ENABLED

Menunjukkan apakah ke aplikasi dapat menggunakan .NET 8 pada model dalam proses. Untuk menggunakan .NET 8 pada model dalam proses, nilai ini harus diatur ke 1. Lihat Memperbarui ke target .NET 8 untuk instruksi lengkap, termasuk nilai konfigurasi lain yang diperlukan.

Tombol Sampel nilai
FUNCTIONS_INPROC_NET8_ENABLED 1

Atur ke 0 untuk menonaktifkan dukungan untuk .NET 8 pada model dalam proses.

FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR

Pengaturan aplikasi ini adalah cara sementara bagi aplikasi Node.js untuk mengaktifkan perubahan yang melanggar yang membuat kesalahan titik masuk lebih mudah untuk memecahkan masalah pada Node.js v18 atau lebih rendah. Sangat disarankan untuk menggunakan true, terutama untuk aplikasi model pemrograman v4, yang selalu menggunakan file titik masuk. Perilaku tanpa perubahan yang melanggar (false) mengabaikan kesalahan titik masuk dan tidak mencatatnya di Application Insights.

Dimulai dengan Node.js v20, pengaturan aplikasi tidak berpengaruh dan perilaku perubahan yang melanggar selalu diaktifkan.

Untuk Node.js v18 atau yang lebih rendah, pengaturan aplikasi digunakan, dan perilaku default bergantung pada apakah kesalahan terjadi sebelum atau sesudah fungsi model v4 terdaftar:

  • Jika kesalahan dilemparkan sebelumnya (misalnya jika Anda menggunakan model v3 atau file titik masuk Anda tidak ada), perilaku default cocok false.
  • Jika kesalahan muncul setelah (misalnya jika Anda mencoba mendaftarkan fungsi model duplikat v4), perilaku default cocok truedengan .
Tombol Nilai Deskripsi
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR true Blokir kesalahan titik masuk dan catat di Application Insights.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR false Abaikan kesalahan titik entri dan jangan catat di Application Insights.

FUNCTIONS_REQUEST_BODY_SIZE_LIMIT

Mengambil alih batas default pada ukuran isi permintaan yang dikirim ke titik akhir HTTP. Nilai diberikan dalam byte, dengan ukuran permintaan maksimum default 104857600 byte.

Tombol Sampel nilai
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT 250000000

FUNCTIONS_V2_COMPATIBILITY_MODE

Penting

Pengaturan ini tidak lagi didukung. Awalnya disediakan untuk mengaktifkan solusi jangka pendek untuk aplikasi yang menargetkan runtime v2.x untuk dapat berjalan pada runtime v3.x saat masih didukung. Kecuali untuk aplikasi warisan yang berjalan pada versi 1.x, semua aplikasi fungsi harus berjalan pada versi 4.x dari runtime Functions: FUNCTIONS_EXTENSION_VERSION=~4. Untuk informasi selengkapnya, lihat Ringkasan versi runtime Azure Functions.

FUNCTIONS_WORKER_PROCESS_COUNT

Menentukan jumlah maksimum proses pekerja bahasa, dengan nilai default 1. Nilai maksimum yang diperbolehkan adalah 10. Pemanggilan fungsi didistribusikan secara merata di antara proses pekerja bahasa. Proses pekerja bahasa diluncurkan setiap 10 detik hingga jumlah yang ditetapkan tercapai FUNCTIONS_WORKER_PROCESS_COUNT . Menggunakan beberapa proses pekerja bahasa tidak sama dengan penskalakan. Pertimbangkan untuk menggunakan pengaturan ini saat beban kerja Anda memiliki campuran pemanggilan CPU-terikat dan I/O-terikat. Pengaturan ini berlaku untuk semua runtime bahasa, kecuali untuk .NET yang berjalan dalam proses (FUNCTIONS_WORKER_RUNTIME=dotnet).

Tombol Sampel nilai
FUNCTIONS_WORKER_PROCESS_COUNT 2

FUNCTIONS_WORKER_RUNTIME

Tumpukan bahasa atau bahasa runtime pekerja untuk dimuat di aplikasi fungsi. Ini berhubungan dengan bahasa yang digunakan dalam aplikasi Anda (misalnya, python). Dimulai dengan runtime Azure Functions versi 2.x, aplikasi fungsi tertentu hanya dapat mendukung satu bahasa.

Tombol Sampel nilai
FUNCTIONS_WORKER_RUNTIME node

Nilai yang valid:

Nilai Tumpukan bahasa/bahasa
dotnet C# (pustaka kelas)
C# (skrip)
dotnet-isolated C# (proses pekerja terisolasi)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python
custom Lainnya

FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED

Pengaturan ini memungkinkan pekerja Python menggunakan memori bersama untuk meningkatkan throughput. Aktifkan memori bersama saat aplikasi fungsi Python Anda mengalami penyempitan memori.

Tombol Sampel nilai
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED 1

Dengan mengaktifkan pengaturan ini, Anda dapat menggunakan pengaturan DOCKER_SHM_SIZE untuk mengatur ukuran memori bersama. Untuk mempelajari selengkapnya, lihat Memori bersama.

JAVA_OPTS

Digunakan untuk menyesuaikan komputer virtual Java (JVM) yang digunakan untuk menjalankan fungsi Java Anda saat berjalan pada paket Premium atau Paket khusus. Saat berjalan pada paket Konsumsi, sebagai gantinya gunakan languageWorkers__java__arguments. Untuk informasi selengkapnya, lihat Menyesuaikan JVM.

languageWorkers__java__arguments

Digunakan untuk menyesuaikan komputer virtual Java (JVM) yang digunakan untuk menjalankan fungsi Java Anda saat berjalan pada paket Konsumsi. Pengaturan ini meningkatkan waktu mulai dingin untuk fungsi Java yang berjalan dalam paket Konsumsi. Untuk paket Premium atau Khusus, sebagai gantinya gunakan JAVA_OPTS. Untuk informasi selengkapnya, lihat Menyesuaikan JVM.

MDMaxBackgroundUpgradePeriod

Mengontrol periode pembaruan latar belakang dependensi terkelola untuk aplikasi fungsi PowerShell, dengan nilai default 7.00:00:00 (mingguan).

Setiap proses pekerja PowerShell memulai pemeriksaan untuk peningkatan modul di Galeri PowerShell pada proses mulai dan setiap MDMaxBackgroundUpgradePeriod setelah itu. Saat versi modul baru tersedia di Galeri PowerShell, modul tersebut diinstal ke sistem file dan tersedia untuk pekerja PowerShell. Mengurangi nilai ini memungkinkan aplikasi fungsi Anda mendapatkan versi modul yang lebih baru lebih cepat, tetapi juga meningkatkan penggunaan sumber daya aplikasi (I/O jaringan, CPU, penyimpanan). Meningkatkan nilai ini mengurangi penggunaan sumber daya aplikasi, tetapi juga dapat menunda pengiriman versi modul baru ke aplikasi Anda.

Tombol Sampel nilai
MDMaxBackgroundUpgradePeriod 7.00:00:00

Untuk mempelajari lebih lanjut, lihat Manajemen dependensi.

MDNewSnapshotCheckPeriod

Menentukan seberapa sering setiap pekerja PowerShell memeriksa apakah peningkatan dependensi terkelola telah dipasang. Frekuensi defaultnya adalah 01:00:00 (per jam).

Setelah versi modul baru diinstal ke sistem file, setiap proses pekerja PowerShell harus dimulai ulang. Memulai ulang pekerja PowerShell memengaruhi ketersediaan aplikasi Anda karena dapat mengganggu eksekusi fungsi saat ini. Hingga semua proses pekerja PowerShell dimulai ulang, pemanggilan fungsi dapat menggunakan versi modul lama atau baru. Memulai ulang semua pekerja PowerShell selesai dalam MDNewSnapshotCheckPeriod.

Dalam setiap MDNewSnapshotCheckPeriod, pekerja PowerShell memeriksa apakah peningkatan dependensi yang dikelola telah diinstal atau belum. Ketika pemutakhiran telah diinstal, hidupkan ulang dimulai. Menambah nilai ini mengurangi frekuensi gangguan karena hidupkan ulang. Namun, peningkatan juga dapat meningkatkan waktu selama pemanggilan fungsi dapat menggunakan versi modul lama atau baru, secara nondeterministik.

Tombol Sampel nilai
MDNewSnapshotCheckPeriod 01:00:00

Untuk mempelajari lebih lanjut, lihat Manajemen dependensi.

MDMinBackgroundUpgradePeriod

Jangka waktu setelah pemeriksaan peningkatan dependensi terkelola sebelumnya sebelum pemeriksaan pemutakhiran lainnya dimulai, dengan default 1.00:00:00 (harian).

Untuk menghindari upgrade modul yang berlebihan pada setiap restart Pekerja, pemeriksaan upgrade modul tidak dilakukan ketika ada pekerja yang telah memulai pemeriksaan itu di akhir MDMinBackgroundUpgradePeriod.

Tombol Sampel nilai
MDMinBackgroundUpgradePeriod 1.00:00:00

Untuk mempelajari lebih lanjut, lihat Manajemen dependensi.

PIP_INDEX_URL

Pengaturan ini memungkinkan Anda mengambil alih URL dasar Indeks Paket Python, yang secara default adalah https://pypi.org/simple. Gunakan pengaturan ini saat Anda perlu menjalankan build jarak jauh menggunakan dependensi kustom. Dependensi kustom ini dapat berada dalam repositori indeks paket yang sesuai dengan PEP 503 (API repositori sederhana) atau dalam direktori lokal yang mengikuti format yang sama.

Tombol Sampel nilai
PIP_INDEX_URL http://my.custom.package.repo/simple

Untuk mempelajari selengkapnya, lihat dokumentasi pip untuk --index-url Dependensi kustom di dalam referensi pengembang Python.

PIP_EXTRA_INDEX_URL

Nilai untuk pengaturan ini menunjukkan URL indeks tambahan untuk paket kustom untuk aplikasi Python, untuk digunakan selain --index-url. Gunakan pengaturan ini saat Anda perlu menjalankan build jarak jauh menggunakan dependensi kustom yang ditemukan dalam indeks paket tambahan. Harus mengikuti aturan yang sama dengan --index-url.

Tombol Sampel nilai
PIP_EXTRA_INDEX_URL http://my.custom.package.repo/simple

Untuk mempelajari selengkapnya, lihat dokumentasi pip untuk --extra-index-url Dependensi kustom di dalam referensi pengembang Python.

PROJECT

Pengaturan penyebaran berkelanjutan yang memberi tahu layanan penyebaran Kudu folder di repositori yang terhubung ke lokasi proyek yang dapat disebarkan.

Tombol Sampel nilai
PROJECT WebProject/WebProject.csproj

PYTHON_ISOLATE_WORKER_DEPENDENCIES

Konfigurasi ini khusus untuk aplikasi fungsi Python. Ini mendefinisikan penentuan prioritas urutan pemuatan modul. Secara default, nilai ini diset ke 0.

Tombol Nilai Deskripsi
PYTHON_ISOLATE_WORKER_DEPENDENCIES 0 Prioritaskan memuat pustaka Python dari dependensi pekerja Python internal, yang merupakan perilaku default. Pustaka pihak ketiga yang ditentukan dalam requirements.txt mungkin dibayangi.
PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 Prioritaskan memuat pustaka Python dari paket aplikasi yang ditentukan dalam requirements.txt. Ini mencegah pustaka Anda bertumbuk dengan pustaka worker Python internal.

PYTHON_ENABLE_DEBUG_LOGGING

Mengaktifkan pengelogan tingkat debug di aplikasi fungsi Python. Nilai 1 mengaktifkan pengelogan tingkat debug. Tanpa pengaturan ini atau dengan nilai 0, hanya informasi dan log tingkat yang lebih tinggi yang dikirim dari pekerja Python ke host Functions. Gunakan pengaturan ini saat menelusuri kesalahan atau melacak eksekusi fungsi Python Anda.

Saat men-debug fungsi Python, pastikan untuk juga mengatur debug atau lacak level logging di file host.json, sesuai kebutuhan. Untuk mempelajari selengkapnya, lihat Cara mengonfigurasi pemantauan untuk Azure Functions.

PYTHON_ENABLE_WORKER_EXTENSIONS

Konfigurasi ini khusus untuk aplikasi fungsi Python. Mengatur ini untuk 1 memungkinkan worker memuat ekstensi worker Python yang ditentukan dalam requirements.txt. Ini memungkinkan aplikasi fungsi Anda untuk mengakses fitur baru yang disediakan oleh paket pihak ketiga. Ini juga dapat mengubah perilaku beban fungsi dan pemanggilan di aplikasi Anda. Pastikan ekstensi yang Anda pilih dapat dipercaya karena Anda menanggung risiko menggunakannya. Azure Functions tidak memberikan jaminan tegas ke ekstensi apa pun. Untuk cara menggunakan ekstensi, kunjungi halaman manual ekstensi atau dokumen readme. Secara default, nilai ini diatur ke 0.

Tombol Nilai Deskripsi
PYTHON_ENABLE_WORKER_EXTENSIONS 0 Nonaktifkan ekstensi worker Python apa pun.
PYTHON_ENABLE_WORKER_EXTENSIONS 1 Izinkan worker Python memuat ekstensi dari requirements.txt.

PYTHON_THREADPOOL_THREAD_COUNT

Menentukan jumlah maksimum alur yang akan digunakan pekerja bahasa Python untuk menjalankan pemanggilan fungsi, dengan nilai default 1 untuk versi Python 3.8 dan yang dibawahnya. Untuk versi Python 3.9 ke atas, nilainya diatur ke None. Pengaturan ini tidak menjamin jumlah utas yang akan ditetapkan selama eksekusi. Pengaturan ini membuat Python dapat memperluas jumlah alur ke nilai yang ditentukan. Pengaturan ini hanya berlaku untuk aplikasi fungsi Python. Selain itu, pengaturan ini berlaku ini untuk pemanggilan fungsi sinkron dan bukan untuk korutin.

Tombol Sampel nilai Nilai maks
PYTHON_THREADPOOL_THREAD_COUNT 2 32

SCALE_CONTROLLER_LOGGING_ENABLED

Setelan ini saat ini sedang dalam pratinjau.

Pengaturan ini mengontrol pencatatan dari pengontrol skala Azure Functions. Untuk informasi selengkapnya, lihat Log pengontrol Skala.

Tombol Sampel nilai
SCALE_CONTROLLER_LOGGING_ENABLED AppInsights:Verbose

Nilai untuk kunci ini disediakan dalam format <DESTINATION>:<VERBOSITY>, yang didefinisikan sebagai berikut:

Properti Deskripsi
<DESTINATION> Tujuan pengiriman log. Nilai yang berlaku adalah AppInsights atau Blob.
Saat Anda menggunakan AppInsights, pastikan Application Insights diaktifkan di aplikasi fungsi Anda.
Ketika Anda mengatur tujuan ke Blob, log dibuat dalam kontainer gumpalan bernama azure-functions-scale-controller dalam akun penyimpanan default yang diatur dalam pengaturan aplikasi AzureWebJobsStorage.
<VERBOSITY> Menentukan tingkat pencatatan. Nilai yang didukung adalah None, Warning, dan Verbose.
Ketika diatur ke Verbose, pengontrol skala mencatat alasan untuk setiap perubahan dalam jumlah pekerja, serta informasi tentang pemicu yang memperhitungkan keputusan tersebut. Log verbose termasuk peringatan pemicu dan hash yang digunakan oleh pemicu sebelum dan sesudah pengontrol skala berjalan.

Tip

Perlu diingat bahwa saat Anda membiarkan pencatatan pengontrol skala diaktifkan, itu berdampak pada biaya potensial untuk memantau aplikasi fungsi Anda. Pertimbangkan untuk mengaktifkan pembuatan log hingga Anda mengumpulkan cukup data untuk memahami bagaimana skala pengontrol berperilaku, dan kemudian menonaktifkannya.

SCM_DO_BUILD_DURING_DEPLOYMENT

Mengontrol perilaku build jarak jauh selama penyebaran. Ketika SCM_DO_BUILD_DURING_DEPLOYMENT diatur ke true, proyek dibangun dari jarak jauh selama penyebaran.

Tombol Sampel nilai
SCM_DO_BUILD_DURING_DEPLOYMENT true

SCM_LOGSTREAM_TIMEOUT

Kontrol batas waktu, dalam hitungan detik, saat tersambung ke log streaming. Nilai default adalah 7200 (2 jam).

Tombol Sampel nilai
SCM_LOGSTREAM_TIMEOUT 1800

Nilai sampel 1800 di atas menetapkan batas waktu 30 menit. Untuk informasi selengkapnya, lihat Mengaktifkan log eksekusi streaming di Azure Functions.

WEBSITE_CONTENTAZUREFILECONNECTIONSTRING

String koneksi untuk akun penyimpanan tempat kode dan konfigurasi aplikasi fungsi disimpan dalam rencana penskalaan yang digerakkan oleh peristiwa. Untuk informasi selengkapnya, lihat Pengaturan koneksi akun penyimpanan.

Tombol Sampel nilai
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING DefaultEndpointsProtocol=https;AccountName=...

Pengaturan ini diperlukan untuk aplikasi paket Konsumsi dan Premium Elastis yang berjalan di Windows dan Linux. Pengaturan ini tidak digunakan bagi aplikasi paket Khusus, yang tidak diskalakan secara dinamis oleh Functions.

Mengubah atau menghapus pengaturan ini dapat menyebabkan aplikasi fungsi Anda tidak dimulai. Untuk mempelajari selengkapnya, lihat artikel pemecahan masalah ini.

Azure Files tidak mendukung penggunaan identitas terkelola saat mengakses berbagi file. Untuk informasi selengkapnya, lihat Skenario autentikasi yang didukung Azure Files.

WEBSITE_CONTENTOVERVNET

Penting

WEBSITE_CONTENTOVERVNET adalah pengaturan aplikasi warisan yang telah digantikan oleh properti situs vnetContentShareEnabled .

Nilai 1 membuat aplikasi fungsi Anda dapat menskalakan saat akun penyimpanan Anda dibatasi ke jaringan virtual. Anda harus mengaktifkan pengaturan ini saat membatasi akun penyimpanan Anda ke jaringan virtual. Hanya diperlukan saat menggunakan WEBSITE_CONTENTSHARE dan WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Untuk mempelajari selengkapnya, lihat Membatasi akun penyimpanan Anda ke jaringan virtual.

Tombol Sampel nilai
WEBSITE_CONTENTOVERVNET 1

Pengaturan aplikasi ini diperlukan pada paket Elastic Premium dan Dedicated (App Service) (Standar dan lebih tinggi). Tidak didukung saat menjalankan paket Konsumsi.

Catatan

Anda harus berhati-hati saat merutekan ke berbagi konten di akun penyimpanan yang dibagikan oleh beberapa aplikasi fungsi dalam paket yang sama. Untuk informasi selengkapnya, lihat Perutean yang konsisten melalui jaringan virtual di artikel Pertimbangan penyimpanan.

WEBSITE_CONTENTSHARE

Nama berbagi file yang digunakan Functions untuk menyimpan kode aplikasi fungsi dan file konfigurasi. Konten ini diperlukan oleh rencana penskalakan berbasis peristiwa. Digunakan dengan WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Defaultnya adalah string unik yang dihasilkan oleh runtime, yang dimulai dengan nama aplikasi fungsi. Untuk informasi selengkapnya, lihat Pengaturan koneksi akun penyimpanan.

Tombol Sampel nilai
WEBSITE_CONTENTSHARE functionapp091999e2

Pengaturan ini digunakan bagi aplikasi paket Konsumsi dan Premium pada Windows dan Linux. Pengaturan ini tidak digunakan bagi aplikasi paket Khusus, yang tidak diskalakan secara dinamis oleh Functions.

Berbagi dibuat saat aplikasi fungsi Anda dibuat. Mengubah atau menghapus pengaturan ini dapat menyebabkan aplikasi fungsi Anda tidak dimulai. Untuk mempelajari selengkapnya, lihat artikel pemecahan masalah ini.

Pertimbangan berikut berlaku saat menggunakan templat Azure Resource Manager (ARM) atau file Bicep untuk membuat aplikasi fungsi selama penyebaran:

  • Saat Anda tidak menetapkan nilai WEBSITE_CONTENTSHARE untuk aplikasi fungsi utama atau aplikasi apa pun di slot, nilai berbagi unik dibuat untuk Anda. Tidak mengatur WEBSITE_CONTENTSHARE adalah pendekatan yang direkomendasikan untuk penyebaran templat ARM.
  • Ada skenario di mana Anda harus mengatur WEBSITE_CONTENTSHARE nilai ke nilai yang telah ditentukan sebelumnya, seperti saat Anda menggunakan akun penyimpanan aman di jaringan virtual. Dalam hal ini, Anda harus menetapkan nama berbagi unik untuk aplikasi fungsi utama dan aplikasi untuk setiap slot penyebaran. Dalam kasus akun penyimpanan yang diamankan oleh jaringan virtual, Anda juga harus membuat berbagi itu sendiri sebagai bagian dari penyebaran otomatis Anda. Untuk informasi selengkapnya, lihat Penyebaran aman.
  • Jangan membuat WEBSITE_CONTENTSHARE pengaturan slot.
  • Saat Anda menentukan WEBSITE_CONTENTSHARE, nilai harus mengikuti panduan ini untuk nama berbagi.

WEBSITE_DNS_SERVER

Mengatur server DNS yang digunakan oleh aplikasi saat menyelesaikan alamat IP. Pengaturan ini sering diperlukan saat menggunakan fungsionalitas jaringan tertentu, seperti Zona privat Azure DNS dan titik akhir privat.

Tombol Sampel nilai
WEBSITE_DNS_SERVER 168.63.129.16

WEBSITE_ENABLE_BROTLI_ENCODING

Mengontrol apakah pengkodean Brotli digunakan untuk kompresi alih-alih kompresi gzip default. Saat WEBSITE_ENABLE_BROTLI_ENCODING diatur ke 1, pengkodean Brotli digunakan; jika tidak, pengkodean gzip digunakan.

WEBSITE_FUNCTIONS_ARMCACHE_ENABLED

Menonaktifkan penembolokan saat menyebarkan aplikasi fungsi menggunakan templat Azure Resource Manager (ARM).

Tombol Sampel nilai
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED 0

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

Jumlah maksimum instans yang dapat diperluas skalanya oleh aplikasi. Defaultnya adalah tidak terbatas.

Penting

Pengaturan ini dalam tinjauan. Properti aplikasi untuk peluasan skala maksimum fungsi telah ditambahkan dan merupakan cara yang disarankan untuk membatasi peluasan skala.

Tombol Sampel nilai
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 5

WEBSITE_NODE_DEFAULT_VERSION

Hanya Windows. Mengatur versi aplikasi Node.js digunakan saat menjalankan aplikasi fungsi Anda di Windows. Anda harus menggunakan tilde (~) agar runtime menggunakan versi terbaru yang tersedia dari versi utama yang ditargetkan. Misalnya, ketika diatur ke ~18, versi terbaru Node.js 18 digunakan. Saat versi utama ditargetkan dengan tilde, Anda tidak perlu memperbarui versi minor secara manual.

Tombol Sampel nilai
WEBSITE_NODE_DEFAULT_VERSION ~18

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS

Saat melakukan pertukaran slot pada aplikasi fungsi yang berjalan pada paket Premium, pertukaran dapat gagal ketika akun penyimpanan khusus yang digunakan oleh aplikasi dibatasi jaringan. Kegagalan ini disebabkan oleh fitur pengelogan aplikasi warisan, yang dibagikan oleh Functions dan App Service. Pengaturan ini mengambil alih fitur pengelogan warisan dan memungkinkan pertukaran terjadi.

Tombol Sampel nilai
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS 0

Tambahkan WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS dengan nilai 0 ke semua slot untuk memastikan bahwa pengaturan diagnostik warisan tidak memblokir pertukaran Anda. Anda juga dapat menambahkan pengaturan dan nilai ini hanya ke slot produksi sebagai pengaturan slot penyebaran (lengket).

WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS

Secara default, pengaturan versi untuk aplikasi fungsi khusus untuk setiap slot. Pengaturan ini digunakan saat meningkatkan fungsi dengan menggunakan slot penyebaran. Hal ini mencegah perilaku tak terduga karena mengubah versi setelah pertukaran. Atur ke 0 dalam produksi dan dalam slot untuk memastikan bahwa semua pengaturan versi juga ditukar. Untuk informasi selengkapnya, lihat Meningkatkan menggunakan slot.

Tombol Sampel nilai
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 0

WEBSITE_RUN_FROM_PACKAGE

Memungkinkan aplikasi fungsi Anda berjalan dari file paket, yang dapat dipasang atau disebarkan secara lokal ke URL eksternal.

Tombol Sampel nilai
WEBSITE_RUN_FROM_PACKAGE 1

Nilai yang valid adalah URL yang diselesaikan ke lokasi file paket penyebaran eksternal, atau 1. Ketika diatur ke 1, paket harus berada di folder d:\home\data\SitePackages. Saat Anda menggunakan penyebaran zip dengan WEBSITE_RUN_FROM_PACKAGE diaktifkan, paket secara otomatis diunggah ke lokasi ini. Dalam pratinjau, pengaturan ini diberi nama WEBSITE_RUN_FROM_ZIP. Untuk informasi selengkapnya, lihat Menjalankan fungsi Anda dari file paket penerapan.

Saat menyebarkan dari URL paket eksternal, Anda juga harus menyinkronkan pemicu secara manual. Untuk informasi selengkapnya, lihat Sinkronisasi pemicu.

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

Pengaturan WEBSITE_CONTENTAZUREFILECONNECTIONSTRING dan WEBSITE_CONTENTSHARE memiliki pemeriksaan validasi tambahan untuk memastikan bahwa aplikasi dapat dimulai dengan benar. Pembuatan pengaturan aplikasi gagal ketika aplikasi fungsi tidak dapat memanggil Akun Penyimpanan hilir atau Key Vault dengan benar karena kendala jaringan atau faktor pembatas lainnya. Ketika WEBSITE_SKIP_CONTENTSHARE_VALIDATION diatur ke 1, pemeriksaan validasi dilewati; jika tidak, nilai default ke 0 dan validasi terjadi.

Tombol Sampel nilai
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 1

Jika validasi dilewati dan berbagi string koneksi atau konten tidak valid, aplikasi tidak akan dapat memulai dengan benar. Dalam hal ini, fungsi mengembalikan kesalahan HTTP 500. Untuk informasi selengkapnya, lihat Memecahkan masalah kesalahan: "Runtime Azure Functions tidak dapat dijangkau"

WEBSITE_SLOT_NAME

Baca-saja. Nama slot penyebaran saat ini. Nama slot produksi adalah Production.

Tombol Sampel nilai
WEBSITE_SLOT_NAME Production

WEBSITE_TIME_ZONE

Memungkinkan Anda mengatur zona waktu untuk aplikasi fungsi Anda.

Tombol OS Sampel nilai
WEBSITE_TIME_ZONE Windows Eastern Standard Time
WEBSITE_TIME_ZONE Linux America/New_York

Zona waktu yang digunakan dengan ekspresi CRON adalah Waktu Universal Terkoordinasi (UTC). Agar ekspresi CRON Anda berjalan berdasarkan zona waktu lain, buat setelan aplikasi untuk aplikasi fungsi Anda yang bernama WEBSITE_TIME_ZONE.

Nilai pengaturan ini bergantung pada sistem operasi dan rencana tempat aplikasi fungsi Anda berjalan.

Sistem operasi Paket Nilai
Windows Semua Atur nilai ke nama zona waktu yang diinginkan seperti yang diberikan oleh baris kedua dari setiap pasangan yang diberikan oleh perintah Windows tzutil.exe /L
Linux Premium
Khusus
Atur nilai ke nama zona waktu yang diinginkan seperti yang ditunjukkan dalam tz database.

Catatan

WEBSITE_TIME_ZONE dan TZ saat ini tidak didukung saat berjalan di Linux dalam paket Konsumsi. Dalam hal ini, mengatur WEBSITE_TIME_ZONE atau TZ dapat membuat masalah terkait SSL dan menyebabkan metrik berhenti berfungsi untuk aplikasi Anda.

Misalnya, Waktu Timur di AS (diwakili oleh Eastern Standard Time (Windows) atau America/New_York (Linux)) saat ini menggunakan UTC-05:00 selama waktu standar dan UTC-04:00 selama siang hari. Untuk memiliki fire pemicu timer pada pukul 10.00 Waktu Timur setiap hari, buat pengaturan aplikasi untuk aplikasi fungsi Anda bernama WEBSITE_TIME_ZONE, atur nilai ke Eastern Standard Time (Windows) atau America/New_York (Linux), lalu gunakan ekspresi NCRONTAB berikut:

"0 0 10 * * *"

Saat Anda menggunakan WEBSITE_TIME_ZONE waktu disesuaikan untuk perubahan waktu dalam zona waktu tertentu, termasuk waktu musim panas dan perubahan waktu standar.

WEBSITE_USE_PLACEHOLDER

Menunjukkan apakah akan menggunakan pengoptimalan cold start tertentu saat berjalan pada paket Konsumsi. Atur ke 0 untuk menonaktifkan pengoptimalan cold-start pada paket Konsumsi.

Tombol Sampel nilai
WEBSITE_USE_PLACEHOLDER 1

WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED

Menunjukkan apakah akan menggunakan pengoptimalan cold start tertentu saat menjalankan fungsi proses pekerja terisolasi .NET pada paket Konsumsi. Atur ke 0 untuk menonaktifkan pengoptimalan cold-start pada paket Konsumsi.

Tombol Sampel nilai
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED 1

WEBSITE_VNET_ROUTE_ALL

Penting

WEBSITE_VNET_ROUTE_ALL adalah pengaturan aplikasi warisan yang telah digantikan oleh pengaturan situs vnetRouteAllEnabled .

Menunjukkan apakah semua lalu lintas keluar dari aplikasi dirutekan melalui jaringan virtual. Nilai 1 pengaturan menunjukkan bahwa semua lalu lintas aplikasi dirutekan melalui jaringan virtual. Anda akan memerlukan pengaturan ini saat mengonfigurasi integrasi jaringan virtual Regional dalam paket hosting Elastic Premium dan Dedicated. Ini juga digunakan ketika jaringan virtual NAT gateway digunakan untuk menentukan alamat IP keluar statis.

Tombol Sampel nilai
WEBSITE_VNET_ROUTE_ALL 1

WEBSITES_ENABLE_APP_SERVICE_STORAGE

Menunjukkan apakah /home direktori dibagikan di seluruh instans berskala, dengan nilai truedefault . Anda harus mengatur ini ke false saat menyebarkan aplikasi fungsi Anda dalam kontainer.

Pengaturan situs App Service

Beberapa konfigurasi harus dipertahankan di tingkat App Service sebagai pengaturan situs, seperti versi bahasa. Pengaturan ini dikelola di portal, dengan menggunakan REST API, atau dengan menggunakan Azure CLI atau Azure PowerShell. Berikut ini adalah pengaturan situs yang mungkin diperlukan, tergantung pada bahasa, OS, dan versi runtime Anda:

alwaysOn

Pada aplikasi fungsi yang berjalan dalam paket Khusus (App Service), runtime Functions tidak aktif setelah beberapa menit tidak aktif, yang mengarahkan hanya permintaan ke pemicu HTTP membangunkan aplikasi fungsi Anda. Untuk memastikan bahwa fungsi yang dipicu non-HTTP Anda berjalan dengan benar, termasuk fungsi pemicu Timer, aktifkan Always On untuk aplikasi fungsi dengan mengatur alwaysOn pengaturan situs ke nilai true.

functionsRuntimeAdminIsolationEnabled

Menentukan apakah titik akhir administrator bawaan (/admin) di aplikasi fungsi Anda dapat diakses. Saat diatur ke false (default), aplikasi memungkinkan permintaan ke titik akhir saat /admin permintaan tersebut menyajikan kunci master dalam permintaan. Ketika true, /admin titik akhir tidak dapat diakses, bahkan dengan kunci master.

Properti ini tidak dapat diatur untuk aplikasi yang berjalan di Linux Consumption SKU, dan tidak dapat diatur untuk aplikasi yang berjalan pada Azure Functions versi 1.x. Jika Anda menggunakan versi 1.x, Anda harus terlebih dahulu bermigrasi ke versi 4.x.

linuxFxVersion

Untuk aplikasi fungsi yang berjalan di Linux, linuxFxVersion menunjukkan bahasa dan versi untuk proses pekerja khusus bahasa. Informasi ini digunakan, bersama dengan FUNCTIONS_EXTENSION_VERSION, untuk menentukan gambar kontainer Linux tertentu mana yang diinstal untuk menjalankan aplikasi fungsi Anda. Pengaturan ini dapat diatur ke nilai yang telah ditentukan sebelumnya atau URI gambar kustom.

Nilai ini diatur untuk Anda saat Membuat aplikasi fungsi Linux. Anda mungkin perlu mengaturnya untuk templat ARM dan penyebaran Bicep dan dalam skenario peningkatan tertentu.

Nilai linuxFxVersion yang valid

Anda bisa menggunakan perintah Azure CLI berikut untuk melihat tabel nilai saat ini linuxFxVersion , dengan versi runtime Functions yang didukung:

az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table

Perintah sebelumnya mengharuskan Anda untuk meningkatkan ke versi 2.40 dari Azure CLI.

Gambar kustom

Saat Anda membuat dan memelihara kontainer linux kustom Anda sendiri untuk aplikasi fungsi Anda, linuxFxVersion nilainya adalah dalam format DOCKER|<IMAGE_URI>, seperti dalam contoh berikut:

linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"

Ini menunjukkan sumber registri kontainer yang disebarkan. Untuk informasi selengkapnya, lihat Bekerja dengan kontainer dan Azure Functions.

Penting

Saat membuat kontainer Anda sendiri, Anda diharuskan untuk menjaga gambar dasar kontainer Anda diperbarui ke gambar dasar terbaru yang didukung. Gambar dasar yang didukung untuk Azure Functions khusus bahasa dan ditemukan di repositori gambar dasar Azure Functions.

Tim Functions berkomitmen untuk menerbitkan pembaruan bulanan untuk gambar dasar ini. Pembaruan reguler mencakup pembaruan versi minor terbaru dan perbaikan keamanan untuk runtime Functions dan bahasa. Anda harus memperbarui kontainer Anda secara teratur dari gambar dasar terbaru dan menyebarkan ulang versi kontainer Anda yang diperbarui.

netFrameworkVersion

Mengatur versi spesifik .NET untuk fungsi C#. Untuk informasi selengkapnya, lihat Memperbarui aplikasi fungsi Anda di Azure.

powerShellVersion

Mengatur versi PowerShell tertentu tempat fungsi Anda berjalan. Untuk informasi selengkapnya, lihat Mengubah versi PowerShell.

Saat berjalan secara lokal, Anda menggunakan FUNCTIONS_WORKER_RUNTIME_VERSION pengaturan dalam file local.settings.json.

vnetContentShareEnabled

Aplikasi yang berjalan dalam paket Premium menggunakan berbagi file untuk menyimpan konten. Nama berbagi konten ini disimpan dalam WEBSITE_CONTENTSHARE pengaturan aplikasi dan string koneksi disimpan di WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Untuk merutekan lalu lintas antara aplikasi fungsi dan berbagi konten melalui jaringan virtual, Anda juga harus mengatur vnetContentShareEnabled ke true. Mengaktifkan properti situs ini adalah persyaratan saat membatasi akun penyimpanan Anda ke jaringan virtual dalam paket hosting Elastic Premium dan Dedicated.

Catatan

Anda harus berhati-hati saat merutekan ke berbagi konten di akun penyimpanan yang dibagikan oleh beberapa aplikasi fungsi dalam paket yang sama. Untuk informasi selengkapnya, lihat Perutean yang konsisten melalui jaringan virtual di artikel Pertimbangan penyimpanan.

Properti situs ini menggantikan pengaturan warisan WEBSITE_CONTENTOVERVNET .

vnetImagePullEnabled

Functions mendukung aplikasi fungsi yang berjalan di kontainer Linux. Untuk menyambungkan dan menarik dari registri kontainer di dalam jaringan virtual, Anda harus mengatur vnetImagePullEnabled ke true. Properti situs ini didukung dalam paket hosting Elastic Premium dan Dedicated. Paket Konsumsi Flex tidak bergantung pada properti situs atau pengaturan aplikasi untuk mengonfigurasi Jaringan. Untuk informasi selengkapnya, lihat Penghentian paket Konsumsi Flex.

vnetRouteAllEnabled

Menunjukkan apakah semua lalu lintas keluar dari aplikasi dirutekan melalui jaringan virtual. Nilai true pengaturan menunjukkan bahwa semua lalu lintas aplikasi dirutekan melalui jaringan virtual. Gunakan pengaturan ini saat mengonfigurasi integrasi jaringan virtual Regional dalam paket Elastic Premium dan Dedicated. Ini juga digunakan ketika jaringan virtual NAT gateway digunakan untuk menentukan alamat IP keluar statis. Untuk informasi selengkapnya, lihat Mengonfigurasi perutean aplikasi.

Pengaturan situs ini menggantikan pengaturan WEBSITE_VNET_ROUTE_ALL warisan.

Penghentian paket Konsumsi Flex

Dalam paket Konsumsi Flex, properti situs dan pengaturan aplikasi ini tidak digunakan lagi dan tidak boleh digunakan saat membuat sumber daya aplikasi fungsi:

Pengaturan/properti Alasan
ENABLE_ORYX_BUILD Digantikan oleh remoteBuild parameter saat menyebarkan dalam Konsumsi Flex
FUNCTIONS_EXTENSION_VERSION Pengaturan Aplikasi diatur oleh backend. Nilai ~1 dapat diabaikan.
FUNCTIONS_WORKER_RUNTIME Digantikan oleh name dalam properties.functionAppConfig.runtime
FUNCTIONS_WORKER_RUNTIME_VERSION Digantikan oleh version dalam properties.functionAppConfig.runtime
FUNCTIONS_MAX_HTTP_CONCURRENCY Digantikan oleh bagian pemicu skala dan konkurensi
FUNCTIONS_WORKER_PROCESS_COUNT Pengaturan tidak valid
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED Pengaturan tidak valid
SCM_DO_BUILD_DURING_DEPLOYMENT Digantikan oleh remoteBuild parameter saat menyebarkan dalam Konsumsi Flex
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Digantikan oleh bagian penyebaran functionAppConfig
WEBSITE_CONTENTOVERVNET Tidak digunakan untuk jaringan dalam Konsumsi Flex
WEBSITE_CONTENTSHARE Digantikan oleh bagian penyebaran functionAppConfig
WEBSITE_DNS_SERVER DNS diwarisi dari VNet terintegrasi di Flex
WEBSITE_NODE_DEFAULT_VERSION Digantikan oleh version dalam properties.functionAppConfig.runtime
WEBSITE_RUN_FROM_PACKAGE Tidak digunakan untuk penyebaran dalam Konsumsi Flex
WEBSITE_SKIP_CONTENTSHARE_VALIDATION Berbagi konten tidak digunakan dalam Konsumsi Flex
WEBSITE_VNET_ROUTE_ALL Tidak digunakan untuk jaringan dalam Konsumsi Flex
properties.alwaysOn Tidak valid
properties.containerSize Diganti namanya menjadi instanceMemoryMB
properties.ftpsState FTPS tidak didukung
properties.isReserved Tidak valid
properties.IsXenon Tidak valid
properties.javaVersion Digantikan oleh version dalam properties.functionAppConfig.runtime
properties.LinuxFxVersion Digantikan oleh properties.functionAppConfig.runtime
properties.netFrameworkVersion Digantikan oleh version dalam properties.functionAppConfig.runtime
properties.powerShellVersion Digantikan oleh version dalam properties.functionAppConfig.runtime
properties.siteConfig.functionAppScaleLimit Diganti namanya menjadi maximumInstanceCount
properties.siteConfig.preWarmedInstanceCount Diganti namanya menjadi alwaysReadyInstances
properties.use32BitWorkerProcess 32-bit tidak didukung
properties.vnetBackupRestoreEnabled Tidak digunakan untuk jaringan dalam Konsumsi Flex
properties.vnetContentShareEnabled Tidak digunakan untuk jaringan dalam Konsumsi Flex
properties.vnetImagePullEnabled Tidak digunakan untuk jaringan dalam Konsumsi Flex
properties.vnetRouteAllEnabled Tidak digunakan untuk jaringan dalam Konsumsi Flex
properties.windowsFxVersion Tidak valid

Langkah berikutnya

Pelajari cara memperbarui pengaturan aplikasi

Lihat pengaturan global di file host.json

Lihat pengaturan aplikasi lain untuk aplikasi App Service