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 Quickstart użyjesz Visual Studio Code do utworzenia aplikacji, która reaguje na zmiany w bazie danych NoSQL w usłudze Azure Cosmos DB. Po przetestowaniu kodu lokalnie wdrożysz go w nowej aplikacji funkcji bezserwerowej utworzonej 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, a także 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
Aktualnie scenariusz "quickstart" odpowiadający na zmiany w bazie danych NoSQL Azure Cosmos DB zawiera przykłady tylko w językach C#, Python i TypeScript, choć wsparcie dla reagowania na zmiany jest dostępne dla wszystkich języków. Aby ukończyć ten szybki start, wybierz jeden z obsługiwanych języków na górze 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.
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.Może wystąpić niewielkie opóźnienie podczas
azdinicjowania bieżącego folderu lub obszaru roboczego.
Po wyświetleniu monitu wybierz pozycję Wybierz szablon, a następnie wyszukaj i wybierz pozycję
Azure Functions with Cosmos DB Bindings (.NET).Po wyświetleniu monitu wprowadź unikatową nazwę środowiska, na przykład
cosmosdbchanges-dotnet.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.
Po wyświetleniu monitu wybierz pozycję Wybierz szablon, a następnie wyszukaj i wybierz pozycję
Azure Functions TypeScript CosmosDB trigger.Po wyświetleniu monitu wprowadź unikatową nazwę środowiska, na przykład
cosmosdbchanges-ts.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.
Po wyświetleniu monitu wybierz pozycję Wybierz szablon, a następnie wyszukaj i wybierz pozycję
Azure Functions Python with CosmosDB triggers and bindings....Po wyświetleniu monitu wprowadź unikatową nazwę środowiska, na przykład
cosmosdbchanges-py.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.
Uruchom to polecenie, w zależności od lokalnego systemu operacyjnego, aby udzielić skryptom konfiguracji wymaganych uprawnień:
Uruchom to polecenie z wystarczającymi uprawnieniami:
chmod +x ./infra/scripts/*.sh
Aby można było uruchomić aplikację lokalnie, należy utworzyć zasoby na platformie Azure. Ten projekt nie używa lokalnej emulacji dla usługi Azure Cosmos DB.
Tworzenie zasobów platformy Azure
Ten projekt jest skonfigurowany, aby użyć polecenia azd provision, aby utworzyć aplikację funkcji w planie Flex Consumption, a także innych wymaganych zasobów Microsoft Azure zgodnych 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 provisionuż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
- Konto usługi Azure Cosmos DB
- 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 wymagany podczas uruchamiania lokalnego. Ten plik zawiera również ustawienia wymagane do nawiązania połączenia z bazą danych usługi Azure Cosmos DB na platformie Azure.
Wskazówka
Jeśli wszystkie kroki kończą się niepowodzeniem podczas aprowizacji, możesz ponownie uruchomić
azd provisionpolecenie po rozwiązaniu wszelkich problemów.Po pomyślnym zakończeniu polecenia możesz uruchomić kod projektu lokalnie i wyzwolić go w bazie danych usługi Azure Cosmos DB na platformie Azure.
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.
Jeśli masz problemy przy uruchamianiu w systemie Windows, upewnij się, że domyślny terminal programu Visual Studio Code nie jest ustawiony na WSL Bash.
Gdy narzędzia Core Tools nadal działają w terminalu, naciśnij F1 i w palecie poleceń wyszukaj i uruchom polecenie
NoSQL: Create Item..., a następniedocument-dbwybierz zarówno bazę danych, jak idocumentskontener.Zastąp zawartość pliku New Item.json danymi JSON i wybierz pozycję Zapisz:
{ "id": "doc1", "title": "Sample document", "content": "This is a sample document for testing my Azure Cosmos DB trigger in Azure Functions." }Po wybraniu pozycji Zapisz zobaczysz wykonanie funkcji w terminalu, a dokument lokalny zostanie zaktualizowany w celu uwzględnienia metadanych dodanych przez usługę.
Po zakończeniu naciśnij Ctrl+C w oknie terminalu
func.exe, aby zatrzymać proces hosta.
Przejrzyj kod (opcjonalnie)
Funkcja jest wyzwalana na podstawie zestawienia zmian w bazie danych NoSQL usługi Azure Cosmos DB. Te zmienne środowiskowe konfigurują sposób, w jaki wyzwalacz monitoruje strumień zmian.
-
COSMOS_CONNECTION__accountEndpoint: punkt końcowy konta usługi Cosmos DB -
COSMOS_DATABASE_NAME: nazwa bazy danych do monitorowania -
COSMOS_CONTAINER_NAME: nazwa kontenera do monitorowania
Te zmienne środowiskowe są tworzone zarówno na platformie Azure (ustawienia aplikacji funkcji), jak i lokalnie (local.settings.json) podczas azd provision operacji.
Możesz przejrzeć kod definiujący wyzwalacz usługi Azure Cosmos DB w pliku projektu CosmosTrigger.cs.
Możesz przejrzeć kod definiujący wyzwalacz usługi Azure Cosmos DB w pliku projektu cosmos_trigger.ts.
Możesz przejrzeć kod definiujący wyzwalacz usługi Azure Cosmos DB w pliku projektu function_app.py.
Po przejrzeniu i zweryfikowaniu kodu funkcji lokalnie nadszedł czas na opublikowanie projektu na platformie Azure.
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.
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.To polecenie otwiera nową aplikację funkcji w portalu Azure.
Na karcie Przegląd na stronie głównej wybierz nazwę swojej aplikacji funkcji, a następnie kartę Dzienniki.
NoSQL: Create ItemUżyj polecenia w programie Visual Studio Code, aby ponownie dodać dokument do kontenera tak jak poprzednio.Sprawdź ponownie, czy funkcja zostanie wyzwolona przez aktualizację w monitorowanym kontenerze.
Ponowne wdrażanie kodu
Możesz uruchomić azd deploy polecenie tyle razy, ile trzeba wdrożyć aktualizacje kodu w aplikacji funkcji.
Uwaga / Notatka
Wdrożone pliki kodu są zawsze zastępowane przez najnowszy pakiet wdrożeniowy.
Początkowe odpowiedzi na azd monity i wszystkie zmienne środowiskowe wygenerowane przez azd program są przechowywane lokalnie w nazwanym środowisku. Użyj polecenia , azd env get-values aby przejrzeć wszystkie zmienne w środowisku, które zostały użyte podczas tworzenia zasobów platformy Azure.
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.