Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto rychlém startu použijete Visual Studio Code k vytvoření aplikace, která reaguje na změny v NoSQL databázi v prostředí Azure Cosmos DB. Po místním otestování kódu ho nasadíte do nové aplikace funkcí bez serveru, kterou vytvoříte v plánu Flex Consumption ve službě Azure Functions.
Zdroj projektu používá rozšíření Azure Developer CLI (azd) se sadou Visual Studio Code ke zjednodušení inicializace a ověřování kódu projektu místně a také k nasazení kódu do Azure. Toto nasazení se řídí aktuálními osvědčenými postupy pro zabezpečená a škálovatelná nasazení Azure Functions.
Důležité
Při reagování na změny ve službě Azure Cosmos DB Není podporována žádná databáze SQL pro všechny jazyky, tento scénář rychlého startu v současné době obsahuje pouze příklady pro C#, Python a TypeScript. K dokončení tohoto rychlého startu vyberte jeden z těchto podporovaných jazyků v horní části článku.
Požadavky
Účet Azure s aktivním předplatným. Vytvořte si bezplatný účet.
Visual Studio Code na jedné z podporovaných platforem.
Rozšíření Azure Functions pro Visual Studio Code Toto rozšíření vyžaduje Azure Functions Core Tools. Pokud tento nástroj není k dispozici místně, pokusí se rozšíření nainstalovat pomocí instalačního programu založeného na balíčku. Balíček Core Tools můžete také nainstalovat nebo aktualizovat spuštěním
Azure Functions: Install or Update Azure Functions Core Toolsz palety příkazů. Pokud nemáte na místním počítači nainstalovaný npm nebo Homebrew, musíte místo toho nainstalovat nebo aktualizovat nástroje Core Tools ručně.
Rozšíření jazyka C# pro Visual Studio Code
-
Node.js 18.x nebo vyšší. Pomocí příkazu
node --versionzkontrolujte svou verzi.
Verze Pythonu podporované službou Azure Functions Další informace najdete v tématu Postup instalace Pythonu.
- Rozšíření Azure Developer CLI pro Visual Studio Code
Inicializace projektu
Pomocí příkazu azd init z palety příkazů můžete vytvořit projekt kódu Azure Functions místně ze šablony.
V editoru Visual Studio Code otevřete složku nebo pracovní prostor, ve kterém chcete vytvořit projekt.
Stisknutím klávesy F1 otevřete paletu příkazů, vyhledejte a spusťte příkaz
Azure Developer CLI (azd): Initialize App (init)a pak zvolte Vybrat šablonu.Při inicializaci aktuální složky nebo pracovního prostoru může dojít k mírnému zpoždění
azd.
Po zobrazení výzvy zvolte Vybrat šablonu a pak vyhledejte a vyberte
Azure Functions with Cosmos DB Bindings (.NET).Po zobrazení výzvy zadejte jedinečný název prostředí, například
cosmosdbchanges-dotnet.Tento příkaz načte soubory projektu z úložiště šablon a inicializuje projekt v aktuální složce nebo pracovním prostoru. V
azdprostředí se používá k zachování jedinečného kontextu nasazení pro vaši aplikaci a můžete definovat více než jedno. Je také součástí názvu skupiny prostředků, kterou vytvoříte v Azure.
Po zobrazení výzvy zvolte Vybrat šablonu a pak vyhledejte a vyberte
Azure Functions TypeScript CosmosDB trigger.Po zobrazení výzvy zadejte jedinečný název prostředí, například
cosmosdbchanges-ts.Tento příkaz načte soubory projektu z úložiště šablon a inicializuje projekt v aktuální složce nebo pracovním prostoru. V
azdprostředí se používá k zachování jedinečného kontextu nasazení pro vaši aplikaci a můžete definovat více než jedno. Je také součástí názvu skupiny prostředků, kterou vytvoříte v Azure.
Po zobrazení výzvy zvolte Vybrat šablonu a pak vyhledejte a vyberte
Azure Functions Python with CosmosDB triggers and bindings....Po zobrazení výzvy zadejte jedinečný název prostředí, například
cosmosdbchanges-py.Tento příkaz načte soubory projektu z úložiště šablon a inicializuje projekt v aktuální složce nebo pracovním prostoru. V
azdprostředí se používá k zachování jedinečného kontextu nasazení pro vaši aplikaci a můžete definovat více než jedno. Je také součástí názvu skupiny prostředků, kterou vytvoříte v Azure.
Spuštěním tohoto příkazu v závislosti na místním operačním systému udělte konfiguračním skriptům požadovaná oprávnění:
Spusťte tento příkaz s dostatečnými oprávněními:
chmod +x ./infra/scripts/*.sh
Než budete moct aplikaci spustit místně, musíte prostředky vytvořit v Azure. Tento projekt nepoužívá místní emulaci pro službu Azure Cosmos DB.
Vytvoření zdrojů Azure
Tento projekt je nakonfigurovaný tak, aby pomocí azd provision příkazu vytvořil aplikaci funkcí v plánu Flex Consumption a další požadované prostředky Azure, které dodržují aktuální osvědčené postupy.
V editoru Visual Studio Code stisknutím klávesy F1 otevřete paletu příkazů, vyhledejte a spusťte příkaz
Azure Developer CLI (azd): Sign In with Azure Developer CLIa pak se přihlaste pomocí svého účtu Azure.Stisknutím klávesy F1 otevřete paletu příkazů, vyhledejte a spusťte příkaz
Azure Developer CLI (azd): Provision Azure resources (provision)a vytvořte požadované prostředky Azure:Po zobrazení výzvy v okně terminálu zadejte tyto požadované parametry nasazení:
Podnět Description Vyberte předplatné Azure, které chcete použít. Zvolte předplatné, ve kterém chcete, aby byly prostředky vytvořeny. parametr nasazení location Oblast Azure, ve které se má vytvořit skupina prostředků, která obsahuje nové prostředky Azure. Zobrazí se pouze oblasti, které aktuálně podporují plán Flex Consumption. Parametr nasazení vnetEnabled I když šablona podporuje vytváření prostředků ve virtuální síti, pro zjednodušení nasazení a testování zvolte False.Tento
azd provisionpříkaz použije vaši odpověď na tyto výzvy s konfiguračními soubory Bicep k vytvoření a konfiguraci těchto požadovaných prostředků Azure podle nejnovějších osvědčených postupů:- Plán Flex Consumption a aplikace funkcí
- Účet služby Azure Cosmos DB
- Azure Storage (povinné) a Application Insights (doporučeno)
- Zásady přístupu a role pro váš účet
- Připojení mezi službami pomocí spravovaných identit (místo uložených připojovací řetězec)
Po zřízení háky také generují local.settings.json soubor potřebný při místním spuštění. Tento soubor obsahuje také nastavení potřebná pro připojení k databázi Azure Cosmos DB v Azure.
Návod
Pokud všechny kroky během zřizování selžou, můžete po vyřešení jakýchkoli problémů příkaz znovu spustit
azd provision.Po úspěšném dokončení příkazu můžete kód projektu spustit místně a aktivovat v databázi Azure Cosmos DB v Azure.
Místní spuštění funkce
Visual Studio Code se integruje s nástroji Azure Functions Core, které vám umožní spustit tento projekt na místním vývojovém počítači před publikováním do nové aplikace funkcí v Azure.
Stiskněte klávesu F1 a v paletě příkazů vyhledejte a spusťte příkaz
Azurite: Start.Pokud chcete funkci spustit místně, stiskněte klávesu F5 nebo ikonu Spustit a ladit na panelu aktivit na levé straně. Na panelu Terminálu se zobrazí výstup nástrojů Core Tools. Aplikace se spustí na panelu Terminálu a zobrazí se název funkce, která je spuštěná místně.
Pokud máte potíže se spuštěním ve Windows, ujistěte se, že výchozí terminál pro Visual Studio Code není nastavený na WSL Bash.
Při stále běžících Core Tools v terminálu stiskněte F1 a v příkazové paletě vyhledejte a spusťte příkaz
NoSQL: Create Item...a vyberte jakdocument-dbdatabázi, takdocumentskontejner.Nahraďte obsah souboru Nový Item.json daty JSON a vyberte Uložit:
{ "id": "doc1", "title": "Sample document", "content": "This is a sample document for testing my Azure Cosmos DB trigger in Azure Functions." }Po výběru možnosti Uložit se v terminálu zobrazí spuštění funkce a místní dokument se aktualizuje tak, aby zahrnoval metadata přidaná službou.
Až budete hotovi, ukončete proces hostitele stisknutím ctrl+C v okně
func.exeterminálu.
Kontrola kódu (volitelné)
Funkce se aktivuje na základě kanálu změn v databázi NoSQL služby Azure Cosmos DB. Tyto proměnné prostředí konfigurují způsob, jakým trigger monitoruje změnový kanál:
-
COSMOS_CONNECTION__accountEndpoint: Koncový bod účtu služby Cosmos DB -
COSMOS_DATABASE_NAME: Název databáze, která se má monitorovat. -
COSMOS_CONTAINER_NAME: Název kontejneru, který se má monitorovat.
Tyto proměnné prostředí jsou vytvořeny pro vás jak v Azure (nastavení funkční aplikace), tak i místně (local.settings.json) během azd provision operace.
Můžete zkontrolovat kód, který definuje trigger služby Azure Cosmos DB v souboru projektu CosmosTrigger.cs.
Můžete zkontrolovat kód, který definuje trigger služby Azure Cosmos DB v souboru projektu cosmos_trigger.ts.
Můžete zkontrolovat kód, který definuje trigger služby Azure Cosmos DB v souboru projektu function_app.py.
Jakmile kód funkce zkontrolujete a ověříte místně, je čas projekt publikovat do Azure.
Nasazení do Azure
Spuštěním příkazu z editoru azd deploy Visual Studio Code můžete nasadit kód projektu do již zřízených prostředků v Azure.
Stisknutím klávesy F1 otevřete paletu příkazů, vyhledejte a spusťte příkaz
Azure Developer CLI (azd): Deploy to Azure (deploy).Příkaz
azd deployzabalí a nasadí váš kód do nasazovacího kontejneru. Aplikace se pak spustí a spustí v nasazeném balíčku.Po úspěšném dokončení příkazu je vaše aplikace spuštěná v Azure.
Vyvolání funkce v Azure
V editoru Visual Studio Code stiskněte klávesu F1 a na paletě příkazů vyhledejte a spusťte příkaz
Azure: Open in portal, vyberteFunction appa zvolte novou aplikaci. V případě potřeby se přihlaste pomocí svého účtu Azure.Tento příkaz otevře novou aplikaci funkcí na webu Azure Portal.
Na kartě Přehled na hlavní stránce vyberte název aplikace funkcí a pak kartu Protokoly .
Pomocí příkazu v editoru
NoSQL: Create ItemVisual Studio Code znovu přidejte dokument do kontejneru jako předtím.Znovu ověřte, že se funkce aktivuje aktualizací v monitorovaném kontejneru.
Opětovné nasazení kódu
Příkaz můžete spustit azd deploy tolikrát, kolikrát potřebujete nasadit aktualizace kódu do aplikace funkcí.
Poznámka:
Nasazené soubory kódu se vždy přepíšou nejnovějším balíčkem pro nasazení.
Vaše počáteční odpovědi na azd výzvy a všechny proměnné prostředí vygenerované azd pomocí se ukládají místně ve vašem pojmenovaném prostředí.
azd env get-values Pomocí příkazu zkontrolujte všechny proměnné ve vašem prostředí, které se použily při vytváření prostředků Azure.
Vyčistěte zdroje
Po dokončení práce s aplikací funkcí a souvisejícími prostředky můžete pomocí tohoto příkazu odstranit aplikaci funkcí a související prostředky z Azure a vyhnout se dalším nákladům:
azd down --no-prompt
Poznámka:
Tato --no-prompt možnost dává azd pokyn k odstranění skupiny prostředků bez potvrzení od vás.
Tento příkaz nemá vliv na místní projekt kódu.