Bagikan melalui


Ikatan Azure SQL untuk gambaran umum Azure Functions

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 (default true). Pengaturan tambahan untuk pengumpulan koneksi meliputi Connection Lifetime, Max Pool Size, dan Min 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, atau IMAGE tidak didukung dan upsert data akan gagal. Jenis-jenis ini akan dihapus di versi SQL Server mendatang dan tidak kompatibel dengan fungsi OPENJSON yang 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:

Langkah berikutnya