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.
Gäller för: Azure Logic Apps (Standard)
Den här guiden visar hur du lokalt skapar ett exempel på ett standardlogikapparbetsflöde som du kan köra i Azure Logic Apps med en enda klientorganisation när du använder Visual Studio Code med Tillägget Azure Logic Apps (Standard).
I den här guiden skapar du en standardarbetsyta och ett projekt för logikappar, skapar arbetsflödet och distribuerar projektet som en standardlogikappresurs i Azure där arbetsflödet kan köras i Azure Logic Apps med en enda klient eller i App Service Environment v3 (endast Windows-baserade App Service-planer). Du kan också distribuera och köra arbetsflödet var som helst där Kubernetes kan köras, till exempel Azure, Azure Kubernetes Service, lokalt eller till och med andra molnleverantörer på grund av den containerbaserade körningen för Azure Logic Apps (Standard).
Här är några fördelar som standardlogikappar ger:
Du kan skapa, felsöka, köra och testa arbetsflöden lokalt i den lokala Visual Studio Code-utvecklingsmiljön. Både Azure-portalen och Visual Studio Code ger möjlighet att skapa, köra och distribuera standardresurser och arbetsflöden för logikappar. Med Visual Studio Code kan du dock utföra dessa uppgifter lokalt.
Ditt standardlogikappprojekt kan innehålla både tillståndskänsliga och tillståndslösa arbetsflöden.
Arbetsflöden i samma Standard Logic Apps-resurs och tenant körs i samma process som Azure Logic Apps (Standard)-körning, vilket gör att de delar samma resurser och får bättre prestanda.
Den här guidens exempelarbetsflöde börjar först med en utlösare för begäran följt av en Office 365 Outlook-åtgärd . Utlösaren Begäran skapar en anropsbar slutpunkt för arbetsflödet och väntar på en inkommande HTTPS-begäran från alla anropare. När utlösaren tar emot en begäran och utlöses körs nästa åtgärd genom att skicka e-post till den angivna mottagaren tillsammans med eventuella utlösarutdata som du väljer. Senare kan du lägga till en svarsåtgärd som returnerar ett svar och bearbetade data till anroparen.
Den här guidens exempel är molnbaserat och innehåller bara några få steg, men du kan skapa arbetsflöden med hjälp av åtgärder från över 1 400 anslutningsappar som hjälper dig att integrera ett stort antal tjänster, system, appar och data i molnet, lokalt och i hybridmiljöer.
När du går igenom guiden slutför du följande uppgifter på hög nivå:
- Skapa en standardarbetsyta och ett projekt för logikappen med ett tomt tillståndskänsligt arbetsflöde.
- Lägg till en utlösare och åtgärder i arbetsflödet.
- Kör, felsöka och testa lokalt.
- Granska arbetsflödets körningshistorik.
- Hitta domännamnsinformation för brandväggsåtkomst.
- Aktivera körningshistorik för tillståndslösa arbetsflöden.
- Distribuera till Azure, vilket inkluderar att aktivera Application Insights.
- Aktivera eller öppna Application Insights efter distributionen.
- Hantera din distribuerade logikappresurs i Visual Studio Code och Azure-portalen.
Förutsättningar
Åtkomst- och anslutningskrav
Om du planerar att skapa och köra arbetsflöden lokalt med hjälp av endast inbyggda åtgärder, som körs internt på Azure Logic Apps-körningen (Standard), behöver du inte åtkomst- och anslutningskrav i det här avsnittet. För följande scenarier måste du dock uppfylla dessa krav:
- Distribuera logikappen till Azure från Visual Studio Code.
- Skapa ett arbetsflöde som använder hanterade kopplingsoperationer som körs i Azure globalt.
- Få åtkomst till befintliga standardlogikappresurser och arbetsflöden i Azure eller andra distribuerade Azure-resurser.
Dessa krav omfattar följande:
Ett Azure-konto och prenumeration. Om du inte har någon prenumeration kan du registrera ett kostnadsfritt Azure-konto.
Åtkomst till Internet så att du kan ladda ned det tillägg som krävs, ansluta från Visual Studio Code till ditt Azure-konto, testa arbetsflöden som innehåller åtgärder för hanterade anslutningsappar och distribuera till Azure från Visual Studio Code.
Om du vill skapa samma exempelarbetsflöde i den här guiden behöver du ett Office 365 Outlook-e-postkonto som använder ett Microsoft-arbets- eller skolkonto för att logga in.
Om du inte har något Office 365-konto kan du använda andra tillgängliga åtgärder som kan skicka meddelanden från ditt e-postkonto, till exempel Outlook.com. Om du väljer en annan e-postanslutning, till exempel Outlook.com, kan du fortfarande följa exemplet och de allmänna övergripande stegen är desamma. Din erfarenhet och dina alternativ kan dock skilja sig åt på vissa sätt. Med Outlook.com-anslutningsappen kan du till exempel använda ditt personliga Microsoft-konto för att logga in.
Arbetsredskap
Ladda ned och installera Visual Studio Code, som är kostnadsfritt.
Ladda ned och installera Tillägget Azure Logic Apps (Standard) för Visual Studio Code genom att följa dessa steg:
I Visual Studio Code går du till aktivitetsfältet och väljer Tillägg. (Tangentbord: Tryck på Ctrl+Skift+X)
I sökrutan tillägg anger du azure logic apps standard. I resultatlistan väljer du Installera Azure Logic Apps (Standard).>
Tillägget laddar ned och installerar alla nödvändiga beroenden och rätt versioner för följande ramverk:
- Azure Functions Core Tools (verktyg för att utveckla funktioner i Azure)
- .NET SDK
- Node.js
När installationen är klar visas tillägget i listan Tillägg: Installerad .
Läs in eller starta om Visual Studio Code igen för att se till att tillägget och alla beroenden installeras korrekt.
Information om hur du bekräftar att tillägget och alla beroenden är korrekt installerade finns i Kontrollera tilläggsinstallationen.
För närvarande kan du ha både förbrukningstillägg (flera klienter) och standardtillägg (en klientorganisation) installerade samtidigt. Utvecklingsupplevelserna skiljer sig från varandra på vissa sätt, men din Azure-prenumeration kan innehålla resurstyperna för både standard- och förbrukningslogikappen. I Visual Studio Code visar Azure-fönstret alla Azure-distribuerade och värdbaserade logikappar i din Azure-prenumeration, men organiserar dina appar på följande sätt:
- Avsnittet Resurser : Alla standardlogikappar i din prenumeration.
- Avsnittet Logic Apps (Förbrukning): Alla förbrukningslogikappar i din prenumeration.
Om du vill köra webhook-baserade utlösare och åtgärder lokalt, till exempel den inbyggda HTTP Webhook-utlösaren, måste du konfigurera vidarebefordran för motringnings-URL:en i Visual Studio Code.
Om du vill aktivera diagnostikloggning och spårning med Application Insights för standardlogikappen kan du slutföra den här uppgiften antingen under distributionen av logikappen eller efter distributionen. Du måste ha en Application Insights-resurs, men du kan skapa den här resursen i förväg, under distributionen eller efter distributionen.
Installera eller använd ett verktyg som kan skicka HTTP-begäranden för att testa exempelarbetsflödet, till exempel:
- Visual Studio Code med ett tillägg från Visual Studio Marketplace
- PowerShell Invoke-RestMethod
- Microsoft Edge – verktyg för nätverkskonsol
- Bruno
- hårlock
Försiktighet
För scenarier där du har känsliga data, till exempel autentiseringsuppgifter, hemligheter, åtkomsttoken, API-nycklar och annan liknande information, bör du använda ett verktyg som skyddar dina data med nödvändiga säkerhetsfunktioner. Verktyget bör fungera offline eller lokalt och behöver inte logga in på ett onlinekonto eller synkronisera data till molnet. När du använder ett verktyg med dessa egenskaper minskar du risken för att exponera känsliga data för allmänheten.
Kontrollera tilläggsinstallationen
För att se till att tillägget och alla beroenden är korrekt installerade läser du in eller startar om Visual Studio Code.
Bekräfta att Visual Studio Code automatiskt hittar och installerar tilläggsuppdateringar så att alla tillägg får de senaste uppdateringarna. Annars måste du avinstallera den inaktuella versionen manuellt och installera den senaste versionen.
På menyn Arkiv går du till Inställningar>.
Gå till på fliken Användare.
Kontrollera att Uppdateringar för automatisk kontroll är markerat och att Automatisk uppdatering är inställt på Alla tillägg.
Kontrollera att inställningen Azure Logic Apps Standard: Project Runtime är inställd på rätt version:
Gå till > på fliken Användare.
Kontrollera att Project Runtime är inställt på version ~4, till exempel:
Anmärkning
Den här versionen krävs för att använda åtgärderna infogad kod.
Anslut till ditt Azure-konto
Om du inte redan är ansluten till ditt Azure-konto följer du dessa steg för att ansluta:
I Visual Studio Code går du till aktivitetsfältet och väljer Azure-ikonen för att öppna Azure-fönstret .
I Azure-fönstret under Resurser väljer du Logga in på Azure. När autentiseringssidan för Visual Studio Code visas loggar du in med ditt Azure-konto.
När du har loggat in visar Azure-fönstret de Azure-prenumerationer som är associerade med ditt Azure-konto. Om de förväntade prenumerationerna inte visas eller om du vill att fönstret endast ska visa specifika prenumerationer följer du dessa steg:
I prenumerationslistan flyttar du pekaren bredvid den första prenumerationen tills knappen Välj prenumerationer (filterikonen) visas. Välj filterikonen.
I statusfältet i Visual Studio Code väljer du ditt Azure-konto.
När listan med uppdaterade prenumerationer visas väljer du de prenumerationer som du vill använda och ser till att du väljer OK.
Skapa en lokal arbetsyta
Ett logikappsprojekt kräver alltid en arbetsyta. Så innan du kan skapa logikappen måste du skapa en arbetsyta där du behåller ditt logikappsprojekt. Senare använder du den här arbetsytan och projektet för att hantera, köra och distribuera logikappen från Visual Studio Code till distributionsmiljön. Det underliggande projektet liknar ett Azure Functions-projekt, även kallat ett funktionsappsprojekt.
På datorn skapar du en tom lokal mapp som ska användas senare för arbetsytan och projektet.
I det här exemplet skapas en mapp med namnet fabrikam-workflows.
Stäng alla öppna mappar i Visual Studio Code.
I Azure-fönstret går du till verktygsfältet Arbetsyta i menyn Azure Logic Apps och väljer Skapa ny logikapparbetsyta.
Om Windows Defender-brandväggen uppmanar dig att bevilja nätverksåtkomst för Code.exe, vilket är Visual Studio Code, och för func.exe, som är Azure Functions Core Tools, väljer du Privata nätverk, till exempel mitt hem- eller arbetsnätverk > Tillåt åtkomst.
I fönstret Välj mapp går du till den plats där du skapade mappen, väljer mappen och väljer Välj (dubbelval inte mappen).
I verktygsfältet i Visual Studio Code visas en uppmaning om att ge arbetsytan namnet.
För Ange ett namn på arbetsytan anger du namnet på arbetsytan som ska användas.
I det här exemplet används Fabrikam-Workflows.
Skapa sedan ditt logikappsprojekt.
Skapa ditt logikappsprojekt
När du har skapat den nödvändiga arbetsytan följer du anvisningarna för att skapa projektet.
Välj Logikapp för din projektmall. Ange ett projektnamn som ska användas.
I det här exemplet används Fabrikam-Workflows.
För arbetsflödesmallen väljer du antingen Tillståndskänsligt arbetsflöde eller Tillståndslöst arbetsflöde baserat på ditt scenario. Ange ett arbetsflödesnamn som ska användas.
Det här exemplet väljer Tillståndskänsligt arbetsflöde, som lagrar arbetsflödeshistorik, indata och utdata och använder Stateful-Workflow som namn.
Tillståndslösa arbetsflöden lagrar inte denna data och stöder för närvarande endast hanterade connector-åtgärder, inte utlösare. Även om du har möjlighet att aktivera anslutningsappar i Azure för ditt tillståndslösa arbetsflöde, visar designern inga utlösare för hanterade anslutningsappar som du kan välja.
Anmärkning
Om du får ett fel med namnet azureLogicAppsStandard.createNewProject med felmeddelandet Kan inte skriva till Arbetsyteinställningar eftersom azureFunctions.suppressProject inte är en registrerad konfiguration kan du prova att installera om Azure Functions-tillägget för Visual Studio Code, antingen direkt från Visual Studio Marketplace eller inifrån Visual Studio Code.
Välj nu om du vill öppna projektet i det aktuella Visual Studio Code-fönstret eller ett nytt fönster. Välj Öppna i aktuellt fönster eller Öppna i nytt fönster, baserat på dina önskemål.
Fönstret Utforskaren öppnas för att visa din arbetsyta, ditt projekt och den automatiskt öppnade workflow.json filen. Den här filen finns i mappen Stateful-Workflow och lagrar den underliggande JSON-definitionen för arbetsflödet som du skapar i designern. Information om projektstrukturen finns i Standardstruktur för logikapp-projekt.
Du får också en uppmaning om att aktivera multitenant Azure-värdbaserade "delade" kopplingar, till exempel:
Om du vill aktivera alla hanterade "delade" anslutningsappar som körs i Azure med flera klientorganisationer så att du kan visa och välja att använda dem i arbetsflödet väljer du Använd anslutningsappar från Azure.
Anmärkning
Om du inte väljer det här alternativet och senare försöker lägga till en hanterad anslutningsåtgärd när du skapar arbetsflödet kan du inte fortsätta eftersom åtgärdsinformationsfönstret visar en snurrande cirkel som inte stoppas.
För Azure-resursgruppen väljer du Skapa ny resursgrupp. Ange resursgruppens namn som ska användas.
I det här exemplet används Fabrikam-Workflows-RG.
För prenumerationen väljer du den Azure-prenumeration som ska användas med ditt logikappsprojekt.
För den plats där du skapar din grupp och dina resurser väljer du Azure-regionen.
I det här exemplet används USA, västra centrala.
Om projektet behöver en annan konfiguration för utveckling eller behöver stödtefakter för att skapa arbetsflödet kan du läsa följande scenarier och relaterade uppgifter:
Scenarium Aktivitet Kör webhook-baserade utlösare eller åtgärder lokalt. Konfigurera vidarebefordran för webhook-url:er för återanrop. Konfigurera tillståndslös arbetsflödeskörningshistorik. Aktivera körningshistorik för tillståndslösa arbetsflöden. Lägg till artefakter och beroenden, till exempel kartor, scheman och sammansättningar. Lägg till artefakter och beroenden. Arbeta med ett NuGet-baserat projekt (.NET) Konvertera ett tilläggsbaserat paketprojekt (Node.js) till ett NuGet-paketbaserat projekt (.NET).
Obs! Om du vill konvertera ett tilläggspaketbaserat (Node.js) projekt som du skapade innan sammansättningsstöd fanns, se även Migrera NuGet-paketbaserade projekt för att använda sammansättningar i lib-mappen.Skapa egna inbyggda kopplingar. 1. Konvertera ett tilläggspaketbaserat (Node.js) projekt till ett NuGet-paketbaserat (.NET)-projekt .
2. Aktivera inbyggt anslutningsredigering.
Öppna nu arbetsflödesdesignern.
Öppna arbetsflödesdesignern
När projektet har öppnats i explorer-fönstret öppnar du designern så att du kan skapa arbetsflödet.
På snabbmenyn för filen workflow.json väljer du Öppna designern.
Anmärkning
När du har valt det här alternativet kan du få meddelandet att det kan ta några sekunder att starta arbetsflödets designtids-API. Du kan ignorera det här meddelandet eller välja OK.
Visual Studio Code öppnar arbetsflödesdesignern och visar kommandotolken Lägg till en utlösare , till exempel:
Anmärkning
Om designern inte öppnas kan du läsa felsökningsavsnittet, designern kan inte öppnas.
Lägg sedan till en utlösare och åtgärder för att skapa arbetsflödet.
Lägga till en utlösare och en åtgärd
Om du vill skapa arbetsflödet startar du arbetsflödet med en utlösare och lägger sedan till en enda åtgärd. På så sätt kan du testa arbetsflödet innan du lägger till nästa åtgärd. Exempelarbetsflödet använder följande utlösare och åtgärder, tillsammans kallade åtgärder:
Anslutning eller åtgärdsgrupp | Operationsnamn | Typ av operation | Beskrivning |
---|---|---|---|
Förfrågan | När en HTTP-begäran tas emot | Utlösare (inbyggd) | Skapar en slutpunkts-URL i arbetsflödet för att ta emot inkommande anrop eller begäranden från andra tjänster eller arbetsflöden för logikappar. Mer information finns i Ta emot och svara på inkommande HTTPs-anrop till arbetsflöden. |
Office 365 Outlook | Skicka ett e-postmeddelande | Åtgärd (hanterad) | Skicka ett e-postmeddelande med ett Office 365 Outlook-konto. Om du vill följa stegen i den här guiden behöver du ett Office 365 Outlook-e-postkonto. Mer information finns i Ansluta till Office 365 Outlook från Azure Logic Apps. Obs! Om du har ett e-postkonto som stöds av en annan anslutningsapp kan du använda anslutningsappen, men den anslutningsappens användarupplevelse skiljer sig från stegen i det här exemplet. |
Förfrågan | Svar | Åtgärd (inbyggd) | Skicka ett svar och returnera data tillbaka till anroparen. Mer information finns i Lägg till en svarsåtgärd. |
Lägg till utlösaren Förfrågning
I arbetsflödesdesignern väljer du Lägg till en utlösare, om den inte redan har valts.
Fönstret Lägg till en utlösare öppnas och visar ett galleri där du kan välja bland tillgängliga anslutningsappar och åtgärdsgrupper, till exempel:
I fönstret Lägg till en utlösareföljer du de här allmänna stegen för att lägga till utlösaren Förfrågning med namnet När en HTTP-begäran tas emot.
I följande exempel väljs det inbyggda alternativet så att endast de inbyggda utlösarna visas:
När utlösaren visas i designern öppnas informationsfönstret för utlösaren och visar utlösarens parametrar, inställningar och andra relaterade uppgifter.
Anmärkning
Om informationsfönstret för utlösaren inte visas kontrollerar du att utlösaren har valts i designern.
Spara arbetsflödet. I verktygsfältet för designern väljer du Spara.
Lägg till office 365 Outlook-åtgärden
I designern följer du de här allmänna stegen under utlösaren Begäranför att lägga till Office 365 Outlook-åtgärdenmed namnet Skicka ett e-postmeddelande (V2).
Om åtgärden inte visas i de första resultaten bredvid anslutningsappens namn väljer du Visa mer, till exempel:
När åtgärdens autentiseringsfönster visas väljer du Logga in för att skapa en anslutning till ditt e-postkonto.
Följ de efterföljande anvisningarna för att autentisera dina autentiseringsuppgifter, tillåta åtkomst och tillåta att du återgår till Visual Studio Code.
Anmärkning
Om för mycket tid går innan du slutför anvisningarna överskrider autentiseringsprocessen tidsgränsen och misslyckas. I det här fallet går du tillbaka till designern och försöker logga in igen för att skapa anslutningen.
När Microsoft-autentiseringsprompten visas väljer du ditt användarkonto för Office 365 Outlook. På den bekräftelse krävs sida som öppnas väljer du Tillåt åtkomst.
När Azure Logic Apps uppmanas att öppna en Visual Studio Code-länk väljer du Öppna.
När Visual Studio Code uppmanar dig att öppna tillägget i Microsoft Azure Tools väljer du Öppna.
När Visual Studio Code har skapat anslutningen visar vissa anslutningsappar meddelandet att Anslutningen endast är giltig <i n> dagar. Den här tidsgränsen gäller endast för varaktigheten när du skapar logikappens arbetsflöde i Visual Studio Code. Efter distributionen gäller inte längre den här gränsen eftersom arbetsflödet kan autentisera vid körning med hjälp av den automatiskt aktiverade systemtilldelade hanterade identiteten. Den här hanterade identiteten skiljer sig från autentiseringsuppgifterna eller anslutningssträng som du använder när du skapar en anslutning. Om du inaktiverar den här systemtilldelade hanterade identiteten fungerar inte anslutningar vid körning.
I fönstret Skicka e-postinformation som öppnas på fliken Parametrar anger du nödvändig information för åtgärden.
Anmärkning
Om åtgärdsinformationsfönstret inte öppnas automatiskt väljer du åtgärden Skicka ett e-postmeddelande i designern.
Fastighet Krävs Värde Beskrivning till Ja < din e-postadress> E-postmottagaren, som kan vara din e-postadress i testsyfte. I det här exemplet används det fiktiva e-postmeddelandet, sophia.owen@fabrikam.com. Subjekt Ja Ett e-postmeddelande från ditt exempelarbetsflöde E-postämnet Kropp Ja Hej från ditt exempelarbetsflöde! Innehållet i e-postmeddelandets brödtext Till exempel:
Spara arbetsflödet. I designern väljer du Spara.
Projektstruktur för standard-logikapp
I Visual Studio Code har logikappprojektet någon av följande typer:
- Tilläggspaketbaserad (Node.js), som är standardtypen
- NuGet-paketbaserad (.NET), som du kan konvertera från standardtypen
Baserat på dessa typer kan projektet innehålla lite olika mappar eller filer. Ett Nuget-paketbaserat projekt har till exempel en .bin mapp som innehåller paket och andra biblioteksfiler. Ett tilläggspaketbaserat projekt innehåller inte den här .bin mappen.
Vissa scenarier kräver ett NuGet-paketbaserat projekt för att appen ska kunna köras, till exempel när du vill utveckla och köra anpassade inbyggda åtgärder. För mer information om hur du konverterar ditt projekt till att använda NuGet, se Aktivera inbyggd connector-författande.
Standardtilläggets paketbaserade projekt har en mapp och filstruktur som liknar följande exempel:
MyWorkspaceName
| MyBundleBasedLogicAppProjectName
|| .vscode
|| Artifacts
||| Maps
|||| MapName1
|||| ...
||| Rules
||| Schemas
|||| SchemaName1
|||| ...
|| lib
||| builtinOperationSdks
|||| JAR
|||| net472
||| custom
|| WorkflowName1
||| workflow.json
||| ...
|| WorkflowName2
||| workflow.json
||| ...
|| workflow-designtime
||| host.json
||| local.settings.json
|| .funcignore
|| connections.json
|| host.json
|| local.settings.json
På projektets rotnivå hittar du följande mappar och filer tillsammans med andra objekt:
Namn | Mapp eller fil | Beskrivning |
---|---|---|
.vscode | Mapp | Innehåller Visual Studio Code-relaterade inställningsfiler, till exempel extensions.json, launch.json, settings.json och tasks.json filer. |
artefakter | Mapp | Innehåller artefakter för integrationskonto som du definierar och använder i arbetsflöden som stöder B2B-scenarier (business-to-business). Exempelstrukturen innehåller till exempel följande mappar: - Kartor: Innehåller kartor som ska användas för XML-transformeringsåtgärder. - Scheman: Innehåller scheman som ska användas för XML-valideringsåtgärder. - Regler: Komponenter för affärsregler i regelbaserade systemprojekt. |
Lib | Mapp | Innehåller sammansättningar som stöds som logikappen kan använda eller referera till. Du kan ladda upp dessa sammansättningar till projektet i Visual Studio Code, men du måste lägga till dem i specifika mappar i projektet. Den här mappen innehåller till exempel följande mappar: - builtinOperationSdks: Innehåller JAR- respektive net472-mapparna för Java- respektive .NET Framework-sammansättningar. - custom: Innehåller anpassade .NET Framework-sammansättningar. Mer information om sammansättningstyper som stöds och var du placerar dem i projektet finns i Lägga till sammansättningar i projektet. |
< WorkflowName> | Mapp | För varje arbetsflöde <innehåller mappen WorkflowName> en workflow.json fil som innehåller arbetsflödets underliggande JSON-definition. |
workflow-designtime | Mapp | Innehåller filer för miljörelaterade inställningar för utveckling. |
.funcignore | Fil | Innehåller information om dina installerade Azure Functions Core Tools. |
connections.json | Fil | Innehåller metadata, slutpunkter och nycklar för alla hanterade anslutningar och Azure-funktioner som dina arbetsflöden använder. Viktigt: Om du vill använda olika anslutningar och funktioner för varje miljö måste du parametrisera den här connections.json filen och uppdatera slutpunkterna. |
host.json | Fil | Innehåller körningsspecifika konfigurationsinställningar och värden, till exempel standardgränserna för Azure Logic Apps-plattformen med en enda klient, logikappar, arbetsflöden, utlösare och åtgärder. På rotnivån för logikappsprojektet innehåller den host.json metadatafilen de konfigurationsinställningar och standardvärden som alla arbetsflöden i samma logikapp använder när de körs, oavsett om de körs lokalt eller i Azure. Referensinformation finns i Redigera appinställningar och värdinställningar. Obs! När du skapar din logikapp skapar Visual Studio Code en säkerhetskopia i form av en fil med namnet host.snapshot.*.json i din lagringsbehållare. Om du tar bort logikappen tas inte den här säkerhetskopieringsfilen bort. Om du skapar en annan logikapp med samma namn skapas en annan ögonblicksbildsfil. Du kan bara ha upp till 10 ögonblicksbilder för samma logikapp. Om du överskrider den här gränsen får du följande fel: Microsoft.Azure.WebJobs.Script.WebHost: Repository has more than 10 non-decryptable secrets backups (host)) Lös det här felet genom att ta bort de extra ögonblicksbildfilerna från lagringscontainern. |
local.settings.json | Fil | Innehåller appinställningar, anslutningssträng och andra inställningar som dina arbetsflöden använder när de körs lokalt. Dessa inställningar och värden gäller endast när du kör dina projekt i din lokala utvecklingsmiljö. Under distributionen till Azure ignoreras filen och inställningarna och ingår inte i distributionen. Den här filen lagrar inställningar och värden som lokala miljövariabler som dina lokala utvecklingsverktyg använder för appSettings värdena. Du kan anropa och referera till dessa miljövariabler både vid körning och distribution med hjälp av appinställningar och parametrar. Viktigt: Den local.settings.json filen kan innehålla hemligheter, så se till att du även exkluderar den här filen från projektkällans kontroll. Den här filen innehåller även appinställningar som logikappen behöver för att fungera korrekt. Referensinformation finns i Redigera appinställningar och värdinställningar. |
Andra uppgifter för utvecklingsmiljö
När du har skapat ditt projekt kanske du fortfarande har andra installationsuppgifter som stöder specifika lokala utvecklingsscenarier kring att bygga, köra och distribuera Standard-logikappar i Visual Studio Code. I följande avsnitt beskrivs uppgifterna för dessa scenarier.
Aktivera webhooks som körs lokalt
En webhook-åtgärd är en arbetsflödesutlösare eller åtgärd som väntar på att en händelse ska inträffa innan åtgärden kan köras. Mer specifikt väntar webhook-åtgärden på att en HTTPS-begäran ska komma från en anropartjänst eller ett arbetsflöde innan åtgärden kan fortsätta. Webhooks inkluderar till exempel åtgärder som utlösare för begäran och HTTP + Webhook-utlösare .
I Azure-portalen registrerar sig Azure Logic Apps runtime automatiskt webhooken till den anropande tjänsten eller arbetsflödet. Körmiljön registrerar en återuppringnings-URL för webhooken hos anropstjänsten eller arbetsflödet. Webhooken väntar sedan på att anroparen ska skicka begäran med hjälp av motringnings-URL:en.
I Visual Studio Code måste du dock utföra vissa installationsuppgifter för att webhook-åtgärder ska fungera korrekt. I det här scenariot använder motringnings-URL:en din localhost-server (http://localhost:7071/...
), som är privat, så anroparen kan inte skicka en begäran direkt via Internet till den här URL:en.
För webhook-åtgärder i arbetsflöden som körs lokalt måste du konfigurera en offentlig URL som exponerar din localhost-server och vidarebefordrar samtal från anroparen till motringnings-URL:en på ett säkert sätt. Du kan använda en vidarebefordringstjänst och ett verktyg som ngrok, som öppnar en HTTP-tunnel till din localhost-port, eller så kan du använda ditt eget motsvarande verktyg.
Konfigurera vidarekoppling av samtal med ngrok
Gå till ngrok-webbplatsen. Registrera dig för ett nytt konto eller logga in på ditt konto, om du redan har ett.
Hämta din personliga autentiseringstoken, som din ngrok-klient behöver för att ansluta och autentisera åtkomsten till ditt konto.
Om du vill hitta sidan med autentiseringstoken går du till instrumentpanelens meny för kontot, expanderar Autentisering och väljer Din authtoken.
Från rutan Din authtoken kopierar du token till en säker plats.
Från nedladdningssidan för ngrok eller instrumentpanelen för ditt konto laddar du ned den ngrokversion som du vill använda och extraherar .zip-filen.
Mer information finns i Steg 1: Packa upp för att installera.
Öppna kommandotolken på datorn. Bläddra till den plats där du har filen ngrok.exe .
Anslut ngrok-klienten till ditt ngrok-konto genom att köra följande kommando:
ngrok authtoken <your-authentication-token>
Mer information finns i Steg 2: Anslut ditt konto.
Öppna HTTP-tunneln till localhost-port 7071 genom att köra följande kommando:
ngrok http 7071
Mer information finns i Steg 3: Starta den.
Leta upp följande rad i utdata:
http://<domain>.ngrok.io -> http://localhost:7071
Kopiera och spara den URL som har det här formatet:
http://<domain>.ngrok.io
Konfigurera vidarebefordran-URL:en i dina appinställningar
I Visual Studio Code i designern lägger du till den webhook-åtgärd som du vill använda i arbetsflödet.
Det här exemplet fortsätter med HTTP + Webhook-utlösaren .
När uppmaningen visas för platsen för värdslutpunkten anger du den vidarebefordrans-URL (omdirigering) som du skapade tidigare.
Anmärkning
Om du ignorerar uppmaningen visas en varning om att du måste ange vidarebefordran-URL:en, så välj Konfigurera och ange URL:en. När du har slutfört det här steget visas inte uppmaningen för efterföljande webhookåtgärder som du kan lägga till.
Om du vill att prompten ska visas öppnar du snabbmenyn för local.settings.json-filen på projektets rotnivå och väljer Konfigurera Webhook-omdirigeringsslutpunkt. Uppmaningen visas nu så att du kan ange vidarebefordran-URL:en.
Visual Studio Code lägger till vidarebefordrans-URL:en till local.settings.json-filen i projektets rotmapp.
Values
I -objektet visas egenskapen med namnetWorkflows.WebhookRedirectHostUri
nu och är inställd på vidarebefordran-URL:en, till exempel:{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "FUNCTIONS_WORKER_RUNTIME": "dotnet", "FUNCTIONS_V2_COMPATIBILITY_MODE": "true", <...> "Workflows.WebhookRedirectHostUri": "http://xxxXXXXxxxXXX.ngrok.io", <...> } }
Mer information om dessa appinställningar finns i Redigera appinställningar och värdinställningar för standardlogikappar.
Första gången du startar en lokal felsökningssession eller kör arbetsflödet utan felsökning registrerar Azure Logic Apps-körningen arbetsflödet med anroparen och prenumererar på slutpunkten för anroparen som meddelar webhook-åtgärder. Nästa gång arbetsflödet körs registreras inte körningen eller prenumerationen på nytt eftersom prenumerationsregistreringen redan finns i lokal lagring.
När du stoppar felsökningssessionen för ett arbetsflöde som använder webhook-operationer som körs lokalt tas inte befintliga prenumerationsregistreringar bort. Om du vill avregistrera måste du ta bort eller ta bort prenumerationsregistreringarna manuellt.
Anmärkning
När arbetsflödet har börjat köras kan terminalfönstret visa fel som det här exemplet:
message='Http request failed with unhandled exception of type 'InvalidOperationException' and message: 'System.InvalidOperationException: Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead.'
I det här fallet öppnar du filen local.settings.json i projektets rotmapp och kontrollerar att egenskapen är inställd på true
:
"FUNCTIONS_V2_COMPATIBILITY_MODE": "true"
Aktivera körningshistorik för tillståndslösa arbetsflöden
Om du vill felsöka ett tillståndslöst arbetsflöde enklare kan du aktivera körningshistoriken för arbetsflödet och sedan inaktivera körningshistoriken när du är klar. Följ de här stegen för Visual Studio Code, eller om du arbetar i Azure Portal, se Skapa arbetsflöden med en enda klientorganisation i Azure Portal.
Öppna local.settings.json-filen på rotmappsnivå i Visual Studio Code-projektet.
Lägg till egenskapen
Workflows.<workflow-name>.operationOptions
och ange värdet till , tillWithStatelessRunHistory
exempel:Windows
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "FUNCTIONS_WORKER_RUNTIME": "dotnet", "Workflows.<workflow-name>.OperationOptions": "WithStatelessRunHistory" } }
macOS eller Linux
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=fabrikamstorageacct; \ AccountKey=<access-key>;EndpointSuffix=core.windows.net", "FUNCTIONS_WORKER_RUNTIME": "dotnet", "Workflows.<workflow-name>.OperationOptions": "WithStatelessRunHistory" } }
I projektmappen med namnet workflow-designtime öppnar du filen local.settings.json och gör samma ändring.
Om du vill inaktivera körningshistoriken när du är klar, anger du antingen egenskapen till
Workflows.<workflow-name>.OperationOptions
, eller så tar du bort egenskapen och dess värde.
Lägga till artefakter och beroenden i projektet
I specifika scenarier kan arbetsflödet innehålla åtgärder som kräver beroenden som sammansättningar eller artefakter som kartor, scheman eller regler. I Visual Studio Code kan du lägga till dessa objekt i motsvarande mappar i projektet, till exempel:
Objekt | Filtyp | Beskrivning |
---|---|---|
Kartor | .xslt | Mer information finns i Lägga till kartor för omvandlingar i arbetsflöden. |
Schema | .xsd | Mer information finns i Lägga till scheman för validering. |
Reglemente | .xml | Mer information finns i Skapa ett Azure Logic Apps Rules Engine-projekt. |
Församlingar |
-
.dll (.NET Framework eller .NET 8) - .jar (Java) |
En standardlogikappresurs kan använda eller referera till specifika typer av sammansättningar, som du kan ladda upp till projektet i Visual Studio Code. Du måste dock lägga till dem i specifika projektmappar. Mer information finns i Lägg till refererade sammansättningar. Obs! Om du har ett NuGet-paketbaserat (.NET)-logikappprojekt innan sammansättningsstöd blev tillgängligt kan du läsa Migrera NuGet-paketbaserade projekt för att använda sammansättningar i lib-mappen. |
Konvertera projektet till NuGet-paketbaserat (.NET)
Som standard skapar Visual Studio Code ditt logikappsprojekt som ett tilläggspaketbaserat (Node.js) projekt. Om du behöver ett projekt som är NuGet-paketbaserat (.NET), till exempel för att skapa dina egna inbyggda anslutningsappar, måste du konvertera standardprojektet till ett NuGet-paketbaserat projekt (.NET).
Viktigt!
Den här åtgärden är en enkelriktad åtgärd som du inte kan ångra.
I fönstret Utforskaren flyttar du muspekaren över ett tomt område under projektets mappar och filer, öppnar snabbmenyn och väljer Konvertera till NuGet-baserat logikappsprojekt.
När prompten visas bekräftar du projektkonverteringen.
Migrera NuGet-paketbaserade projekt för att använda sammansättningar i mappen "lib"
Viktigt!
Den här uppgiften krävs endast för NuGet-paketbaserade (.NET)-logikappprojekt som skapades innan sammansättningsstöd blev tillgängligt.
Om du skapade logikappprojektet när sammansättningsstöd inte var tillgängligt för standardarbetsflöden för logikappar kan du lägga till följande rader i <filen project-name.csproj> för att arbeta med projekt som använder sammansättningar:
<ItemGroup>
<LibDirectory Include="$(MSBuildProjectDirectory)\lib\**\*"/>
</ItemGroup>
<Target Name="CopyDynamicLibraries" AfterTargets="_GenerateFunctionsExtensionsMetadataPostPublish">
<Copy SourceFiles="@(LibDirectory)" DestinationFiles="@(LibDirectory->'$(MSBuildProjectDirectory)\$(PublishUrl)\lib\%(RecursiveDir)%(Filename)%(Extension)')"/>
</Target>
Viktigt!
För ett projekt som körs på Linux eller macOS måste du uppdatera katalogavgränsaren. Granska till exempel följande bild som visar den tidigare koden som lades till i < filen project-name.csproj>:
Aktivera inbyggd anslutningsredigering
Du kan skapa egna inbyggda anslutningsappar för alla tjänster du behöver med hjälp av utökningsramverket för Azure Logic Apps med en enda klientorganisation. På samma sätt som inbyggda anslutningsappar som Azure Service Bus och SQL Server ger dessa anslutningsappar högre dataflöde, låg svarstid, lokal anslutning och körs internt i samma process som Azure Logic Apps-körningen med en klientorganisation.
Redigeringsfunktionen är för närvarande endast tillgänglig i Visual Studio Code, men är inte aktiverad som standard. Följ dessa steg för att skapa dessa anslutningsappar:
Om du inte redan har gjort det konverterar du ditt tilläggspaketbaserade (Node.js) projekt till ett NuGet-paketbaserat (.NET)-projekt.
Granska och följ stegen i artikeln Azure Logic Apps Running Anywhere – Inbyggd utökningsbarhet för anslutningsprogram.
Köra, felsöka och testa arbetsflöden lokalt
I följande avsnitt visas hur du kan ange brytpunkter och starta en felsökningssession för att köra och testa arbetsflödet lokalt.
Ange brytpunkter för felsökning
Innan du kör och testar logikappens arbetsflöde genom att starta en felsökningssession kan du ange brytpunkter i workflow.json-filen för varje arbetsflöde. Ingen annan konfiguration krävs.
Brytpunkter stöds för närvarande endast för åtgärder, inte utlösare. Varje åtgärdsdefinition har följande brytpunktsplatser:
Ange start brytpunkten på raden som visar åtgärdens namn. När den här brytpunkten når under felsökningssessionen kan du granska åtgärdens indata innan de utvärderas.
Ange den avslutande brytpunkten på raden som visar åtgärdens avslutande klammerparentes (}). När den här brytpunkten träffar under felsökningssessionen kan du granska åtgärdens resultat innan åtgärden är klar.
Följ dessa steg för att lägga till en brytpunkt:
Öppna filen workflow.json för arbetsflödet som du vill felsöka.
På den rad där du vill ange brytpunkten väljer du i den vänstra kolumnen inuti den kolumnen. Om du vill ta bort brytpunkten väljer du den brytpunkten.
När du startar felsökningssessionen visas körningsvyn till vänster i kodfönstret, medan verktygsfältet Felsökning visas längst upp.
Anmärkning
Om vyn Kör inte visas automatiskt trycker du på Ctrl+Skift+D.
Granska den tillgängliga informationen när en brytpunkt visas i vyn Kör i fönstret Variabler .
Om du vill fortsätta arbetsflödeskörningen går du till verktygsfältet Felsökning och väljer Fortsätt (uppspelningsknapp).
Du kan lägga till och ta bort brytpunkter när som helst under arbetsflödeskörningen. Men om du uppdaterar workflow.json-filen när körningen startar uppdateras inte brytpunkterna automatiskt. Om du vill uppdatera brytpunkterna startar du om logikappen.
Allmän information finns i Brytpunkter – Visual Studio Code.
Felsöka och testa arbetsflödet
Testa arbetsflödet genom att följa de här stegen för att köra en felsökningssession och hitta URL:en för slutpunkten som skapas av utlösaren Förfrågning . Du behöver den här URL:en så att du senare kan skicka en begäran till slutpunkten.
Om du har ett tillståndslöst arbetsflöde aktiverar du körningshistorik för arbetsflödet för att göra felsökningen enklare.
På menyn Kör väljer du Starta felsökning (F5).
Terminalfönstret öppnas så att du kan granska felsökningssessionen.
Anmärkning
Om du får felet "Felet finns efter att du har kört preLaunchTask 'generateDebugSymbols'", se felsökningsavsnittet, felsökningssessionen kan inte starta.
Hitta motringnings-URL:en för slutpunkten som skapades av Request-utlösaren.
Öppna fönstret Utforskaren igen för att visa projektet.
På snabbmenyn workflow.json fil väljer du Översikt.
Kopiera och spara motringnings-URL:en, som ser ut ungefär som följande URL för utlösaren När en HTTP-begäran tas emot i det här exemplet:
http://localhost:7071/api/<workflow-name>/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<shared-access-signature>
Om du vill testa motringnings-URL:en och utlösa arbetsflödet skickar du en HTTP-begäran till URL:en, inklusive den metod som utlösaren förväntar sig, med hjälp av http-begärandeverktyget och dess instruktioner.
I det här exemplet används GET-metoden med den kopierade URL:en, som ser ut som följande exempel:
GET http://localhost:7071/api/Stateful-Workflow/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<shared-access-signature>
När utlösaren utlöses körs exempelarbetsflödet och skickar ett e-postmeddelande som liknar det här exemplet:
Gå tillbaka till arbetsflödets översiktssida i Visual Studio Code. Under Körningshistorik kontrollerar du statusen för arbetsflödeskörningen.
Tips/Råd
Om körningsstatusen inte visas kan du prova att uppdatera översiktssidan genom att välja Uppdatera. En körning utförs inte för en utlösare som hoppas över på grund av ouppfyllda kriterier eller eftersom inga data hittas.
I följande tabell visas möjliga slutgiltiga statusar som varje arbetsflödeskörning kan ha och visas i Visual Studio Code:
Körningsstatus Beskrivning avbröts Körningen stoppades eller avslutades inte på grund av externa problem, till exempel ett systemavbrott eller en förfallen Azure-prenumeration. avbröts Körningen utlöstes och startades men fick en annulleringsbegäran. Misslyckades Minst en åtgärd i körningen misslyckades. Inga efterföljande åtgärder i arbetsflödet har konfigurerats för att hantera felet. Körning Körningen utlöstes och pågår, men den här statusen kan också visas för en körning som begränsas på grund av åtgärdsbegränsningar eller den aktuella prisplanen.
Tips: Om du konfigurerar diagnostikloggning kan du få information om eventuella begränsningshändelser som inträffar.lyckades Körningen lyckades. Om någon åtgärd misslyckades hanterade en efterföljande åtgärd i arbetsflödet det felet. Tidsgränsen överskrids Tidsgränsen för körningen överskreds eftersom den aktuella varaktigheten överskred gränsen för körningens varaktighet, vilket styrs av inställningen körhistorikkvarhållning i dagar. En körnings varaktighet beräknas med hjälp av körningens starttid och körningens varaktighetsgräns vid den starttiden. Obs! Om körningens varaktighet också överskrider den aktuella kvarhållningsgränsen för körningshistorik, som också styrs av inställningen Kvarhållning av körningshistorik i dagar, rensas körningen från körningshistoriken av ett dagligt rensningsjobb. Oavsett om körningen överskrider tidsgränsen eller slutförs beräknas kvarhållningsperioden alltid med hjälp av körningens starttid och aktuella kvarhållningsgräns. Så om du minskar varaktighetsgränsen för en körning under flygning överskrider körningen tidsgränsen. Körningen förblir dock eller rensas från körningshistoriken baserat på om körningens varaktighet överskred kvarhållningsgränsen.
Väntar Körningen har inte startats eller pausats, till exempel på grund av en tidigare arbetsflödesinstans som fortfarande körs. Om du vill visa status, indata och utdata för varje steg för en specifik arbetsflödeskörning väljer du något av stegen:
I kolumnen Identifierare väljer du arbetsflödets körnings-ID.
Bredvid kolumnen Varaktighet öppnar du ellipsmenyn (...) för en arbetsflödeskörning och väljer Visa körning, till exempel:
Visual Studio Code öppnar körningsinformationsvyn och visar status för varje steg i arbetsflödeskörningen.
Anmärkning
Om en körning misslyckades och ett steg i körningsinformationsvyn visar felet 400 Felaktig begäran kan det här problemet bero på ett längre utlösarnamn eller åtgärdsnamn som gör att den underliggande URI:n (Uniform Resource Identifier) överskrider standardteckengränsen. Mer information finns i "400 Felaktig begäran".
I följande tabell visas de möjliga statusar som varje arbetsflödesåtgärd kan ha och visa i Visual Studio Code:
Åtgärdsstatus Beskrivning avbröts Åtgärden stoppades eller avslutades inte på grund av externa problem, till exempel ett systemavbrott eller en förfallen Azure-prenumeration. avbröts Åtgärden kördes men fick en begäran om att avbryta. Misslyckades Åtgärden misslyckades. Körning Åtgärden körs för närvarande. Överhoppad Åtgärden hoppades över eftersom den omedelbart föregående åtgärden misslyckades. En åtgärd har ett runAfter
villkor som kräver att föregående åtgärd slutförs innan den aktuella åtgärden kan köras.lyckades Åtgärden lyckades. Lyckades med återförsök Åtgärden lyckades men bara efter en eller flera återförsök. Om du vill granska återförsökshistoriken väljer du den åtgärden i vyn körningshistorikinformation så att du kan visa indata och utdata. Tidsgränsen överskrids Åtgärden stoppades på grund av tidsgränsen som anges i inställningarna för åtgärden. Väntar Gäller för en webhook-åtgärd som väntar på en inkommande begäran från en anropare. Om du vill visa indata och utdata för varje steg väljer du det steg som du vill använda, till exempel:
Om du vill visa råa indata och utdata väljer du Visa råa indata eller Visa råutdata.
Om du vill stoppa felsökningssessionen går du till menyn Kör och väljer Stoppa felsökning (Skift + F5).
Returnera ett svar
När du har ett arbetsflöde som börjar med utlösaren När en HTTP-begäran tas emot kan arbetsflödet returnera ett svar till anroparen som skickade den första begäran med hjälp av åtgärden Begäran med namnet Svar.
I arbetsflödesdesignern, under åtgärden Skicka ett e-postmeddelande , följer du de här allmänna stegen för att lägga till åtgärden Begäran med namnet Svar.
Ange nödvändig information för svar till anroparen på fliken Parametrar i informationsfönstret Svar.
Det här exemplet returnerar parametervärdet Brödtext , vilket är utdata från åtgärden Skicka ett e-postmeddelande .
För parametern Brödtext väljer du i redigeringsrutan och väljer blixtikonen, som öppnar listan med dynamiskt innehåll. Den här listan visar tillgängliga utdatavärden från föregående utlösare och åtgärder i arbetsflödet.
I listan med dynamiskt innehåll går du till Skicka ett e-postmeddelande och väljer Brödtext.
När du är klar har egenskapen SvarsåtgärdensBody nu ställts in på utdatavärdet från Skicka ett e-postmeddelande-åtgärdens Body, till exempel:
Spara arbetsflödet.
Testa arbetsflödet igen
Om du vill testa uppdateringarna kan du köra felsökaren igen och skicka en annan begäran som utlöser arbetsflödet, ungefär som stegen i Köra, felsöka och testa arbetsflöden lokalt.
I verktygsfältet Visual Studio Code går du till menyn Kör och väljer Starta felsökning (F5).
I verktyget för att skapa och skicka begäranden skickar du en annan begäran för att utlösa arbetsflödet.
På arbetsflödets översiktssida går du till Körningshistorik, kontrollerar statusen för den senaste körningen och öppnar körningsinformationsvyn.
Här är till exempel steg för steg-status för en körning efter att exempelarbetsflödet uppdaterades med åtgärden Svar .
Om du vill stoppa felsökningssessionen går du till menyn Kör och väljer Stoppa felsökning (Skift + F5).
Förbereda för distribution
Innan du distribuerar standardlogikappen till Azure-portalen går du igenom det här avsnittet för alla förberedelser som du kan behöva göra.
Konfigurera brandväggsåtkomst
Om din miljö har strikta nätverkskrav eller brandväggar som begränsar trafiken måste du konfigurera behörigheter för alla anslutningar som skapats av Azure-hanterade, värdbaserade och delade anslutningsappar och som används i arbetsflödet.
Följ dessa steg för att hitta de fullständigt kvalificerade domännamnen (FQDN) för dessa anslutningar:
Öppna filenlocal.settings.json i logikappsprojektet.
För varje anslutning som du skapade hittar du egenskapen med namnet
<connection-name>-ConnectionRuntimeUrl
, som använder följande syntax:"<connection-name>-ConnectionRuntimeUrl": <connection-runtime-URL>
Anta till exempel att du har ett exempel local.settings.json fil som innehåller dessa anslutningar: en Office 365-anslutning och en AS2-anslutning. Dessa anslutningar använder följande exempelvärden för
<connection-name>-ConnectionRuntimeUrl
egenskaperna:Office 365:
"office365-ConnectionRuntimeUrl": https://A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u.00.common.logic-<Azure-region>.azure-apihub.net/apim/office365/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
AS2:
"as2-ConnectionRuntimeUrl": https://A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u.00.common.logic-<Azure-region>.azure-apihub.net/apim/as2/b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2
Exempelfilen local.settings.json ser ut ungefär som i följande version:
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "FUNCTIONS_WORKER_RUNTIME": "node", "APP_KIND": "workflowapp", "ProjectDirectoryPath": "c:\\Users\\<local-username>\\Desktop\\Visual Studio Code projects\\Azure Logic Apps\fabrikam-workflows\\Fabrikam-Workflows\\Fabrikam-Workflows", "WORKFLOWS_TENANT_ID": "<Microsoft-Entra-tenant-ID>", "WORKFLOWS_SUBSCRIPTION_ID": "<Azure-subscription-ID>", "WORKFLOWS_RESOURCE_GROUP_NAME": "Fabrikam-Workflows-RG", "WORKFLOWS_LOCATION_NAME": "westcentralus", "WORKFLOWS_MANAGEMENT_BASE_URI": "https://management.azure.com/", "as2-connectionKey": "<connection-key>", "as2-ConnectionRuntimeUrl": "https://A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u.00.common.logic-<Azure-region>.azure-apihub.net/apim/as2/b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2", "office365-connectionKey": "<connection-key>", "office365-ConnectionRuntimeUrl": "https://A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u.00.common.logic-<Azure-region>.azure-apihub.net/apim/office365/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", } }
Kopiera och spara dessa url:er för anslutningskörning på en säker plats så att du kan konfigurera brandväggen med den här informationen.
När du är klar konfigurerar du brandväggen med hjälp av de sparade URL:erna. Mer information finns i följande dokumentation:
Distribuera till Azure
Om du vill distribuera standardlogikappen från Visual Studio Code kan du publicera projektet direkt till Azure. Du kan publicera logikappen som en ny resurs, som automatiskt skapar nödvändiga resurser, till exempel ett Azure-lagringskonto, som liknar funktionsappens krav. Alternativt kan du publicera din logikapp till en tidigare distribuerad standardlogikappresurs, vilket skriver över den tidigare distribuerade versionen.
Distribution för standardlogikappresursen kräver en värdplan och prisnivå som du väljer under distributionen. Mer information finns i Värdplaner och prisnivåer.
Publicera till en ny standardlogikappresurs
I fönstret Utforskaren flyttar du muspekaren över ett tomt område under projektets mappar och filer, öppnar snabbmenyn och väljer Distribuera till logikapp.
Även om du inte behöver ha några filer öppna för att distribuera kontrollerar du att du har sparat allt som du planerar att distribuera.
Du presenteras med följande alternativ för standard-logikappresursen som destination. Du kan skapa en ny standardlogikapp eller välja en befintlig distribuerad Standard-logikapp i Azure:
- Skapa ny logikapp (standard) i Azure (snabb)
- Skapa ny logikapp (standard) i Azure Advanced
- Välj från tidigare distribuerade standardlogikappresurser, om det finns några.
För distributionsalternativen väljer du om du vill skapa eller använda en befintlig mållogikappresurs.
Det här exemplet fortsätter med Skapa ny logikapp (Standard) i Azure Advanced.
Följ dessa steg för att skapa den nya resursen för mållogikappen:
Ange ett globalt unikt namn för mållogikappen.
I det här exemplet används Fabrikam-Workflows-App.
För den plats där du ska distribuera väljer du Azure-regionen.
I det här exemplet används USA, västra centrala.
För värdplanen väljer du bland följande alternativ:
Hostingplan Beskrivning Arbetsflödesstandard Distribuera som en ny standardlogikappresurs som värdas i single-tenant Azure Logic Apps. Hybrid Distribuera som en standard-logikapp som finns i din egen infrastruktur.
Obs! Kontrollera att du har konfigurerat nödvändig infrastruktur innan du väljer det här alternativet. Mer information finns i Konfigurera din egen infrastruktur för standardlogikappar med hybriddistribution.För Windows App Service-planen väljer du något av följande alternativ:
- Skapa ny App Service-plan
- Välj från befintliga App Service-planer i den valda Azure-regionen (endast Windows-baserade planer) om det finns några.
Det här exemplet väljer Skapa ny App Service-plan.
För den nya planen anger du ett globalt unikt namn och väljer en prisnivå.
Det här exemplet använder Fabrikam-Workflows-App-Service-Plan och väljer WS1 Workflow Standard-nivån .
Mer information finns i Värdplaner och prisnivåer.
För azure-målresursgruppen väljer du samma resursgrupp som projektet för optimal prestanda.
I det här exemplet används samma tidigare skapade grupp med namnet Fabrikam-Workflows-RG.
Anmärkning
Även om du kan skapa eller använda en annan resursgrupp kan det påverka prestandan. Om du skapar eller väljer en annan resursgrupp, men avbryter när bekräftelsemeddelandet visas, avbryts även distributionen.
Välj bland följande alternativ för azure-lagringskontot som ska användas med arbetsflöden som gör det möjligt att spara körningshistorikinformation:
- Skapa ett nytt lagringskonto
- Välj från befintliga Azure Storage-konton, om det finns några.
Det här exemplet väljer Skapa nytt lagringskonto.
Ange ett globalt unikt namn för lagringskontot. Du kan bara använda gemener och siffror.
I det här exemplet används fabrikamstorageaccount-nummer<>.
Om du vill använda SQL Storage i det här exemplet väljer du Nej.
Om du redan har konfigurerat en SQL-databas som ska användas för lagring genom att följa Konfigurera SQL Database Storage för standardarbetsflöden för logikappar kan du välja Ja.
För Application Insights-resursen, som möjliggör diagnostikloggning och spårning för logikappen, väljer du bland följande alternativ:
- Skapa en ny Application Insights-resurs
- Hoppa över just nu. Du kan konfigurera Application Insights efter distributionen.
- Välj en befintlig Application Insights-resurs, om det finns någon.
Det här exemplet väljer Hoppa över för tillfället.
Anmärkning
Om du har en Application Insights-resurs som du vill använda kan du välja den resursen.
Information om hur du skapar en ny Application Insights-resurs just nu så att du kan aktivera loggning och spårning av diagnostik finns i Aktivera Application Insights under distributionen.
Mer information om Application Insights finns i följande dokumentation:
När du har valt Hoppa över för tillfället eller en befintlig Application Insights-resurs visar Visual Studio Code ett bekräftelsemeddelande för att starta distributionen. Meddelandet rekommenderar också att du för bästa prestanda placerar anslutningsresurser för hanterade åtgärder i samma resursgrupp som logikappens resurs och arbetsflöden. I Azure Logic Apps finns hanterade åtgärdsanslutningar som enskilda Azure-resurser.
När du är redo att distribuera väljer du Distribuera i bekräftelsemeddelandet.
Visual Studio Code börjar skapa och distribuera nödvändiga resurser för att publicera logikappen till Azure.
Om du vill visa och övervaka distributionsprocessen går du till menyn Visa och väljer Utdata.
I verktygsfältet Utdata väljer du Azure Logic Apps (Standard) i omfångslistan.
När Visual Studio Code har distribuerat logikappen till Azure visas ett meddelande om att skapandet av logikappen har slutförts, till exempel:
Din logikappresurs och arbetsflöde är nu live, aktiverade och i drift i Azure.
Aktivera Application Insights vid distribution
Följ dessa steg för att aktivera diagnostikloggning och spårning med Application Insights under distributionen av logikappen:
Välj antingen en befintlig Application Insights-resurs eller Skapa en ny Application Insights-resurs.
På resursmenyn väljer du Översikt. Leta upp och kopiera värdet instrumenteringsnyckel .
Öppna local.settings.json-filen i projektets rotmapp i Visual Studio Code.
Values
I -objektet lägger du tillAPPINSIGHTS_INSTRUMENTATIONKEY
egenskapen och anger värdet till instrumentationsnyckeln, till exempel:{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "FUNCTIONS_WORKER_RUNTIME": "dotnet", "APPINSIGHTS_INSTRUMENTATIONKEY": <instrumentation-key> } }
Kontrollera om arbetsflödets utlösare och åtgärdsnamn visas korrekt i Application Insights-instansen.
I Azure Portal går du till din Application Insights-resurs.
På resursmenyn under Undersök väljer du Programkarta.
Granska de åtgärdsnamn som visas på kartan.
Vissa inkommande begäranden från inbyggda utlösare kan visas som dubbletter i programkartan. I stället för att
WorkflowName.ActionName
använda formatet använder dessa dubbletter arbetsflödesnamnet som åtgärdsnamn och kommer från Azure Functions-värden.
Du kan också justera allvarlighetsnivån för spårningsdata som logikappen samlar in och skickar till Application Insights-instansen.
Varje gång en arbetsflödesrelaterad händelse inträffar, till exempel när ett arbetsflöde utlöses eller när en åtgärd körs, genererar körningen olika spårningar. Dessa spårningar täcker arbetsflödets livslängd och omfattar, men är inte begränsade till, följande händelsetyper:
- Tjänstaktivitet, till exempel start, stopp och fel.
- Jobb och sändningsaktivitet.
- Arbetsflödesaktivitet, till exempel utlösare, åtgärd och körning.
- Aktivitet för lagringsbegäran, till exempel lyckade eller misslyckade.
- HTTP-begärandeaktivitet, till exempel inkommande, utgående, lyckad och misslyckad.
- Eventuella utvecklingsspårningar, till exempel felsökningsmeddelanden.
Varje händelsetyp tilldelas en allvarlighetsgrad. Nivån samlar till exempel
Trace
in de mest detaljerade meddelandena, medanInformation
nivån samlar in allmän aktivitet i arbetsflödet, till exempel när logikappen, arbetsflödet, utlösaren och åtgärderna startar och stoppar.I följande tabell beskrivs allvarlighetsgraderna och deras spårningstyper:
Allvarlighetsgrad Spårningstyp Kritisk Loggar som beskriver ett oåterkalleligt fel i logikappens arbetsflöde. Felsöka Loggar som du kan använda för undersökning under utvecklingen, till exempel inkommande och utgående HTTP-anrop. Fel Loggar som indikerar ett fel i arbetsflödeskörningen, men inte ett allmänt fel i logikappen. Information Loggar som spårar den allmänna aktiviteten i logikappen eller arbetsflödet, till exempel:
– När en utlösare, åtgärd eller körning startar och slutar.
– När logikappen startar eller slutar.Spårning Loggar som innehåller de mest detaljerade meddelandena, till exempel lagringsbegäranden eller sändningsaktivitet, plus alla meddelanden som är relaterade till arbetsflödeskörningsaktivitet. Varning! Loggar som markerar ett onormalt tillstånd i logikappen men inte förhindrar att det körs. Om du vill ange allvarlighetsgrad på projektets rotnivå öppnar du filen host.json och letar reda på objektet
logging
. Det här objektet styr loggfiltreringen för alla arbetsflöden i logikappen och följer ASP.NET Core-layouten för loggtypsfiltrering.{ "version": "2.0", "logging": { "applicationInsights": { "samplingExcludedTypes": "Request", "samplingSettings": { "isEnabled": true } } } }
Om objektet
logging
inte innehåller ettlogLevel
objekt som innehållerHost.Triggers.Workflow
egenskapen lägger du till dessa objekt. Ange egenskapen till allvarlighetsgraden för den spårningstyp som du vill använda, till exempel:{ "version": "2.0", "logging": { "applicationInsights": { "samplingExcludedTypes": "Request", "samplingSettings": { "isEnabled": true } }, "logLevel": { "Host.Triggers.Workflow": "Information" } } }
Uppgifter efter distribution
I följande avsnitt beskrivs uppgifter som ska utföras när logikappen har slutfört distributionen.
Bekräfta distributionen i Azure-portalen
När du har distribuerat logikappen från Visual Studio Code till Azure-portalen kontrollerar du att logikappen visas i portalen. Azure-resurser organiseras och grupperas i portalen baserat på deras resurstyp. Följ dessa steg för att hitta standardlogikappar:
Logga in på Azure-portalen med ditt Azure-konto.
I sökrutan Azure-rubrik anger du namnet på logikappen, vilket bör visas som ett resultat i avsnittet Resurser . Välj logikappen för att öppna resursen.
På logikappmenyn går du till Arbetsflöden och väljer Arbetsflöden.
På sidan Arbetsflöden väljer du ditt arbetsflöde.
På arbetsflödesmenyn går du till Verktyg och väljer Designer. Bekräfta att arbetsflödet visas som förväntat.
Nu kan du göra ändringar i det här arbetsflödet i Azure Portal.
Se till att aktivera övervakningsupplevelsen för din distribuerade logikapp så att du kan visa arbetsflödeskörningshistorik, indata, utdata och annan relaterad information.
Aktivera övervakningsupplevelse för distribuerad logikapp
Innan du kan granska arbetsflödeskörningshistorik, indata, utdata och relaterad information för en distribuerad standardlogikappresurs med övervakningsupplevelsen i Azure-portalen måste du först aktivera den upplevelsen på logikappresursen.
Öppna den distribuerade standardlogikappresursen i Azure-portalen.
Välj CORS under API på resursmenyn.
Lägg till jokertecknet (*) under Tillåtna ursprung i CORS-fönstret.
När du är klar väljer du Spara i CORS-verktygsfältet.
Aktivera eller öppna Application Insights efter distributionen
Under arbetsflödeskörningen genererar logikappens arbetsflöde telemetri tillsammans med andra händelser. Du kan använda den här telemetrin för att få bättre insyn i hur bra arbetsflödet körs och hur Azure Logic Apps-körningen fungerar. Application Insights ger dig möjlighet att aktivera diagnostikloggning, spårning och övervakning för logikappen med hjälp av telemetri i nära realtid (livemått). Den här funktionen hjälper dig att undersöka fel och prestandaproblem enklare när du använder telemetridata för att diagnostisera problem, konfigurera aviseringar och skapa diagram.
Om du inte tidigare har konfigurerat Application Insights kan du aktivera den här funktionen i Azure-portalen efter distributionen av logikappen från Visual Studio Code. Du måste ha en Application Insights-resurs i Azure, men du kan skapa den här resursen separat i förväg eller när du aktiverar den här funktionen efter distributionen.
Om du tidigare konfigurerade Application Insights under distributionen från Visual Studio Code kan du bara öppna Application Insights-resursen från logikappen i Azure-portalen.
Aktivera Application Insights för en distribuerad logikapp
I Azure-portalen letar du upp och öppnar din distribuerade logikapp.
På logikappmenyn går du till Övervakning och väljer Application Insights.
På sidan Application Insights väljer du Aktivera Application Insights.
När sidan Application Insights har uppdaterats går du till avsnittet Ändra resurs och väljer bland följande alternativ:
Skapa ny resurs
Azure skapar resurser för Application Insights och en Log Analytics-arbetsyta med den aktuella prenumerationen och resursgruppen. Om du vill använda en annan prenumeration och resursgrupp kan du läsa Skapa en ny Application Insights-resurs och sedan gå tillbaka till den här sidan.
Fastighet Beskrivning Nytt resursnamn Acceptera antingen det genererade namnet eller ange ett annat namn. Läge Välj en Azure-region. Log Analytics-arbetsyta Välj en befintlig arbetsyta, om någon. Annars skapas en standardarbetsyta åt dig. Mer information finns i Översikt över Log Analytics-arbetsytor. Välj befintlig resurs:
Välj Azure-prenumerationen för din Application Insights-resurs.
Välj din Application Insights-resurs.
När du är klar väljer du Använd längst ned på sidan.
Öppna Application Insights från logikappen
I Azure-portalen letar du upp och öppnar din distribuerade logikapp.
På logikappmenyn går du till Övervakning och väljer Application Insights.
På sidan Application Insights väljer du länken för application insights-resursen.
När Application Insights har öppnats kan du granska olika mått för din logikapp. Mer information finns i följande artiklar:
- Azure Logic Apps körs var som helst – Övervaka med Application Insights – del 1
- Azure Logic Apps körs var som helst – Övervaka med Application Insights – del 2
Felsöka fel och problem
Designern kan inte öppnas
När du försöker öppna designern får du det här felet "Det gick inte att starta arbetsflödets designtid". Om du tidigare försökte öppna designern, men du avbröt eller tog bort projektet, kanske tilläggspaketet inte laddas ned korrekt. Följ dessa steg för att kontrollera om orsaken är orsaken:
Öppna fönstret Utdata i Visual Studio Code. På menyn Visa väljer du Utdata.
I listan i namnlisten för utdatafönstret väljer du Azure Logic Apps (Standard) så att du kan granska utdata från tillägget, till exempel:
Granska utdata och kontrollera om det här felmeddelandet visas:
A host error has occurred during startup operation '<operation-ID>'. System.Private.CoreLib: The file 'C:\Users\<user-name>\AppData\Local\Temp\Functions\ ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows\1.1.7\bin\ DurableTask.AzureStorage.dll' already exists. Value cannot be null. (Parameter 'provider') Application is shutting down... Initialization cancellation requested by runtime. Stopping host... Host shutdown completed.
Lös det här felet genom att ta bort mappen ExtensionBundles på den här platsen ...\Users\<user-name>\AppData\Local\Temp\Functions\ExtensionBundles och försöka öppna filenworkflow.json igen i designern.
Nya utlösare och åtgärder saknas i designerväljaren för tidigare skapade arbetsflöden
Azure Logic Apps med en klientorganisation stöder inbyggda åtgärder för Azure Function Operations, Liquid Operations och XML-åtgärder, till exempel XML-validering och transformering av XML. Men för tidigare skapade logikappar kanske dessa åtgärder inte visas i designerväljaren för att du ska kunna välja om Visual Studio Code använder en inaktuell version av tilläggspaketet. Microsoft.Azure.Functions.ExtensionBundle.Workflows
Azure Function Operations-anslutningsappen och åtgärderna visas inte heller i designerväljaren om du inte har aktiverat eller valt Använd anslutningsappar från Azure när du skapade logikappen. Om du inte aktiverade azure-distribuerade anslutningsappar när appen skapades kan du aktivera dem från projektet i Visual Studio Code. Öppna snabbmenyn workflow.json och välj Använd anslutningsappar från Azure.
Följ dessa steg för att åtgärda det inaktuella paketet genom att ta bort det inaktuella paketet, vilket gör att Visual Studio Code automatiskt uppdaterar tilläggspaketet till den senaste versionen.
Anmärkning
Den här lösningen gäller endast för logikappar som du skapar och distribuerar med Visual Studio Code med Tillägget Azure Logic Apps (Standard), inte de logikappar som du skapar med hjälp av Azure-portalen. Se Utlösare och åtgärder som stöds saknas i designern i Azure Portal.
Spara allt arbete som du inte vill förlora och stäng Visual Studio Code.
På datorn bläddrar du till följande mapp, som innehåller versionsmappar för det befintliga paketet:
...\Users\<user-name>\.azure-functions-core-tools\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows
Ta bort versionsmappen för det tidigare paketet, till exempel om du har en mapp för version 1.1.3, ta bort den mappen.
Bläddra nu till följande mapp, som innehåller versionsmappar för det nödvändiga NuGet-paketet:
...\Users\<user-name>\.nuget\packages\microsoft.azure.workflows.webjobs.extension
Ta bort versionsmappen för det tidigare paketet.
Öppna Visual Studio Code igen, ditt projekt och filen workflow.json i designern.
De utlösare och åtgärder som saknas visas nu i designern.
"400 Felaktig begäran" visas på en utlösare eller åtgärd
När en körning misslyckas och du inspekterar körningen i övervakningsvyn kan det här felet visas på en utlösare eller åtgärd som har ett längre namn, vilket gör att den underliggande URI:n (Uniform Resource Identifier) överskrider standardteckengränsen.
Lös problemet och justera för den längre URI:n genom att redigera registernycklarna UrlSegmentMaxCount
och UrlSegmentMaxLength
på datorn genom att följa dessa steg. Den här nyckelns standardvärden beskrivs i den här artikeln Http.sys registerinställningar för Windows.
Viktigt!
Se till att spara ditt arbete innan du börjar. Den här lösningen kräver att du startar om datorn när du är klar så att ändringarna kan börja gälla.
Öppna fönstret Kör på datorn och kör
regedit
kommandot som öppnar registereditorn.I rutan Användarkontokontroll väljer du Ja för att tillåta dina ändringar på datorn.
I den vänstra rutan under Dator expanderar du noderna längs sökvägen, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters och väljer sedan Parametrar.
Leta reda på registernycklarna
UrlSegmentMaxCount
ochUrlSegmentMaxLength
i den högra rutan.Öka dessa nyckelvärden tillräckligt så att URI:erna kan hantera de namn som du vill använda. Om dessa nycklar inte finns lägger du till dem i mappen Parametrar genom att följa dessa steg:
På snabbmenyn Parametrar väljer du Nytt>DWORD-värde (32-bitars).
I redigeringsrutan som visas anger du
UrlSegmentMaxCount
som det nya nyckelnamnet.Öppna den nya nyckelns snabbmeny och välj Ändra.
I rutan Redigera sträng som visas anger du värdet Värdedatanyckel som du vill använda i hexadecimalt eller decimalformat. I hexadecimalt motsvarar till
400
exempel1024
decimaltecken.Upprepa de
UrlSegmentMaxLength
här stegen om du vill lägga till nyckelvärdet.
När du har ökat eller lagt till dessa nyckelvärden ser registerredigeraren ut så här:
När du är klar startar du om datorn så att ändringarna kan börja gälla.
Det går inte att starta felsökningssessionen
När du försöker starta en felsökningssession får du felet "Felet finns efter att du har kört preLaunchTask 'generateDebugSymbols'". Lös problemet genom att redigera filen tasks.json i projektet för att hoppa över symbolgenereringen.
I projektet expanderar du mappen.vscode** och öppnar filentasks.json .
I följande uppgift tar du bort raden ,
"dependsOn: "generateDebugSymbols"
tillsammans med kommatecknet som avslutar föregående rad, till exempel:Före:
{ "type": "func", "command": "host start", "problemMatcher": "$func-watch", "isBackground": true, "dependsOn": "generateDebugSymbols" }
Efter:
{ "type": "func", "command": "host start", "problemMatcher": "$func-watch", "isBackground": true }