Azure Functions memicu dan mengikat konsep

Dalam artikel ini, Anda mempelajari konsep tingkat tinggi seputar pemicu dan pengikatan fungsi.

Pemicu menyebabkan suatu fungsi berjalan. Pemicu menentukan bagaimana fungsi dipanggil dan fungsi harus memiliki tepat satu pemicu. Pemicu memiliki data terkait yang sering diberikan sebagai payload fungsi.

Pengikatan ke fungsi adalah cara untuk menyambungkan sumber daya lain secara deklaratif ke fungsi tersebut; pengikatan dapat disambungkan sebagai pengikatan input, pengikatan output, atau keduanya. Data dari pengikatan diberikan ke fungsi sebagai parameter.

Anda dapat mencampur dan mencocokkan pengikatan yang berbeda untuk menyesuaikan dengan kebutuhan Anda. Pengikatan bersifat opsional dan fungsi mungkin memiliki satu atau beberapa pengikatan input dan/atau output.

Pemicu dan pengikatan memungkinkan Anda menghindari akses hardcoding ke layanan lain. Fungsi Anda menerima data (misalnya, konten pesan antrean) dalam parameter fungsi. Anda mengirim data (misalnya, untuk membuat pesan antrean) dengan menggunakan nilai yang dikembalikan dari fungsi.

Pertimbangkan contoh berikut tentang bagaimana Anda dapat mengimplementasikan fungsi yang berbeda.

Contoh skenario Pemicu Pengikatan masukan Pengikatan output
Pesan antrean baru datang yang menjalankan fungsi untuk menulis ke antrean lain. Antrean* Tidak Antrean*
Pekerjaan terjadwal membaca konten Blob Storage dan membuat dokumen Azure Cosmos DB baru. Timer Penyimpanan Blob Azure Cosmos DB
Event Grid digunakan untuk membaca gambar dari Blob Storage dan dokumen dari Azure Cosmos DB untuk mengirim email. Event Grid Blob Storage dan Azure Cosmos DB SendGrid
Webhook yang menggunakan Microsoft Graph untuk memperbarui lembar Excel. HTTP Tidak Microsoft Graph

* Mewakili antrean yang berbeda

Contoh-contoh ini tidak dimaksudkan sebagai contoh lengkap, tetapi disediakan untuk mengilustrasikan bagaimana Anda dapat menggunakan pemicu dan pengikatan bersama-sama.

Penentuan pemicu dan pengikatan

Pemicu dan pengikatan ditentukan secara berbeda bergantung pada bahasa pengembangan.

Bahasa Pemicu dan pengikatan dikonfigurasi oleh...
Pustaka kelas C#      mendekorasi metode dan parameter dengan atribut C#
Java      mendekorasi metode dan parameter dengan anotasi Java
JavaScript/PowerShell/Python/TypeScript      memperbarui function.json (skema)

Untuk bahasa yang mengandalkan function.json, portal menyediakan UI untuk menambahkan pengikatan di tab Integrasi. Anda juga dapat mengedit file secara langsung di portal di tab Kode + uji fungsi Anda. Visual Studio Code memungkinkan Anda dengan mudah menambahkan pengikatan ke file function.json dengan mengikuti set permintaan yang mudah digunakan.

Dalam .NET dan Java, jenis parameter menentukan jenis data untuk data input. Misalnya, gunakan string untuk mengikat teks pemicu antrean, larik byte untuk dibaca sebagai biner, dan jenis kustom untuk membatalkan serialisasi ke objek. Karena fungsi pustaka kelas .NET dan fungsi Java tidak bergantung pada function.json untuk penentuan pengikatan, mereka tidak dapat dibuat dan diedit di portal. Pengeditan portal C# didasarkan pada skrip C#, yang menggunakan function.json, bukan dengan atribut.

Untuk mempelajari selengkapnya tentang cara menambahkan pengikatan ke fungsi yang ada, lihat Menyambungkan fungsi ke layanan Azure menggunakan pengikatan.

