Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här snabbstarten använder du Visual Studio Code för att skapa en app som svarar på databasändringar i en No SQL-databas i Azure Cosmos DB. När du har testat koden lokalt distribuerar du den till en ny serverlös funktionsapp som du skapar som körs i en Flex Consumption-plan i Azure Functions.
Projektkällan använder Azure Developer CLI-tillägget (azd) med Visual Studio Code för att förenkla initieringen och verifieringen av projektkoden lokalt samt för att distribuera koden till Azure. Den här distributionen följer aktuella metodtips för säkra och skalbara Azure Functions-distributioner.
Viktigt!
Den här artikeln stöds för närvarande endast i C#, Python och TypeScript. Slutför snabbstarten genom att välja något av de språk som stöds överst i artikeln.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto kostnadsfritt. 
- Visual Studio Code på någon av plattformarna som stöds. 
- Azure Functions-tillägget för Visual Studio Code. Det här tillägget kräver Azure Functions Core Tools. När det här verktyget inte är tillgängligt lokalt försöker tillägget installera det med hjälp av ett paketbaserat installationsprogram. Du kan också installera eller uppdatera Core Tools-paketet genom att köra - Azure Functions: Install or Update Azure Functions Core Toolsfrån kommandopaletten. Om du inte har npm eller Homebrew installerat på den lokala datorn måste du i stället installera eller uppdatera Core Tools manuellt.
- C#-tillägg för Visual Studio Code. 
- 
              Node.js 18.x eller senare. Använd kommandot node --versionför att kontrollera din version.
