Bagikan melalui


Referensi host.json untuk Azure Functions 1.x

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" ]
}

Langkah berikutnya