Untuk bahasa yang diketik secara dinamis seperti JavaScript, gunakan properti dataType di file function.json. Misalnya, untuk membaca konten permintaan HTTP dalam format biner, atur dataType ke binary:

{
    "dataType": "binary",
    "type": "httpTrigger",
    "name": "req",
    "direction": "in"
}

Opsi lain untuk dataType adalah stream dan string.

Arah pengikatan

Semua pemicu dan pengikatan memiliki properti direction dalam file function.json:

  • Untuk pemicu, arahnya selalu in
  • Pengikatan input dan output menggunakan in dan out
  • Beberapa pengikatan mendukung arah khusus inout. Jika Anda menggunakan inout, hanya Penyunting tingkat lanjut yang tersedia melalui tab Integrasikan di portal.

Saat Anda menggunakan atribut di pustaka kelas untuk mengonfigurasi pemicu dan pengikatan, arahnya diberikan di konstruktor atribut atau disimpulkan dari jenis parameter.

Menambahkan pengikatan ke fungsi

Anda dapat menyambungkan fungsi ke layanan lain dengan menggunakan pengikatan input atau output. Tambahkan pengikatan dengan menambahkan definisi khususnya ke fungsi Anda. Untuk mempelajari caranya, lihat Menambahkan pengikatan ke fungsi yang ada di Azure Functions.

Pengikatan yang didukung

Tabel ini memperlihatkan pengikatan yang didukung di versi utama runtime Azure Functions:

Jenis 1.x1 2.x dan lebih tinggi2 Pemicu Input Hasil
Penyimpanan Blob
Azure Cosmos DB
Azure Data Explorer
Azure SQL
Dapr4
Event Grid
Event Hubs
HTTP & webhook
Pusat IoT
Kafka3
Aplikasi Seluler
Notification Hubs
Antrean Penyimpanan
Redis
RabbitMQ3
SendGrid
Service Bus
SignalR
Penyimpanan Tabel
Timer
Twilio

1Dukungan akan berakhir untuk runtime Azure Functions versi 1.x pada 14 September 2026. Kami sangat menyarankan Agar Anda memigrasikan aplikasi Anda ke versi 4.x untuk dukungan penuh.

2 Dimulai dengan runtime versi 2.x, semua pengikatan kecuali HTTP dan Timer harus didaftarkan. Lihat Mendaftarkan ekstensi pengikatan.

3 Pemicu tidak didukung dalam paket Konsumsi. Memerlukan pemicu yang digerakkan oleh runtime.

4 Hanya didukung di Kubernetes, IoT Edge, dan mode yang dihost sendiri lainnya saja.

Untuk informasi tentang pengikatan mana yang ada dalam pratinjau atau disetujui untuk penggunaan produksi, lihat Bahasa yang didukung.

Versi ekstensi pengikatan tertentu hanya didukung saat SDK layanan yang mendasar didukung. Perubahan pada dukungan dalam versi SDK layanan yang mendasar memengaruhi dukungan untuk ekstensi yang menggunakan.

Contoh kode pengikatan

Gunakan tabel berikut untuk menemukan contoh jenis pengikatan khusus yang menunjukkan cara bekerja dengan pengikatan dalam fungsi Anda. Pertama, pilih tab bahasa yang sesuai dengan proyek Anda.

Kode pengikatan untuk C# tergantung pada model proses tertentu.