- Python-versioner som stöds av Azure Functions. Mer information finns i Installera Python. 
- Azure Developer CLI-tillägget för Visual Studio Code.
Initiera projektet
Du kan använda azd init kommandot från kommandopaletten för att skapa ett lokalt Azure Functions-kodprojekt från en mall.
- I Visual Studio Code öppnar du en mapp eller arbetsyta där du vill skapa projektet. 
- Tryck på F1 för att öppna kommandopaletten, sök efter och kör kommandot - Azure Developer CLI (azd): Initialize App (init)och välj sedan Välj en mall.- Det kan uppstå en liten fördröjning medan - azdinitierar den aktuella mappen eller arbetsytan.
- När du uppmanas, välj Välj en mall och sök sedan efter och välj - Azure Functions with Cosmos DB Bindings (.NET).
- När du uppmanas till det anger du ett unikt miljönamn, till exempel - cosmosdbchanges-dotnet.- Det här kommandot hämtar projektfilerna från malllagringsplatsen och initierar projektet i den aktuella mappen eller arbetsytan. I - azdanvänds miljön för att upprätthålla en unik distributionskontext för din app och du kan definiera mer än en. Det är också en del av namnet på den resursgrupp som du skapar i Azure.
- När du uppmanas väljer du Välj en mall, söker sedan efter och väljer - Azure Functions TypeScript CosmosDB trigger.
- När du uppmanas till det anger du ett unikt miljönamn, till exempel - cosmosdbchanges-ts.- Det här kommandot hämtar projektfilerna från malllagringsplatsen och initierar projektet i den aktuella mappen eller arbetsytan. I - azdanvänds miljön för att upprätthålla en unik distributionskontext för din app och du kan definiera mer än en. Det är också en del av namnet på den resursgrupp som du skapar i Azure.
- När du blir ombedd väljer du Välj en mall och söker sedan efter och väljer - Azure Functions Python with CosmosDB triggers and bindings....
- När du uppmanas till det anger du ett unikt miljönamn, till exempel - cosmosdbchanges-py.- Det här kommandot hämtar projektfilerna från malllagringsplatsen och initierar projektet i den aktuella mappen eller arbetsytan. I - azdanvänds miljön för att upprätthålla en unik distributionskontext för din app och du kan definiera mer än en. Det är också en del av namnet på den resursgrupp som du skapar i Azure.
- Kör det här kommandot, beroende på ditt lokala operativsystem, för att ge konfigurationsskript de behörigheter som krävs: - Kör det här kommandot med tillräcklig behörighet: - chmod +x ./infra/scripts/*.sh
Innan du kan köra appen lokalt måste du skapa resurserna i Azure. Det här projektet använder inte lokal emulering för Azure Cosmos DB.
Skapa Azure-resurser
Det här projektet är konfigurerat för att använda azd provision kommandot för att skapa en funktionsapp i en Flex Consumption-plan, tillsammans med andra nödvändiga Azure-resurser som följer gällande metodtips.
- I Visual Studio Code trycker du på F1 för att öppna kommandopaletten, söker efter och kör kommandot - Azure Developer CLI (azd): Sign In with Azure Developer CLIoch loggar sedan in med ditt Azure-konto.
- Tryck på F1 för att öppna kommandopaletten, sök efter och kör kommandot - Azure Developer CLI (azd): Provision Azure resources (provision)för att skapa nödvändiga Azure-resurser:
- När du uppmanas att göra det i terminalfönstret anger du följande nödvändiga distributionsparametrar: - Omedelbar - Description - Välj en Azure-prenumeration som ska användas - Välj den prenumeration där du vill att dina resurser ska skapas. - platsdistributionsparameter - Azure-region där du kan skapa resursgruppen som innehåller de nya Azure-resurserna. Endast regioner som för närvarande stöder Flex Consumption-planen visas. - vnetEnabled-distributionsparameter - Mallen har stöd för att skapa resurser i ett virtuellt nätverk, men för att förenkla distributionen och testningen väljer du - False.- Kommandot - azd provisionanvänder ditt svar på dessa frågor med Bicep-konfigurationsfilerna för att skapa och konfigurera de nödvändiga Azure-resurserna enligt de senaste metodtipsen:- Flex Consumption-plan och funktionsapp
- Azure Cosmos DB-konto
- Azure Storage (krävs) och Application Insights (rekommenderas)
- Åtkomstprinciper och roller för ditt konto
- Tjänst-till-tjänst-anslutningar med hanterade identiteter (i stället för lagrade anslutningssträng)
 - Postprovision-krokar genererar också den local.settings.json-fil som krävs när den körs lokalt. Den här filen innehåller också de inställningar som krävs för att ansluta till din Azure Cosmos DB-databas i Azure. - Tips/Råd - Om några steg misslyckas under provisioneringen - azd provisionkan du köra kommandot igen efter att du löst eventuella problem.- När kommandot har slutförts kan du köra projektkoden lokalt och utlösa på Azure Cosmos DB-databasen i Azure. 
Kör funktionen lokalt
Visual Studio Code integreras med Azure Functions Core-verktyg så att du kan köra det här projektet på din lokala utvecklingsdator innan du publicerar till din nya funktionsapp i Azure.
- Tryck på F1 och sök efter och kör kommandot - Azurite: Starti kommandopaletten.
- Starta funktionen lokalt genom att trycka på F5 eller ikonen Kör och felsöka i aktivitetsfältet till vänster. Terminalpanelen visar utdata från Core Tools. Appen startar i terminalpanelen och du kan se namnet på den funktion som körs lokalt. - Om du har problem med att köra windows kontrollerar du att standardterminalen för Visual Studio Code inte är inställd på WSL Bash. 
- Med Core Tools som fortfarande körs i Terminal trycker du på F1 och i kommandopaletten söker du efter och kör kommandot - NoSQL: Create Item...och väljer både- document-dbdatabasen och containern- documents.
- Ersätt innehållet i filen New Item.json med dessa JSON-data och välj Spara: - { "id": "doc1", "title": "Sample document", "content": "This is a sample document for testing my Azure Cosmos DB trigger in Azure Functions." }- När du har valt Spara ser du körningen av funktionen i terminalen och det lokala dokumentet uppdateras för att inkludera metadata som lagts till av tjänsten. 
- När du är klar trycker du på Ctrl+C i terminalfönstret för att stoppa - func.exevärdprocessen.
Granska koden (valfritt)
Funktionen utlöses baserat på ändringsflödet i en Azure Cosmos DB NoSQL-databas. Dessa miljövariabler konfigurerar hur utlösaren övervakar ändringsflödet:
- 
              COSMOS_CONNECTION__accountEndpoint: Cosmos DB-kontoslutpunkten
- 
              COSMOS_DATABASE_NAME: Namnet på databasen som ska övervakas
- 
              COSMOS_CONTAINER_NAME: Namnet på containern som ska övervakas
Dessa miljövariabler skapas åt dig både i Azure (funktionsappinställningar) och lokalt (local.settings.json) under åtgärden azd provision .
Du kan granska koden som definierar Azure Cosmos DB-utlösaren i CosmosTrigger.cs-projektfilen.
Du kan granska koden som definierar Azure Cosmos DB-utlösaren i cosmos_trigger.ts-projektfilen.
Du kan granska koden som definierar Azure Cosmos DB-utlösaren i function_app.py-projektfilen.
När du har granskat och verifierat funktionskoden lokalt är det dags att publicera projektet till Azure.
Distribuera till Azure
Du kan köra azd deploy kommandot från Visual Studio Code för att distribuera projektkoden till dina redan etablerade resurser i Azure.
- Tryck på F1 för att öppna kommandopaletten, sök efter och kör kommandot - Azure Developer CLI (azd): Deploy to Azure (deploy).- azd deploy-kommandot paketerar och distribuerar din kod till distributionscontainern. Appen startas sedan och körs i det distribuerade paketet.- När kommandot har slutförts körs appen i Azure. 
Anropa funktionen på Azure
- I Visual Studio Code trycker du på F1 och i kommandopaletten söker du efter och kör kommandot - Azure: Open in portal, väljer- Function appoch väljer din nya app. Logga in med ditt Azure-konto om det behövs.- Det här kommandot öppnar din nya funktionsapp i Azure-portalen. 
- På fliken Översikt på huvudsidan väljer du funktionsappens namn och sedan fliken Loggar . 
- NoSQL: Create ItemAnvänd kommandot i Visual Studio Code för att lägga till ett dokument i containern igen som tidigare.
- Kontrollera igen att funktionen utlöses av en uppdatering i den övervakade containern. 
Distribuera om koden
Du kan köra kommandot så många gånger som du behöver distribuera koduppdateringar till funktionsappen azd deploy .
Anmärkning
Distribuerade kodfiler skrivs alltid över av det senaste distributionspaketet.
Dina första svar på azd frågor och eventuella miljövariabler som genereras av azd lagras lokalt i din namngivna miljö. 
              azd env get-values Använd kommandot för att granska alla variabler i din miljö som användes när du skapade Azure-resurser.
Rensa resurser
När du är klar med funktionsappen och relaterade resurser kan du använda det här kommandot för att ta bort funktionsappen och dess relaterade resurser från Azure och undvika ytterligare kostnader:
azd down --no-prompt
Anmärkning
Alternativet --no-prompt instruerar azd dig att ta bort resursgruppen utan någon bekräftelse från dig.
Det här kommandot påverkar inte ditt lokala kodprojekt.