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

Ekstensi pengikatan SQL adalah bagian dari bundel ekstensi v4, yang ditentukan dalam file proyek host.json Anda.

Bundel ekstensi ditentukan oleh kode berikut dalam file Anda host.json :

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Waktu proses fungsi

Memasang bundel

Ekstensi pengikatan SQL adalah bagian dari bundel ekstensi v4, yang ditentukan dalam file proyek host.json Anda.

Bundel ekstensi ditentukan oleh kode berikut dalam file Anda host.json :

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Memasang bundel

Ekstensi pengikatan SQL adalah bagian dari bundel ekstensi v4, yang ditentukan dalam file proyek host.json Anda.

Bundel ekstensi ditentukan oleh kode berikut dalam file Anda host.json :

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Perbarui paket

Tambahkan pustaka Java untuk pengikatan SQL ke proyek fungsi Anda dengan pembaruan ke pom.xml file di proyek Java Azure Functions Anda seperti yang terlihat dalam cuplikan berikut:

<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-sql</artifactId>
    <version>2.1.0</version>
</dependency>

Anda dapat menggunakan bundel ekstensi pratinjau dengan pembaruan ke pom.xml file di proyek Java Azure Functions Anda seperti yang terlihat dalam cuplikan berikut:

<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-sql</artifactId>
    <version>2.1.0-preview</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 Koneksi ionString. Kata kunci penting meliputi:

  • Authentication memungkinkan fungsi untuk menyambungkan ke Azure SQL dengan ID Microsoft Entra, termasuk Identitas Terkelola Direktori Aktif
  • Command Timeout memungkinkan fungsi untuk menunggu jumlah waktu tertentu dalam detik sebelum mengakhiri kueri (default 30 detik)
  • ConnectRetryCountmemungkinkan 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.

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