Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym zestawie artykułów wyjaśniono, jak pracować z powiązaniami usługi Azure SQL w usłudze Azure Functions. Usługa Azure Functions obsługuje powiązania wejściowe, powiązania wyjściowe i wyzwalacz funkcji dla produktów Azure SQL i SQL Server.
| Akcja | Typ |
|---|---|
| Wyzwalanie funkcji po wykryciu zmiany w tabeli SQL | Wyzwalacz SQL |
| Odczytywanie danych z bazy danych | Powiązanie wejściowe |
| Zapisywanie danych w bazie danych | Powiązanie wyjściowe |
Instalowanie rozszerzenia
Instalowany pakiet NuGet rozszerzenia zależy od trybu języka C#, którego używasz w aplikacji funkcji:
Funkcje są wykonywane w izolowanym procesie roboczym języka C#. Aby dowiedzieć się więcej, zobacz Przewodnik dotyczący uruchamiania usługi Azure Functions w języku C# w izolowanym procesie roboczym.
Dodaj rozszerzenie do projektu, instalując ten pakiet NuGet.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql
Aby użyć wersji zapoznawczej pakietu Microsoft.Azure.Functions.Worker.Extensions.Sql, dodaj flagę --prerelease do polecenia . Funkcje w wersji zapoznawczej można wyświetlić na stronie wydania rozszerzeń SQL usługi Azure Functions.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql --prerelease
Uwaga
Zmiany powodujące niezgodność między wersjami zapoznawczymi powiązań usługi Azure SQL dla usługi Azure Functions wymagają, aby wszystkie funkcje przeznaczone dla tej samej bazy danych używały tej samej wersji pakietu rozszerzenia SQL.
Instalowanie pakietu
Aby móc używać tego rozszerzenia powiązania w aplikacji, upewnij się, że plik host.json w katalogu głównym projektu zawiera następujące extensionBundle odwołanie:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
W tym przykładzie version[4.0.0, 5.0.0) wartość polecenia nakazuje hostowi usługi Functions użycie wersji pakietu, która jest co najmniej 4.0.0 mniejsza niż 5.0.0, która zawiera wszystkie potencjalne wersje 4.x. Ta notacja skutecznie utrzymuje aplikację w najnowszej dostępnej wersji pomocniczej pakietu rozszerzenia v4.x.
Jeśli to możliwe, należy użyć najnowszej wersji głównej pakietu rozszerzeń i zezwolić środowisku uruchomieniowemu na automatyczne utrzymywanie najnowszej wersji pomocniczej. Zawartość najnowszego pakietu można wyświetlić na stronie wydania pakietów rozszerzeń. Aby uzyskać więcej informacji, zobacz Pakiety rozszerzeń usługi Azure Functions.
Jeśli aplikacja musi korzystać z funkcji w wersji zapoznawczej, należy zamiast tego odwołać się do najnowszej wersji pakietu w wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz Work with preview extension bundles (Praca z pakietami rozszerzeń w wersji zapoznawczej).
Funkcje w wersji zapoznawczej można wyświetlić na stronie wydania rozszerzeń SQL usługi Azure Functions.
Uwaga
Zmiany powodujące niezgodność między wersjami zapoznawczymi powiązań usługi Azure SQL dla usługi Azure Functions wymagają, aby wszystkie funkcje przeznaczone dla tej samej bazy danych używały tej samej wersji pakietu rozszerzenia SQL.
Aktualizowanie pakietów
Dodaj pakiet Java SQL Types usługi Azure Functions do projektu funkcji z aktualizacją pom.xml pliku w projekcie, jak w tym przykładzie:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0</version>
</dependency>
Parametry połączenia SQL
Powiązania usługi Azure SQL dla usługi Azure Functions mają wymaganą właściwość dla parametry połączenia we wszystkich powiązaniach i wyzwalaczach. Przekazują one parametry połączenia do biblioteki Microsoft.Data.SqlClient i obsługują parametry połączenia zgodnie z definicją w dokumentacji sqlClient ConnectionString.
Ważne
Aby uzyskać optymalne zabezpieczenia, należy użyć identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi na potrzeby połączeń między usługami Functions i Usługą Azure SQL Database. Tożsamości zarządzane sprawiają, że aplikacja jest bezpieczniejsza, eliminując wpisy tajne z wdrożeń aplikacji, takie jak poświadczenia w parametry połączenia, nazwy serwerów i używane porty. W tym samouczku dowiesz się, jak używać tożsamości zarządzanych, połącz aplikację funkcji z usługą Azure SQL przy użyciu tożsamości zarządzanej i powiązań SQL.
Istotne słowa kluczowe obejmują:
-
Authentication: umożliwia funkcji nawiązywanie połączenia z usługą Azure SQL przy użyciu identyfikatora Entra firmy Microsoft i tożsamości zarządzanych. Aby uzyskać więcej informacji, zobacz Łączenie aplikacji funkcji z usługą Azure SQL przy użyciu tożsamości zarządzanej i powiązań SQL. -
Command timeout: umożliwia funkcji oczekiwanie na określoną ilość czasu w sekundach przed zakończeniem zapytania (domyślnie 30 sekund) -
ConnectRetryCount: umożliwia funkcji automatyczne wykonywanie dodatkowych prób ponownego nawiązywania połączenia, szczególnie w przypadku warstwy bezserwerowej usługi Azure SQL Database (domyślnie 1) -
Pooling: umożliwia funkcji ponowne używanie połączeń z bazą danych, co może zwiększyć wydajność (ustawienie domyślnetrue). Dodatkowe ustawienia puli połączeń obejmująConnection Lifetime,Max Pool SizeiMin Pool Size. Dowiedz się więcej o buforowaniu połączeń w dokumentacji ADO.NET
Kwestie wymagające rozważenia
- Powiązanie usługi Azure SQL obsługuje wersję 4.x i nowsze środowiska uruchomieniowego usługi Functions.
- Kod źródłowy powiązań usługi Azure SQL można znaleźć w tym repozytorium GitHub.
- To powiązanie wymaga łączności z bazą danych Azure SQL lub SQL Server.
- Powiązania wyjściowe względem tabel z kolumnami typów
NTEXTdanych ,TEXTlubIMAGEnie są obsługiwane, a upserts danych zakończy się niepowodzeniem. Te typy zostaną usunięte w przyszłej wersji programu SQL Server i nie są zgodne z funkcjąOPENJSONużywaną przez to powiązanie usługi Azure Functions. - Użyj tożsamości zarządzanych zamiast nazw użytkowników i haseł.
- Rozważ użycie wartości klucza platformy Azure do przechowywania ustawień aplikacji.
Przykłady
Oprócz przykładów dla języków C#, Java, JavaScript, PowerShell i Python dostępnych w repozytorium GitHub powiązań usługi Azure SQL, więcej dostępnych jest w przykładach platformy Azure:
- Przykładowy interfejs API zadań do wykonania w języku C# z powiązaniami usługi Azure SQL
- Używanie powiązań SQL w usłudze Azure Stream Analytics
- Wysyłanie danych z usługi Azure SQL przy użyciu języka Python