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 przewodniku Szybkiego startu użyjesz Visual Studio Code do stworzenia aplikacji, która reaguje na zmiany w tabeli Azure SQL Database. Po przetestowaniu kodu lokalnie należy wdrożyć go w nowej aplikacji funkcji bezserwerowej uruchomionej w planie Flex Consumption w usłudze Azure Functions.
Źródło projektu używa rozszerzenia interfejsu wiersza polecenia dla deweloperów platformy Azure (azd) z programem Visual Studio Code, aby uprościć inicjowanie i weryfikowanie kodu projektu lokalnie oraz wdrażanie kodu na platformie Azure. To wdrożenie jest zgodne z bieżącymi najlepszymi rozwiązaniami dotyczącymi bezpiecznych i skalowalnych wdrożeń usługi Azure Functions.
Ważne
Chociaż reagowanie na zmiany w bazie danych Azure SQL Database jest obsługiwane we wszystkich językach, ten scenariusz szybkiego startu zawiera obecnie tylko przykłady języków C#, Python i TypeScript. Aby ukończyć ten szybki start, wybierz jeden z tych obsługiwanych języków u góry artykułu.
Wymagania wstępne
Konto Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
Visual Studio Code na jednej z obsługiwanych platform.
Rozszerzenie obsługujące usługę Azure Functions dla programu Visual Studio Code. To rozszerzenie wymaga narzędzi Azure Functions Core Tools. Jeśli to narzędzie nie jest dostępne lokalnie, rozszerzenie próbuje go zainstalować przy użyciu instalatora opartego na pakietach. Pakiet Core Tools można również zainstalować lub zaktualizować, uruchamiając polecenie
Azure Functions: Install or Update Azure Functions Core Toolsz palety poleceń. Jeśli na komputerze lokalnym nie zainstalowano programu npm ani oprogramowania Homebrew, należy ręcznie zainstalować lub zaktualizować narzędzia Core Tools.
Rozszerzenie języka C# dla programu Visual Studio Code.
-
Node.js 18.x lub nowszym. Użyj polecenia
node --version, aby sprawdzić swoją wersję.
Wersje języka Python obsługiwane przez usługę Azure Functions. Aby uzyskać więcej informacji, zobacz How to install Python (Jak zainstalować język Python).
Rozszerzenie języka Python dla programu Visual Studio Code.
- Rozszerzenie interfejsu wiersza polecenia dla deweloperów platformy Azure dla programu Visual Studio Code.
- Rozszerzenie programu SQL Server (mssql) dla programu Visual Studio Code.
Inicjowanie projektu
Możesz użyć azd init polecenia z palety poleceń, aby utworzyć lokalny projekt kodu usługi Azure Functions na podstawie szablonu.
W programie Visual Studio Code otwórz folder lub obszar roboczy, w którym chcesz utworzyć projekt.
Naciśnij F1 , aby otworzyć paletę poleceń, wyszukać i uruchomić polecenie
Azure Developer CLI (azd): Initialize App (init), a następnie wybierz pozycję Wybierz szablon.Po wyświetleniu monitu wyszukaj i wybierz pozycję
Azure Functions with SQL Triggers and Bindings.Po wyświetleniu monitu wprowadź unikatową nazwę środowiska, na przykład
sqldbchanges.
To polecenie ściąga pliki projektu z repozytorium szablonów i inicjuje projekt w bieżącym folderze lub obszarze roboczym. W azdsystemie środowisko jest używane do obsługi unikatowego kontekstu wdrażania dla aplikacji i można zdefiniować więcej niż jeden. Jest również częścią nazwy grupy zasobów utworzonej na platformie Azure.
To polecenie ściąga pliki projektu z repozytorium szablonów i inicjuje projekt w bieżącym folderze lub obszarze roboczym. W azdsystemie środowisko jest używane do obsługi unikatowego kontekstu wdrażania dla aplikacji i można zdefiniować więcej niż jeden. Jest również częścią nazwy grupy zasobów utworzonej na platformie Azure.
To polecenie ściąga pliki projektu z repozytorium szablonów i inicjuje projekt w bieżącym folderze lub obszarze roboczym. W azdsystemie środowisko jest używane do obsługi unikatowego kontekstu wdrażania dla aplikacji i można zdefiniować więcej niż jeden. Jest również częścią nazwy grupy zasobów utworzonej na platformie Azure.
Aby można było uruchomić aplikację lokalnie, należy utworzyć zasoby na platformie Azure.
Tworzenie zasobów platformy Azure
Ten projekt jest skonfigurowany do używania polecenia azd provision w celu utworzenia aplikacji funkcyjnej w planie elastycznego zużycia wraz z innymi wymaganymi zasobami platformy Azure, które są zgodne z bieżącymi najlepszymi praktykami.
W programie Visual Studio Code naciśnij F1 , aby otworzyć paletę poleceń, wyszukaj i uruchom polecenie
Azure Developer CLI (azd): Sign In with Azure Developer CLI, a następnie zaloguj się przy użyciu konta platformy Azure.Naciśnij F1 , aby otworzyć paletę poleceń, wyszukaj i uruchom polecenie
Azure Developer CLI (azd): Provision Azure resources (provision), aby utworzyć wymagane zasoby platformy Azure.Po wyświetleniu monitu w oknie Terminal podaj następujące wymagane parametry wdrożenia:
Podpowiedź Description Wybieranie subskrypcji platformy Azure do użycia Wybierz subskrypcję, w której chcesz utworzyć zasoby. parametr lokalizacji wdrożenia Region platformy Azure, w którym ma zostać utworzona grupa zasobów zawierająca nowe zasoby platformy Azure. Wyświetlane są tylko regiony, które obecnie obsługują plan Flex Consumption. vnetEnabled parametr wdrożenia Szablon obsługuje tworzenie zasobów wewnątrz sieci wirtualnej, aby uprościć wdrażanie i testowanie, wybierz pozycję False.
Polecenie azd provision używa odpowiedzi na te wezwania z plikami konfiguracji Bicep w celu utworzenia i skonfigurowania tych wymaganych zasobów platformy Azure, zgodnie z najnowszymi najlepszymi praktykami.
- Flex Consumption plan i aplikacja funkcji
- Azure SQL Database (domyślna nazwa: ToDo)
- Azure Storage (wymagane) i Application Insights (zalecane)
- Zasady dostępu i role dla twojego konta
- Połączenia między usługami przy użyciu tożsamości zarządzanych (zamiast przechowywanych parametry połączenia)
Po aprowizacji haki generują również plik local.settings.json , który jest wymagany do uruchamiania lokalnie. Ten plik zawiera ustawienia wymagane do nawiązania połączenia z bazą danych na platformie Azure.
Przejrzyj kod (opcjonalnie)
Przykład definiuje dwie funkcje:
| Nazwa funkcji | Plik kodu | Typ wyzwalacza | Description |
|---|---|---|---|
httptrigger-sql-output |
sql_output_http_trigger.cs | Wyzwalacz HTTP | Akceptuje poprawnie sformatowany ładunek JSON i używa powiązania danych wyjściowych SQL, aby wstawić obiekt jako wiersz w ToDo tabeli. |
ToDoTrigger |
sql_trigger.cs | Wyzwalacz SQL | Nasłuchuje zmian na poziomie wiersza w ToDo tabeli i zwraca obiekt reprezentujący zmieniony wiersz. |
Typ ToDoItem jest zdefiniowany w ToDoItem.cs.
| Nazwa funkcji | Plik kodu | Typ wyzwalacza | Description |
|---|---|---|---|
http_trigger_sql_output |
function_app.py | Wyzwalacz HTTP | Akceptuje poprawnie sformatowany ładunek JSON i używa powiązania danych wyjściowych SQL, aby wstawić obiekt jako wiersz w ToDo tabeli. |
httptrigger-sql-output |
sql_trigger_todo | Wyzwalacz SQL | Nasłuchuje zmian na poziomie wiersza w ToDo tabeli i zwraca obiekt reprezentujący zmieniony wiersz. |
Typ ToDoItem jest zdefiniowany w todo_item.py.
| Nazwa funkcji | Plik kodu | Typ wyzwalacza | Description |
|---|---|---|---|
httpTriggerSqlOutput |
sql_output_http_trigger.ts | Wyzwalacz HTTP | Akceptuje poprawnie sformatowany ładunek JSON i używa powiązania danych wyjściowych SQL, aby wstawić obiekt jako wiersz w ToDo tabeli. |
sqlTriggerToDo |
sql_trigger.ts | Wyzwalacz SQL | Nasłuchuje zmian na poziomie wiersza w ToDo tabeli i zwraca obiekt reprezentujący zmieniony wiersz. |
Typ ToDoItem jest zdefiniowany w ToDoItem.ts.
Obie funkcje używają zmiennych środowiskowych na poziomie AZURE_SQL_CONNECTION_STRING_KEY_* aplikacji, które definiują połączenie oparte na tożsamości z wystąpieniem usługi Azure SQL Database przy użyciu uwierzytelniania identyfikatora Entra firmy Microsoft. Te zmienne środowiskowe są tworzone zarówno na platformie Azure (ustawienia aplikacji funkcji), jak i lokalnie (local.settings.json) podczas azd provision operacji.
Nawiązywanie połączenia z bazą danych SQL
Do nawiązania połączenia z nową bazą danych można użyć rozszerzenia programu SQL Server (mssql) dla programu Visual Studio Code. To rozszerzenie ułatwia wprowadzanie aktualizacji w ToDo tabeli w celu uruchomienia funkcji wyzwalacza SQL.
Naciśnij F1 i w palecie poleceń wyszukaj i uruchom polecenie
MS SQL: Add Connection.W oknie dialogowym Połączenie zmień typ danych wejściowych na Przeglądaj platformę Azure , a następnie ustaw następujące pozostałe opcje:
Option Wybierać Description Server Wystąpienie programu SQL Server Domyślnie są wyświetlane wszystkie serwery dostępne dla konta platformy Azure. Użyj pozycji Subskrypcja, Grupa zasobów i Lokalizacja , aby ułatwić filtrowanie listy serwerów. Baza danych ToDoBaza danych utworzona podczas procesu aprowizacji. Authentication type (Typ uwierzytelniania) Microsoft Entra ID Jeśli jeszcze nie zalogowałeś się, wybierz pozycję Zaloguj się i zaloguj się do swojego konta platformy Azure. Identyfikator najemcy Konkretny dzierżawca konta. Jeśli Twoje konto ma więcej niż jedną dzierżawę, wybierz odpowiednią dzierżawę dla subskrypcji. Wybierz pozycję Połącz, aby nawiązać połączenie z bazą danych. Połączenie korzysta z konta lokalnego użytkownika, które ma przyznane uprawnienia administratora na serwerze hostującym i jest zmapowane na
dbow bazie danych.W widoku programu SQL Server znajdź i rozwiń Połączenia, a następnie nowy serwer w Eksploratorze SQL Server. Rozwiń Tabele i sprawdź, czy tabela istnieje. Jeśli nie istnieje, może być konieczne ponowne uruchomienie
azd provisioni sprawdzenie błędów.
Lokalne uruchamianie funkcji
Program Visual Studio Code integruje się z narzędziami Azure Functions Core , aby umożliwić uruchamianie tego projektu na lokalnym komputerze deweloperów przed opublikowaniem w nowej aplikacji funkcji na platformie Azure.
Naciśnij F1 i w palecie poleceń wyszukaj i uruchom polecenie
Azurite: Start.Aby uruchomić funkcję lokalnie, naciśnij F5 lub ikonę Uruchom i debuguj na pasku działań po lewej stronie.
Na panelu Terminal są wyświetlane dane wyjściowe z narzędzi Core Tools. Aplikacja zostanie uruchomiona na panelu Terminal i będzie widoczna nazwa funkcji uruchomionej lokalnie.
Po uruchomieniu aplikacji możesz zweryfikować i debugować oba wyzwalacze funkcji.
Aby sprawdzić funkcję wyzwalacza HTTP, która zapisuje w powiązaniu wyjściowym SQL:
Skopiuj ten obiekt JSON, który można również znaleźć w
test.httppliku projektu:{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Te dane reprezentują wiersz wstawiony w bazie danych SQL podczas wywoływania punktu końcowego HTTP. Powiązanie wyjściowe tłumaczy obiekt danych na operację
INSERTw bazie danych.Po uruchomieniu aplikacji w widoku platformy Azure w obszarze Obszar roboczy rozwiń Projekt lokalny>Funkcje.
Wybierz prawym przyciskiem myszy funkcję HTTP (lub naciśnij Ctrl+kliknij w systemie macOS), wybierz polecenie Wykonaj funkcję teraz, wklej skopiowane dane JSON i naciśnij Enter.
Funkcja obsługuje żądanie HTTP i zapisuje element w połączonej bazie danych SQL i zwraca utworzony obiekt.
Wróć do Eksploratora programu SQL Server, wybierz prawym przyciskiem myszy tabelę
ToDo(lub Naciśnij Ctrl+kliknij w systemie macOS), a następnie wybierz pozycję Wybierz 1000 pierwszych. Gdy zapytanie zostanie wykonane, zwraca wstawiony lub zaktualizowany wiersz.Powtórz krok 3 i wyślij ponownie ten sam obiekt danych o tym samym identyfikatorze. Tym razem, powiązanie wyjściowe wykonuje operację
UPDATEzamiastINSERT, co modyfikuje istniejący wiersz w bazie danych.
Po zakończeniu wpisz ctrl+C w terminalu, aby zatrzymać proces Core Tools.
Wdrażanie na platformie Azure
Możesz uruchomić azd deploy polecenie z poziomu programu Visual Studio Code, aby wdrożyć kod projektu w już zaaprowizowanych zasobach na platformie Azure.
Naciśnij F1 , aby otworzyć paletę poleceń, wyszukaj i uruchom polecenie
Azure Developer CLI (azd): Deploy to Azure (deploy).Polecenie
azd deploypakuje i wdraża kod w kontenerze wdrażania. Aplikacja jest następnie uruchamiana i uruchamiana w wdrożonym pakiecie.Po pomyślnym zakończeniu działania polecenia aplikacja jest uruchomiona na platformie Azure. Zanotuj wartość
Endpoint, która jest adresem URL aplikacji funkcji uruchomionej w Azure.
Wywoływanie funkcji na platformie Azure
W programie Visual Studio Code naciśnij F1 , a następnie w palecie poleceń wyszukaj i uruchom polecenie
Azure: Open in portal, wybierz pozycjęFunction app, a następnie wybierz nową aplikację. W razie potrzeby zaloguj się przy użyciu konta platformy Azure.Wybierz Strumień dziennika w lewym panelu, który łączy się z dziennikami usługi Application Insights dla Twojej aplikacji.
Wróć do programu Visual Studio Code, aby uruchomić obie funkcje na platformie Azure.
Naciśnij F1 , aby otworzyć paletę poleceń, wyszukaj i uruchom polecenie
Azure Functions: Execute Function Now....Wyszukaj i wybierz aplikację funkcji zdalnej z listy, a następnie wybierz funkcję wyzwalacza HTTP.
Tak jak poprzednio, wklej dane obiektu JSON w treści ładunku Enter i naciśnij Enter.
{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Aby wykonać element
INSERTzamiastUPDATE, zastąp elementidnową wartością identyfikatora GUID.Wróć do portalu i wyświetl dane wyjściowe wykonania w oknie dziennika.
Uprzątnij zasoby
Po zakończeniu pracy z aplikacją funkcji i powiązanymi zasobami możesz użyć tego polecenia, aby usunąć aplikację funkcji i powiązane z nią zasoby z platformy Azure i uniknąć ponoszenia dodatkowych kosztów:
azd down --no-prompt
Uwaga / Notatka
Opcja --no-prompt powoduje azd usunięcie grupy zasobów bez potwierdzenia.
To polecenie nie ma wpływu na lokalny projekt kodu.
Powiązane artykuły
- Scenariusze usługi Azure Functions
- Elastyczny Plan Konsumpcji
- Interfejs wiersza polecenia dewelopera Azure (azd)
- azd — odwołanie
- Programowanie w usłudze Azure Functions przy użyciu programu Visual Studio Code
- Kodowanie i testowanie usługi Azure Functions lokalnie
- Referencja rozszerzenia powiązań SQL
- Azure SQL Database