Поделиться через


Общие сведения о привязках 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.

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

Чтобы использовать это расширение привязки в приложении, убедитесь, что файл host.json в корне проекта содержит следующую extensionBundle ссылку:

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

В этом примере значение указывает узлу version функций использовать версию пакета, которая по крайней мере [4.0.0, 5.0.0) меньше4.0.0, чем , которая включает все потенциальные версии 4.x.5.0.0 Эта нотация эффективно поддерживает ваше приложение в последней доступной дополнительной версии пакета расширений версии 4.x.

По возможности следует использовать последнюю версию пакета расширений и разрешить среде выполнения автоматически поддерживать последнюю дополнительную версию. Содержимое последнего пакета можно просмотреть на странице выпуска пакетов расширений. Дополнительные сведения см. в пакетах расширений функций Azure.

Если приложение должно использовать функции предварительной версии, вместо этого следует ссылаться на последнюю версию пакета предварительной версии. Дополнительные сведения см. в статье "Работа с пакетами расширений предварительной версии".

Вы можете просмотреть функции предварительной версии на странице выпуска расширений SQL Функции Azure.

Примечание.

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

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

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

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

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

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

Внимание

Для оптимальной безопасности следует использовать идентификатор Microsoft Entra с управляемыми удостоверениями для подключений между функциями и База данных SQL Azure. Управляемые удостоверения обеспечивают безопасность приложения, устраняя секреты из развертываний приложений, например учетные данные в строка подключения, именах серверов и используемых портах. Вы можете узнать, как использовать управляемые удостоверения в этом руководстве, подключить приложение-функцию к SQL Azure с управляемыми удостоверениями и привязками SQL.

Важные ключевые слова:

  • Authentication: позволяет функции подключаться к SQL Azure с помощью идентификатора Microsoft Entra и управляемых удостоверений. Дополнительные сведения см. в статье "Подключение приложения-функции к SQL Azure с управляемым удостоверением и привязками SQL".
  • 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.
  • Используйте управляемые удостоверения вместо имен пользователей и паролей.
  • Рекомендуется использовать значение ключа Azure для хранения параметров приложения.

Примеры

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

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