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.
File metadata host.json berisi opsi konfigurasi yang memengaruhi semua fungsi di instans aplikasi fungsi. Artikel ini mencantumkan pengaturan yang tersedia untuk versi runtime 1.x. Skema JSON adalah pada http://json.schemastore.org/host.
Catatan
Artikel ini untuk Azure Functions 1.x. Untuk referensi host.json di Functions 2.x dan versi yang lebih baru, lihat referensi host.json untuk Azure Functions 2.x.
Opsi konfigurasi aplikasi fungsi lainnya dikelola di pengaturan aplikasi Anda.
Beberapa pengaturan host.json hanya digunakan saat menjalankan secara lokal di file local.settings.json.
Contoh file host.json
Contoh file host.json berikut memiliki semua opsi yang mungkin ditentukan.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
},
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
},
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix"
}
},
"eventHub": {
"maxBatchSize": 64,
"prefetchCount": 256,
"batchCheckpointFrequency": 1
},
"functions": [ "QueueProcessor", "GitHubWebHook" ],
"functionTimeout": "00:05:00",
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
},
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 20,
"maxConcurrentRequests": 10,
"dynamicThrottlesEnabled": false
},
"id": "9f4ea53c5136457d883d685e57164f08",
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
},
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
},
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
},
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
},
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
},
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
},
"watchDirectories": [ "Shared" ],
}
Bagian berikut dari artikel ini menjelaskan setiap properti tingkat atas. Semua bersifat opsional kecuali dinyatakan lain.
pengumpul
Menentukan berapa banyak pemanggilan fungsi yang diagregasi saat menghitung metrik untuk Application Insights.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
}
}
| Properti | Bawaan | Deskripsi |
|---|---|---|
| Ukuran batch | 1000 | Jumlah maksimum permintaan untuk dikumpulkan. |
| flushTimeout | 00:00:30 | Periode waktu maksimum untuk mengagregasi. |
Pemanggilan fungsi diagregasi ketika batasan pertama dari dua batas tercapai.
applicationInsights
Mengontrol fitur pengambilan sampel di Application Insights.
{
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
}
}
| Properti | Bawaan | Deskripsi |
|---|---|---|
| Diaktifkan | benar | Mengaktifkan atau menonaktifkan pengambilan sampel. |
| maksJumlahItemTelemetryPerDetik | 5 | Ambang batas ketika pengambilan sampel dimulai. |
DocumentDB
Pengaturan konfigurasi untuk pemicu dan pengikatan pada Azure Cosmos DB.
{
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
| Properti | Bawaan | Deskripsi |
|---|---|---|
| GatewayMode | Gerbang Jaringan | Mode koneksi yang digunakan oleh fungsi saat menyambungkan ke layanan Azure Cosmos DB. Opsinya adalah Direct dan Gateway |
| Protokol | Https | Protokol koneksi yang digunakan oleh fungsi saat tersambung ke layanan Azure Cosmos DB. Baca di sini untuk penjelasan kedua mode tersebut |
| awalan sewa | N/a | Prefiks sewa yang digunakan di seluruh fungsi dalam aplikasi. |
tugas tahan lama
Pengaturan konfigurasi untuk Durable Functions.
Catatan
Semua versi utama Durable Functions didukung pada semua versi runtime Azure Functions. Namun, skema konfigurasi host.json sedikit berbeda tergantung pada versi runtime Azure Functions dan versi ekstensi Durable Functions yang Anda gunakan.
Kode berikut menyediakan dua contoh durableTask pengaturan di host.json: satu untuk Durable Functions 2.x dan satu untuk Durable Functions 1.x. Anda dapat menggunakan kedua contoh dengan Azure Functions 2.0 dan 3.0. Dengan Azure Functions 1.0, pengaturan yang tersedia sama, tetapi durableTask bagian host.json terletak di akar konfigurasi host.json alih-alih menjadi bidang di bawah extensions.
{
"extensions": {
"durableTask": {
"hubName": "MyTaskHub",
"defaultVersion": "1.0",
"versionMatchStrategy": "CurrentOrOlder",
"versionFailureStrategy": "Reject",
"storageProvider": {
"connectionStringName": "AzureWebJobsStorage",
"controlQueueBatchSize": 32,
"controlQueueBufferThreshold": 256,
"controlQueueVisibilityTimeout": "00:05:00",
"FetchLargeMessagesAutomatically": true,
"maxQueuePollingInterval": "00:00:30",
"partitionCount": 4,
"trackingStoreConnectionStringName": "TrackingStorage",
"trackingStoreNamePrefix": "DurableTask",
"useLegacyPartitionManagement": false,
"useTablePartitionManagement": true,
"workItemQueueVisibilityTimeout": "00:05:00",
"QueueClientMessageEncoding": "UTF8"
},
"tracing": {
"traceInputsAndOutputs": false,
"traceReplayEvents": false,
},
"notifications": {
"eventGrid": {
"topicEndpoint": "https://topic_name.westus2-1.eventgrid.azure.net/api/events",
"keySettingName": "EventGridKey",
"publishRetryCount": 3,
"publishRetryInterval": "00:00:30",
"publishEventTypes": [
"Started",
"Completed",
"Failed",
"Terminated"
]
}
},
"maxConcurrentActivityFunctions": 10,
"maxConcurrentOrchestratorFunctions": 10,
"maxConcurrentEntityFunctions": 10,
"extendedSessionsEnabled": false,
"extendedSessionIdleTimeoutInSeconds": 30,
"useAppLease": true,
"useGracefulShutdown": false,
"maxEntityOperationBatchSize": 50,
"maxOrchestrationActions": 100000,
"storeInputsInOrchestrationHistory": false
}
}
}
| Properti | Nilai standar | Deskripsi |
|---|---|---|
| hubName | TestHubName (DurableFunctionsHub di v1.x) | Nama hub yang menyimpan status aplikasi fungsi saat ini. Nama hub tugas harus dimulai dengan huruf dan hanya terdiri atas huruf dan angka. Jika Anda tidak menentukan nama, nilai default akan digunakan. Nama hub tugas alternatif dapat digunakan untuk mengisolasi beberapa aplikasi Durable Functions satu sama lain, bahkan jika mereka menggunakan back end penyimpanan yang sama. Untuk informasi selengkapnya, lihat Hub tugas. |
| defaultVersi | Versi default yang ditetapkan untuk instans orkestrasi baru. Ketika Anda menentukan sebuah versi, instans-instan orkestrasi baru secara permanen akan dikaitkan dengan nilai versi tersebut. Pengaturan ini digunakan oleh fitur versi orkestrasi untuk mengaktifkan skenario seperti penyebaran tanpa waktu henti dengan perubahan besar. Anda dapat menggunakan nilai string apa pun untuk versi tersebut. | |
| versionMatchStrategy | TerkiniAtauLebihLama | Nilai yang menentukan bagaimana versi orkestrasi dicocokkan saat fungsi orkestrator dimuat. Nilai yang valid adalah None, Strict, dan CurrentOrOlder. Untuk penjelasan terperinci, lihat Versi orkestrasi. |
| strategi kegagalan versi | Menolak | Nilai yang menentukan apa yang terjadi ketika versi orkestrasi tidak cocok dengan nilai saat ini defaultVersion . Nilai yang berlaku adalah Reject atau Fail. Untuk penjelasan terperinci, lihat Penerapan versi orkestrasi. |
| controlQueueBatchSize | 32 | Jumlah pesan yang harus ditarik dari antrean kontrol sekaligus. |
| Ambang Batas Penyangga Antrian Kontrol |
Paket konsumsi untuk Python: 32 Paket konsumsi untuk bahasa lain: 128 Paket Khusus atau Premium: 256 |
Jumlah pesan antrean kontrol yang dapat di-buffer dalam memori pada satu waktu. Ketika nomor yang ditentukan tercapai, dispatcher menunggu sebelum membatalkan antrean pesan lain. Dalam beberapa situasi, mengurangi nilai ini dapat secara signifikan mengurangi konsumsi memori. |
| Jumlah Partisi | 4 | Jumlah partisi untuk antrean kontrol. Nilai ini harus berupa bilangan bulat positif antara 1 dan 16. Mengubah nilai ini memerlukan konfigurasi hub tugas baru. |
| kontrolAntrianWaktuTungguVisibilitas | 00:05:00 | Batas waktu visibilitas pesan antrean kontrol dalam format hh:mm:ss yang telah dikeluarkan dari antrean. |
| TimeoutKeterlihatanAntreanItemKerja | 00:05:00 | Batas waktu visibilitas pesan antrean item kerja yang tidak diantrekan dalam format hh:mm:ss . |
| FetchLargeMessagesAutomatically | benar | Nilai yang menentukan apakah akan mengambil pesan berukuran besar dalam kueri status orkestrasi. Ketika pengaturan ini adalah true, pesan besar yang melebihi batas ukuran antrean diambil. Ketika pengaturan ini adalah false, URL blob yang mengarah ke setiap pesan berukuran besar diambil. |
| maxConcurrentActivityFunctions |
Rencana konsumsi: 10 Paket Khusus atau Premium: 10 kali jumlah prosesor pada komputer saat ini |
Jumlah maksimum fungsi aktivitas yang dapat diproses secara bersamaan pada satu instans hosting. |
| maxConcurrentOrchestratorFunctions |
Rencana Konsumsi: 5 Paket Khusus atau Premium: 10 kali jumlah prosesor pada komputer saat ini |
Jumlah maksimum fungsi orkestrator yang dapat diproses secara bersamaan pada satu instans hosting. |
| maxConcurrentEntityFunctions |
Rencana Konsumsi: 5 Paket Khusus atau Premium: 10 kali jumlah prosesor pada komputer saat ini |
Jumlah maksimum fungsi entitas yang dapat diproses secara bersamaan pada satu instans host. Pengaturan ini hanya berlaku ketika Anda menggunakan penjadwal tugas yang tahan lama. Jika tidak, jumlah maksimum eksekusi entitas bersamaan dibatasi pada nilai maxConcurrentOrchestratorFunctions. |
| maxQueuePollingInterval | 00:00:30 | Kontrol maksimum dan interval polling antrean item kerja dalam format hh:mm:ss . Nilai yang lebih tinggi dapat mengakibatkan keterlambatan pemrosesan pesan yang lebih tinggi. Nilai yang lebih rendah dapat mengakibatkan biaya penyimpanan yang lebih tinggi karena peningkatan transaksi penyimpanan. |
| maxOrchestrationActions | 100,000 | Jumlah maksimum tindakan yang dapat dilakukan fungsi orkestrator selama satu siklus eksekusi. |
| connectionName (v2.7.0 dan yang lebih baru) connectionStringName (v2.x) azureStorageConnectionStringName (v1.x) |
AzureWebJobsStorage | Nama pengaturan aplikasi atau koleksi pengaturan yang menentukan cara terhubung ke sumber daya Azure Storage yang mendasarinya. Saat Anda menyediakan satu pengaturan aplikasi, itu harus berupa string koneksi Azure Storage. |
| trackingStoreConnectionName (v2.7.0 dan yang lebih baru) trackingStoreConnectionStringName |
Nama pengaturan aplikasi atau kumpulan pengaturan yang menentukan cara menyambungkan ke tabel Riwayat dan Instans, yang menyimpan riwayat eksekusi dan metadata tentang instans orkestrasi. Saat Anda menyediakan satu pengaturan aplikasi, itu harus berupa string koneksi Azure Storage. Jika Anda tidak menentukan pengaturan, nilai koneksi connectionStringName (v2.x) atau azureStorageConnectionStringName (v1.x) digunakan. |
|
| trackingStoreNamePrefix | Awalan yang digunakan untuk tabel Riwayat dan Instans ketika trackingStoreConnectionStringName ditentukan. Jika Anda tidak menentukan awalan DurableTask , nilai default digunakan. Jika trackingStoreConnectionStringName tidak ditentukan, tabel Riwayat dan Instans menggunakan hubName nilai sebagai awalannya, dan trackingStoreNamePrefix pengaturan diabaikan. |
|
| jejakMasukanDanKeluaran | salah | Nilai yang menunjukkan apakah akan melacak input dan output panggilan fungsi. Ketika peristiwa eksekusi fungsi ditelusuri, perilaku defaultnya adalah menyertakan jumlah byte dalam input dan output berseri untuk panggilan fungsi. Perilaku ini memberikan informasi minimal tentang input dan output sehingga tidak mengaburkan log atau secara tidak sengaja mengekspos informasi sensitif. Ketika properti ini adalah true, seluruh konten input dan output fungsi dicatat. |
| traceReplayEvents | salah | Nilai yang menunjukkan apakah akan menulis peristiwa pemutaran ulang orkestrasi ke Application Insights. |
| logReplayEvents | salah | Nilai yang menunjukkan apakah akan mencatat eksekusi yang diputar ulang dalam log aplikasi. |
| eventGridTopicEndpoint | URL titik akhir topik kustom Azure Event Grid. Saat Anda mengatur properti ini, peristiwa pemberitahuan siklus hidup orkestrasi diterbitkan ke titik akhir ini. Properti ini mendukung resolusi pengaturan aplikasi. | |
| NamaPengaturanKunciEventGrid | Nama pengaturan aplikasi yang berisi kunci yang digunakan untuk mengautentikasi dengan topik kustom Event Grid di EventGridTopicEndpoint URL. |
|
| penghitunganUlangPenerbitanEventGrid | 0 | Frekuensi untuk mencoba kembali jika penerbitan ke topik Event Grid gagal. |
| eventGridPublikasiCobaUlangInterval | 00:05:00 | Interval jangka waktu ulang-terbit Event Grid dalam format hh:mm:ss. |
| eventGridMenerbitkanJenisAcara | Daftar jenis peristiwa untuk diterbitkan ke Event Grid. Jika Anda tidak menentukan jenis apa pun, semua jenis peristiwa akan diterbitkan. Nilai yang diizinkan termasuk Started, Completed, Failed, dan Terminated. |
|
| sesiDiperpanjangDiaktifkan | salah | Nilai yang menentukan apakah sesi orchestrator dan sesi fungsi entitas di-cache. |
| batasWaktuMenganggurSesiDiperpanjangDalamDetik | 30 | Jumlah detik fungsi orkestrator atau entitas diam tetap dalam memori sebelum dibongkar. Pengaturan ini hanya digunakan ketika extendedSessionsEnabled pengaturan adalah true. |
| useAppLease | benar | Nilai yang menunjukkan apakah aplikasi harus memperoleh penyewaan blob tingkat aplikasi sebelum memproses pesan pada pusat tugas. Untuk informasi selengkapnya, lihat Pemulihan bencana dan distribusi geografis di Durable Functions. Pengaturan ini tersedia mulai dari v2.3.0. |
| gunakanManajemenPartisiLama | salah | Nilai yang menentukan jenis algoritma manajemen partisi yang akan digunakan. Ketika pengaturan ini adalah false, algoritma digunakan yang mengurangi kemungkinan eksekusi fungsi duplikat saat penskalaan keluar. Pengaturan ini tersedia mulai dari v2.3.0.
Mengatur nilai ini ke true tidak disarankan. |
| Penggunaan Table Partition Management | Dalam v3.x: true Dalam v2.x: false |
Nilai yang menentukan jenis algoritma manajemen partisi yang akan digunakan. Saat pengaturan ini adalah true, algoritma digunakan yang dirancang untuk mengurangi biaya untuk akun Azure Storage v2. Pengaturan ini tersedia mulai dari WebJobs.Extensions.DurableTask v2.10.0. Menggunakan pengaturan ini dengan identitas terkelola memerlukan WebJobs.Extensions.DurableTask v3.x atau yang lebih baru, atau Worker.Extensions.DurableTask v1.2.x atau yang lebih baru. |
| gunakan Pemadaman Bertahap | salah | (Pratinjau) Nilai yang menunjukkan apakah akan dimatikan dengan baik untuk mengurangi kemungkinan pematian host yang menyebabkan eksekusi fungsi dalam proses gagal. |
| maxEntityOperationBatchSize |
Rencana konsumsi: 50 Paket Khusus atau Premium: 5.000 |
Jumlah maksimum operasi entitas yang diproses sebagai batch. Jika nilai ini adalah 1, batching akan dinonaktifkan, dan setiap pesan operasi akan diproses oleh pemanggilan fungsi terpisah. Pengaturan ini tersedia mulai dari v2.6.1. |
| simpanInputDalamSejarahOrkestrasi | salah | Nilai yang menentukan cara menyimpan input. Ketika pengaturan ini adalah true, Kerangka Kerja Tugas Tahan Lama menyimpan input aktivitas dalam tabel Riwayat, dan input fungsi aktivitas muncul dalam hasil kueri riwayat orkestrasi. |
| maxGrpcMessageSizeInBytes (ukuran maksimum pesan Grpc dalam byte) | 4,194,304 | Nilai bilangan bulat yang mengatur ukuran maksimum, dalam byte, dari pesan yang dapat diterima klien Panggilan Prosedur Jarak Jauh (gRPC) umum. Implementasi DurableTaskClient menggunakan klien gRPC untuk mengelola instans orkestrasi. Pengaturan ini berlaku untuk pekerja terisolasi .NET Durable Functions dan aplikasi Java. |
| grpcHttpClientTimeout | 00:01:40 | Batas waktu dalam format hh:mm:ss untuk klien HTTP yang digunakan oleh klien gRPC dalam Durable Functions. Klien saat ini didukung untuk aplikasi pekerja terisolasi .NET (.NET 6 dan versi yang lebih baru) dan untuk aplikasi Java. |
| QueueClientMessageEncoding | UTF8 | Strategi pengodean untuk pesan Azure Queue Storage. Strategi yang valid adalah Format Transformasi Unicode–8-bit (UTF8) dan Base64. Pengaturan ini berlaku saat Anda menggunakan Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 atau yang lebih baru, atau Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 atau yang lebih baru. |
Banyak dari pengaturan ini untuk mengoptimalkan performa. Untuk informasi selengkapnya, lihat Performa dan skala.
eventHub
Pengaturan konfigurasi untuk pemicu dan pengikatan Event Hub .
fungsi
Daftar fungsi yang dijalankan oleh host pekerjaan. Larik kosong menandakan menjalankan semua fungsi. Ditujukan untuk digunakan hanya ketika berjalan secara lokal. Di aplikasi fungsi di Azure, Anda harus mengikuti langkah-langkah dalam Cara menonaktifkan fungsi di Azure Functions untuk menonaktifkan fungsi tertentu alih-alih menggunakan pengaturan ini.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
FungsiBatasWaktu
Menunjukkan durasi batas waktu untuk semua fungsi. Dalam paket Konsumsi tanpa server, kisaran yang valid adalah dari 1 detik hingga 10 menit, dan nilai defaultnya adalah 5 menit. Dalam paket App Service, tidak ada batas keseluruhan dan defaultnya adalah null, yang menunjukkan tidak ada batas waktu.
{
"functionTimeout": "00:05:00"
}
pemantau kesehatan
Pengaturan konfigurasi untuk monitor kesehatan Host.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
| Properti | Bawaan | Deskripsi |
|---|---|---|
| diaktifkan | benar | Menentukan apakah fitur diaktifkan. |
| intervalPemeriksaanKesehatan | 10 detik | Interval waktu antara pemeriksaan kesehatan latar belakang berkala. |
| Jendela Cek Kesehatan | 2 menit | Jendela waktu geser yang digunakan dengan pengaturan healthCheckThreshold. |
| ambangBatasPemeriksaanKesehatan | 6 | Frekuensi maksimum kegagalan pemeriksaan kesehatan sebelum daur ulang host dimulai. |
| batas hitungan | 0,80 | Batas ambang di mana penghitung kinerja akan dianggap tidak sehat. |
http
Pengaturan konfigurasi untuk pemicu dan pengikatan HTTP.
{
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true
}
}
| Properti | Bawaan | Deskripsi |
|---|---|---|
| pengaturan pembatasan dinamis diaktifkan (dynamicThrottlesEnabled) | salah | Ketika diaktifkan, pengaturan ini menyebabkan alur pemrosesan permintaan secara berkala memeriksa penghitung kinerja sistem seperti koneksi/utas/proses/memori/cpu/dll. dan jika salah satu penghitung tersebut melewati ambang batas tinggi bawaan (80%), permintaan ditolak dengan respons 429 "Terlalu Sibuk" sampai penghitung kembali ke tingkat normal. |
| maxConcurrentRequests | tidak terikat (-1) |
Jumlah maksimum fungsi HTTP yang akan dijalankan secara paralel. Ini memungkinkan Anda untuk mengontrol konkurensi, yang dapat membantu mengelola pemanfaatan sumber daya. Misalnya, Anda mungkin memiliki fungsi HTTP yang menggunakan banyak sumber daya sistem (memori/cpu/soket) sehingga menyebabkan masalah saat konkurensi terlalu tinggi. Atau Anda mungkin memiliki fungsi yang membuat permintaan keluar ke layanan pihak ketiga, dan panggilan tersebut harus dibatasi tarifnya. Dalam kasus ini, menerapkan pembatasan di sini dapat membantu. |
| maxOutstandingRequests | tidak terikat (-1) |
Jumlah maksimum permintaan yang tertunda dan ditahan pada waktu tertentu. Batas ini mencakup permintaan yang diantrekan tetapi belum mulai dieksekusi, dan eksekusi apa pun yang sedang berlangsung. Permintaan masuk apa pun yang melebihi batas ini akan ditolak dengan respons 429 "Terlalu Sibuk". Ini memungkinkan pemanggil untuk menggunakan strategi coba lagi berbasis waktu, dan juga membantu Anda mengontrol latensi permintaan maksimum. Ini hanya mengontrol antrean yang terjadi dalam jalur eksekusi host skrip. Antrean lain seperti antrean permintaan ASP.NET akan tetap berlaku dan tidak terpengaruh oleh pengaturan ini. |
| prefiks rute | API | Awalan rute yang berlaku untuk semua rute. Gunakan untai kosong untuk menghapus prefiks default. |
Id
ID unik untuk host tugas. Dapat berupa GUID huruf kecil dengan tanda hubung dihapus. Diperlukan saat dijalankan secara lokal. Saat menjalankan di Azure, kami menyarankan Anda untuk tidak mengatur nilai ID. ID dibuat secara otomatis di Azure saat id dihilangkan.
Jika Anda berbagi akun Penyimpanan di beberapa aplikasi fungsi, pastikan setiap aplikasi fungsi memiliki id yang berbeda. Anda dapat menghilangkan properti id atau mengatur setiap aplikasi fungsi id secara manual ke nilai yang berbeda. Pemicu timer menggunakan kunci penyimpanan untuk memastikan bahwa hanya akan ada satu instans timer ketika aplikasi fungsi diskalakan ke beberapa instans. Jika dua aplikasi fungsi berbagi id yang sama dan masing-masing menggunakan pemicu timer, hanya satu timer yang berfungsi.
{
"id": "9f4ea53c5136457d883d685e57164f08"
}
pencatat
Mengontrol pemfilteran untuk log yang ditulis oleh objek ILogger atau berdasarkan context.log.
{
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
}
}
| Properti | Bawaan | Deskripsi |
|---|---|---|
| FilterKategori | N/a | Menentukan pemfilteran menurut kategori |
| defaultLevel | Informasi | Untuk kategori apa pun yang tidak ditentukan dalam larik categoryLevels, kirim log pada tingkat ini dan ke atas ke Application Insights. |
| tingkatKategori | N/a | Larik kategori yang menentukan tingkat log minimum untuk dikirim ke Application Insights untuk setiap kategori. Kategori yang ditentukan di sini mengontrol semua kategori yang dimulai dengan nilai yang sama, dan nilai yang lebih panjang diutamakan. Dalam contoh file host.json sebelumnya, semua kategori yang dimulai dengan "Host.Aggregator" mencatat pada level Information. Semua kategori lain yang dimulai dengan "Host", seperti "Host.Executor", log di level Error. |
antrean
Pengaturan untuk Pemicu dan pengikatan antrian penyimpanan.
{
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
}
}
| Properti | Bawaan | Deskripsi |
|---|---|---|
| maxPollingInterval | 60000 | Interval maksimum dalam milidetik antara pemeriksaan antrean. |
| waktu_tunggu_visibilitas | 0 | Interval waktu antara coba ulang ketika pemrosesan pesan gagal. |
| Ukuran batch | 16 | Jumlah pesan antrean yang diambil secara bersamaan dan diproses secara paralel oleh runtime Functions. Ketika nomor yang sedang diproses turun ke newBatchThreshold, runtime mendapatkan batch lain dan mulai memproses pesan-pesan tersebut. Jadi jumlah maksimum pesan bersamaan yang sedang diproses per fungsi adalah batchSize plus newBatchThreshold. Batas ini berlaku secara terpisah untuk setiap fungsi yang dipicu antrean. Jika Anda ingin menghindari eksekusi paralel untuk pesan yang diterima pada satu antrean, Anda dapat mengatur batchSize ke 1. Namun, pengaturan ini menghilangkan konkurensi hanya selama aplikasi fungsi Anda berjalan pada satu komputer virtual (VM). Jika aplikasi fungsi mengalami peningkatan skala ke beberapa VM, setiap VM dapat menjalankan satu instans dari setiap fungsi yang dipicu oleh antrean.Maksimum batchSize adalah 32. |
| maxDequeueCount | 5 | Frekuensi mencoba memproses pesan sebelum memindahkannya ke antrean racun. |
| newBatchThreshold | batchSize/2 | Setiap kali jumlah pesan yang sedang diproses secara bersamaan turun ke nomor ini, runtime mengambil batch lain. |
SendGrid
Pengaturan konfigurasi untuk pengikatan keluaran SendGrid
{
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
}
}
| Properti | Bawaan | Deskripsi |
|---|---|---|
| dari | N/a | Alamat email pengirim yang tersedia di semua fungsi operasional. |
serviceBus
Pengaturan konfigurasi untuk pemicu dan pengikatan Service Bus.
{
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
}
}
| Properti | Bawaan | Deskripsi |
|---|---|---|
| MaksimumPanggilanBersamaan | 16 | Jumlah maksimum panggilan serentak ke callback yang harus dimulai oleh message pump. Secara default, runtime Functions memproses beberapa pesan secara bersamaan. Untuk mengarahkan runtime agar memproses hanya satu antrian atau topik pesan pada satu waktu, atur maxConcurrentCalls ke 1. |
| prefetchCount | N/a | PrefetchCount bawaan yang akan digunakan oleh penerima ServiceBus. |
| Batas Waktu Pembaruan Otomatis | 00:05:00 | Durasi maksimum di mana kunci pesan akan diperbarui secara otomatis. |
| pelengkapan otomatis | benar | Jika benar, pemicu menyelesaikan pemrosesan pesan secara otomatis pada keberhasilan eksekusi operasi. Jika bernilai false, adalah tanggung jawab fungsi untuk menyelesaikan pesan sebelum kembali. |
pola tunggal
Pengaturan konfigurasi untuk perilaku kunci Singleton. Untuk informasi selengkapnya, lihat Masalah GitHub tentang dukungan tunggal.
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
| Properti | Bawaan | Deskripsi |
|---|---|---|
| lockPeriod | 00:00:15 | Periode waktu pengambilan kunci tingkat fungsi. Kunci diperpanjang otomatis. |
| listenerLockPeriod | 00:01:00 | Periode ketika kunci pendengar diambil. |
| listenerLockRecoveryPollingInterval | 00:01:00 | Interval waktu yang digunakan untuk pemulihan kunci listener jika kunci listener gagal diperoleh saat startup. |
| lockAcquisitionTimeout | 00:01:00 | Jumlah waktu maksimum yang diupayakan oleh runtime untuk memperoleh lock. |
| lockAcquisitionPollingInterval | N/a | Interval antara upaya akuisisi kunci. |
pelacakan
Versi 1.x
Pengaturan konfigurasi untuk log yang Anda buat dengan menggunakan objek TraceWriter. Untuk mempelajari selengkapnya, lihat [C# Pengelogan].
{
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
}
}
| Properti | Bawaan | Deskripsi |
|---|---|---|
| tingkat konsol | informasi | Tingkat pelacakan untuk log konsol. Opsinya adalah: off, error, warning, info, dan verbose. |
| fileLoggingMode | hanya untuk debugging | Tingkat pelacakan untuk pencatatan file. Opsinya adalah never, always, debugOnly. |
watchDirectories
Sekumpulan direktori kode bersama yang harus dipantau perubahannya. Memastikan bahwa ketika kode dalam direktori ini diubah, fungsi Anda mengenali perubahan tersebut.
{
"watchDirectories": [ "Shared" ]
}