Service Contoh Sampel
Penyimpanan Blob Pemicu
Input
Hasil
Tautan
Azure Cosmos DB Pemicu
Input
Hasil
Tautan
Azure Data Explorer Input
Hasil
Tautan
Azure SQL Pemicu
Input
Hasil
Tautan
Event Grid Pemicu
Hasil
Tautan
Pusat Aktivitas Pemicu
Hasil
Pusat IoT Pemicu
Hasil
HTTP Pemicu Tautan
Antrean Penyimpanan Pemicu
Hasil
Tautan
RabbitMQ Pemicu
Hasil
SendGrid Hasil
Bus Layanan Pemicu
Hasil
Tautan
SignalR Pemicu
Input
Hasil
Penyimpanan Tabel Input
Hasil
Timer Pemicu Tautan
Twilio Hasil Tautan
Service Contoh Sampel
Penyimpanan Blob Pemicu
Input
Hasil
Tautan
Azure Cosmos DB Pemicu
Input
Hasil
Tautan
Azure Data Explorer Input
Hasil
Tautan
Azure SQL Pemicu
Input
Hasil
Event Grid Pemicu
Hasil
Tautan
Pusat Aktivitas Pemicu
Hasil
Pusat IoT Pemicu
Hasil
HTTP Pemicu Tautan
Antrean Penyimpanan Pemicu
Hasil
Tautan
RabbitMQ Pemicu
Hasil
SendGrid Hasil
Bus Layanan Pemicu
Hasil
Tautan
SignalR Pemicu
Input
Hasil
Penyimpanan Tabel Input
Hasil
Timer Pemicu Tautan
Twilio Hasil Tautan
Service Contoh Sampel
Penyimpanan Blob Pemicu
Input
Hasil
Tautan
Azure Cosmos DB Pemicu
Input
Hasil
Tautan
Azure Data Explorer Input
Hasil
Azure SQL Pemicu
Input
Hasil
Tautan
Event Grid Pemicu
Hasil
Tautan
Pusat Aktivitas Pemicu
Hasil
Pusat IoT Pemicu
Hasil
HTTP Pemicu Tautan
Antrean Penyimpanan Pemicu
Hasil
Tautan
RabbitMQ Pemicu
Hasil
SendGrid Hasil
Bus Layanan Pemicu
Hasil
Tautan
SignalR Pemicu
Input
Hasil
Penyimpanan Tabel Input
Hasil
Timer Pemicu Tautan
Twilio Hasil Tautan
Service Contoh Sampel
Penyimpanan Blob Pemicu
Input
Hasil
Tautan
Azure Cosmos DB Pemicu
Input
Hasil
Tautan
Azure SQL Pemicu
Input
Hasil
Event Grid Pemicu
Hasil
Tautan
Pusat Aktivitas Pemicu
Hasil
Pusat IoT Pemicu
Hasil
HTTP Pemicu Tautan
Antrean Penyimpanan Pemicu
Hasil
Tautan
RabbitMQ Pemicu
Hasil
SendGrid Hasil
Bus Layanan Pemicu
Hasil
Tautan
SignalR Pemicu
Input
Hasil
Penyimpanan Tabel Input
Hasil
Timer Pemicu Tautan
Twilio Hasil Tautan

Kode pengikatan untuk Python tergantung pada versi model Python.

Service Contoh Sampel
Penyimpanan Blob Pemicu
Input
Hasil
Tautan
Azure Cosmos DB Pemicu
Input
Hasil
Tautan
Azure Data Explorer Input
Hasil
Azure SQL Pemicu
Input
Hasil
Tautan
Event Grid Pemicu
Hasil
Tautan
Pusat Aktivitas Pemicu
Hasil
Pusat IoT Pemicu
Hasil
HTTP Pemicu Tautan
Antrean Penyimpanan Pemicu
Hasil
Tautan
RabbitMQ Pemicu
Hasil
SendGrid Hasil
Bus Layanan Pemicu
Hasil
Tautan
SignalR Pemicu
Input
Hasil
Penyimpanan Tabel Input
Hasil
Timer Pemicu Tautan
Twilio Hasil Tautan

Pengikatan kustom

Anda dapat membuat pengikatan input dan output kustom. Pengikatan harus dibuat dalam .NET, tetapi dapat digunakan dari bahasa apa pun yang didukung. Untuk informasi selengkapnya tentang membuat pengikatan kustom, lihat Membuat pengikatan input dan output kustom.

Sumber daya

Langkah berikutnya