Общие сведения о привязках SQL Azure для Функции Azure

В этой серии статей рассматривается, как работать с привязками Azure SQL в Функциях Azure. Функции Azure поддерживает входные привязки, выходные привязки и триггер функции для продуктов SQL Azure и SQL Server.

Действие Тип
Активация функции при обнаружении изменения в таблице SQL Триггер SQL
Чтение данных из базы данных Входная привязка
Сохранение данных в базу данных Выходная привязка

Установка расширения

Устанавливаемый пакет расширения NuGet зависит от режима C#, который используется в приложении-функции:

Функции выполняются в изолированном рабочем процессе C#. Дополнительные сведения см. в руководстве по запуску Функции Azure C# в изолированном рабочем процессе.

Добавьте расширение в проект, установив данный пакет NuGet.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql

Чтобы использовать предварительную версию пакета Microsoft.Azure.Functions.Worker.Extensions.Sql, добавьте --prerelease флаг в команду. Вы можете просмотреть функции предварительной версии на странице выпуска расширений SQL Функции Azure.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql --prerelease

Примечание.

Критические изменения между предварительными версиями привязок SQL Azure для Функции Azure требуют, чтобы все функции, предназначенные для одной базы данных, использовали ту же версию пакета расширения SQL.

Установка пакета

Расширение привязок SQL является частью пакета расширений версии 4, который указан в файле проекта host.json.

Пакет расширений указан следующим кодом в host.json файле:

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

Functions runtime (Среда выполнения функций)

Установка пакета

Расширение привязок SQL является частью пакета расширений версии 4, который указан в файле проекта host.json.

Пакет расширений указан следующим кодом в host.json файле:

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

Установка пакета

Расширение привязок SQL является частью пакета расширений версии 4, который указан в файле проекта host.json.

Пакет расширений указан следующим кодом в host.json файле:

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

Обновление пакетов

Добавьте библиотеку Java для привязок SQL в проект функций с обновлением pom.xml файла в проекте Java Функции Azure, как показано в следующем фрагменте кода:

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

Пакет расширений предварительной версии можно использовать с обновлением pom.xml файла в проекте Java Функции Azure, как показано в следующем фрагменте кода:

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

Строка подключения SQL

Привязки SQL Azure для Функции Azure имеют необходимое свойство для строка подключения для всех привязок и триггеров. Эти строка подключения передаются в библиотеку Microsoft.Data.SqlClient и поддерживают строка подключения, как определено в документации по SqlClient ConnectionString. Важные ключевые слова:

  • Authentication позволяет функции подключаться к SQL Azure с помощью идентификатора Microsoft Entra, включая управляемое удостоверение Active Directory.
  • Command Timeout позволяет функции ожидать указанное количество времени в секундах до завершения запроса (по умолчанию 30 секунд).
  • ConnectRetryCount позволяет функции автоматически выполнять дополнительные попытки повторного подключения, особенно для к бессерверного уровня Базы данных SQL Azure (по умолчанию 1).
  • Pooling позволяет функции повторно использовать подключения к базе данных, что может повысить производительность (по умолчанию true). Дополнительные параметры для пула подключений включают Connection Lifetime, Max Pool Sizeи Min Pool Size. Дополнительные сведения о пуле подключений см. в документации по ADO.NET

Рекомендации

  • Привязка SQL Azure поддерживает версию 4.x и более позднюю версию среды выполнения функций.
  • Исходный код для привязок Azure SQL см. в этом репозитории GitHub.
  • Для этой привязки требуется подключение к базе данных Azure SQL или SQL Server.
  • Привязки выходных данных к таблицам со столбцами типов данных NTEXT, TEXT или IMAGE не поддерживаются, и upsert данных завершится ошибкой. Эти типы будут удалены в будущей версии SQL Server и несовместимы с функцией OPENJSON, используемой этой привязкой Функций Azure.

Примеры

Помимо примеров для C#, Java, JavaScript, PowerShell и Python, доступных в репозитории GitHub при привязках SQL Azure, дополнительные сведения доступны в примерах Azure:

Следующие шаги