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.
Kumpulan artikel ini menjelaskan cara bekerja dengan pengikatan Azure SQL di Azure Functions. Azure Functions mendukung pengikatan input, pengikatan output, dan pemicu fungsi untuk produk Azure SQL dan SQL Server.
| Perbuatan | Jenis |
|---|---|
| Memicu fungsi saat perubahan terdeteksi pada tabel SQL | Pemicu SQL |
| Membaca data dari database | Pengikatan masukan |
| Menyimpan data ke database | Pengikatan output |
Menginstal ekstensi
Paket NuGet ekstensi yang Anda instal bergantung pada mode C# yang Anda gunakan di aplikasi fungsi Anda:
Functions dijalankan dalam proses pekerja C# yang terisolasi. Untuk mempelajari selengkapnya, lihat Panduan untuk menjalankan C# Azure Functions dalam proses pekerja yang terisolasi.
Tambahkan ekstensi ke proyek Anda dengan memasang Paket NuGet ini.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql
Untuk menggunakan versi pratinjau paket Microsoft.Azure.Functions.Worker.Extensions.Sql, tambahkan --prerelease bendera ke perintah . Anda dapat melihat fungsionalitas pratinjau di halaman rilis Ekstensi SQL Azure Functions.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql --prerelease
Catatan
Melanggar perubahan antara rilis pratinjau pengikatan Azure SQL untuk Azure Functions mengharuskan semua Fungsi yang menargetkan database yang sama menggunakan versi paket ekstensi SQL yang sama.
Memasang bundel
Agar dapat menggunakan ekstensi pengikatan ini di aplikasi Anda, pastikan file host.json di akar proyek Anda berisi referensi ini extensionBundle :
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Dalam contoh ini, version nilai [4.0.0, 5.0.0) menginstruksikan host Functions untuk menggunakan versi bundel yang setidaknya 4.0.0 tetapi kurang dari 5.0.0, yang mencakup semua versi potensial 4.x. Notasi ini secara efektif mempertahankan aplikasi Anda pada versi minor terbaru yang tersedia dari bundel ekstensi v4.x.
Jika memungkinkan, Anda harus menggunakan versi utama bundel ekstensi terbaru dan memungkinkan runtime untuk secara otomatis mempertahankan versi minor terbaru. Anda dapat melihat konten bundel terbaru pada halaman rilis bundel ekstensi. Untuk informasi selengkapnya, lihat Bundel ekstensi Azure Functions.
Jika aplikasi Anda perlu menggunakan fungsionalitas pratinjau, Anda harus mereferensikan versi terbaru bundel pratinjau. Untuk informasi selengkapnya, lihat Bekerja dengan bundel ekstensi pratinjau.
Anda dapat melihat fungsionalitas pratinjau di halaman rilis Ekstensi SQL Azure Functions.
Catatan
Melanggar perubahan antara rilis pratinjau pengikatan Azure SQL untuk Azure Functions mengharuskan semua Fungsi yang menargetkan database yang sama menggunakan versi paket ekstensi SQL yang sama.
Perbarui paket
Tambahkan paket Jenis SQL Java Azure Functions ke proyek fungsi Anda dengan pembaruan ke pom.xml file dalam proyek Anda, seperti dalam contoh ini:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0</version>
</dependency>
String koneksi SQL
Pengikatan Azure SQL untuk Azure Functions memiliki properti yang diperlukan untuk string koneksi pada semua pengikatan dan pemicu. Ini meneruskan string koneksi ke pustaka Microsoft.Data.SqlClient dan mendukung string koneksi seperti yang didefinisikan dalam dokumentasi SqlClient ConnectionString.
Penting
Untuk keamanan yang optimal, Anda harus menggunakan ID Microsoft Entra dengan identitas terkelola untuk koneksi antara Functions dan Azure SQL Database. Identitas terkelola membuat aplikasi Anda lebih aman dengan menghilangkan rahasia dari penyebaran aplikasi Anda, seperti kredensial di string koneksi, nama server, dan port yang digunakan. Anda dapat mempelajari cara menggunakan identitas terkelola dalam tutorial ini, Menyambungkan aplikasi fungsi ke Azure SQL dengan identitas terkelola dan pengikatan SQL.
Kata kunci penting meliputi:
-
Authentication: memungkinkan fungsi untuk terhubung ke Azure SQL dengan ID Microsoft Entra dan identitas terkelola. Untuk informasi selengkapnya, lihat Menyambungkan aplikasi fungsi ke Azure SQL dengan identitas terkelola dan pengikatan SQL. -
Command timeout: memungkinkan fungsi untuk menunggu jumlah waktu tertentu dalam detik sebelum mengakhiri kueri (default 30 detik) -
ConnectRetryCount: memungkinkan fungsi untuk secara otomatis melakukan upaya koneksi ulang tambahan, terutama berlaku untuk tingkat tanpa server Azure SQL Database (default 1) -
Pooling: memungkinkan fungsi untuk menggunakan kembali koneksi ke database, yang dapat meningkatkan performa (defaulttrue). Pengaturan tambahan untuk pengumpulan koneksi meliputiConnection Lifetime,Max Pool Size, danMin Pool Size. Pelajari selengkapnya tentang pengumpulan koneksi dalam dokumentasi ADO.NET
Pertimbangan
- Pengikatan Azure SQL mendukung runtime Functions versi 4.x dan yang lebih baru.
- Kode sumber untuk pengikatan Azure SQL dapat ditemukan di repositori GitHub ini.
- Pengikatan ini memerlukan konektivitas ke database Azure SQL atau SQL Server.
- Pengikatan output terhadap tabel dengan kolom tipe data
NTEXT,TEXT, atauIMAGEtidak didukung dan upsert data akan gagal. Jenis-jenis ini akan dihapus di versi SQL Server mendatang dan tidak kompatibel dengan fungsiOPENJSONyang digunakan oleh pengikatan Azure Functions ini. - Gunakan identitas terkelola alih-alih nama pengguna dan kata sandi.
- Pertimbangkan untuk menggunakan Nilai Kunci Azure untuk menyimpan pengaturan aplikasi.
Sampel
Selain sampel untuk C#, Java, JavaScript, PowerShell, dan Python yang tersedia di repositori GitHub pengikatan Azure SQL, lainnya tersedia di Sampel Azure:
- Sampel C# ToDo API dengan pengikatan Azure SQL
- Gunakan pengikatan SQL di Azure Stream Analytics
- Mengirim data dari Azure SQL dengan Python