Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой серии статей рассматривается, как работать с привязками 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:
- Пример API ToDo C# с привязками SQL Azure
- Использование привязок SQL в Azure Stream Analytics
- Отправка данных из SQL Azure с помощью Python