Konfigurera DevOps-distribution för standardlogikappar i Azure Logic Apps med en klientorganisation
Artikel
Gäller för: Azure Logic Apps (Standard)
Den här guiden visar främst hur du konfigurerar distribution för ett standardlogikappprojekt i Visual Studio Code till din infrastruktur med hjälp av DevOps-verktyg och -processer. Om standardlogikappen finns i Azure Portal i stället kan du ladda ned logikappens artefaktfiler för användning med DevOps-distribution. Baserat på om du vill använda GitHub eller Azure DevOps väljer du sedan den sökväg och de verktyg som fungerar bäst för distributionsscenariot.
Om du inte har en standardlogikapp kan du fortfarande följa den här guiden med hjälp av de länkade standardlogikappprojekten för standardlogik plus exempel för distribution till Azure via GitHub eller Azure DevOps. Mer information finns i DevOps-distributionsöversikt för Azure Logic Apps med en klientorganisation.
Förutsättningar
Ett Azure-konto med en aktiv prenumeration. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto.
Om du inte har någon befintlig logikapp eller infrastruktur kan du använda det länkade exemplet standardlogikappprojekt för att distribuera en exempellogikapp och infrastruktur, baserat på om du vill använda GitHub eller Azure DevOps. Mer information om de exempelprojekt och resurser som ingår för att köra exempellogikappen finns i Distribuera infrastrukturresurser.
Distribuera infrastrukturresurser
Om du vill prova DevOps-distributionen utan tidigare standardlogikapp eller infrastrukturkonfiguration använder du följande exempelprojekt så att du kan konfigurera distribution för ett exempel på standardlogikapp och infrastruktur, baserat på om du vill använda GitHub eller Azure DevOps:
Det här exemplet innehåller ett exempel på ett standardlogikappprojekt plus exempel för Azure-distribution och Azure Pipelines.
Båda exemplen innehåller följande resurser som en standardlogikapp använder för att köra:
Resursnamn
Obligatoriskt
Beskrivning
Standardlogikapp
Ja
Den här Azure-resursen innehåller de arbetsflöden som körs i Azure Logic Apps med en enda klientorganisation.
Viktigt: I ditt logikappsprojekt har varje arbetsflöde en workflow.json fil som innehåller arbetsflödesdefinitionen, som innehåller utlösar- och åtgärdsdefinitionerna.
API-anslutningar
Ja, om DET finns API-anslutningar
Dessa Azure-resurser definierar alla hanterade API-anslutningar som dina arbetsflöden använder för att köra åtgärder för hanterade anslutningsappar, till exempel Office 365, SharePoint och så vidare.
Viktigt: I ditt logikappsprojekt innehåller connections.json-filen metadata, slutpunkter och nycklar för alla hanterade API-anslutningar och Azure-funktioner som dina arbetsflöden använder. Om du vill använda olika anslutningar och funktioner i varje miljö kontrollerar du att du parameteriserar connections.json-filen och uppdaterar slutpunkterna.
Den här Azure-resursen anger vilka värdresurser som ska användas för att köra logikappen, till exempel beräkning, bearbetning, lagring, nätverk och så vidare.
Viktigt: I den aktuella upplevelsen kräver standardlogikappresursen arbetsflödesstandardens värdplan, som baseras på Azure Functions Premium-värdplanen.
Azure-lagringskonto
Ja, för både tillståndskänsliga och tillståndslösa arbetsflöden
Den här Azure-resursen lagrar metadata, nycklar för åtkomstkontroll, tillstånd, indata, utdata, körningshistorik och annan information om dina arbetsflöden.
Programinsikter
Valfritt
Den här Azure-resursen tillhandahåller övervakningsfunktioner för dina arbetsflöden.
Azure Resource Manager (ARM)-mall
Valfritt
Den här Azure-resursen definierar en baslinjeinfrastrukturdistribution som du kan återanvända eller exportera.
API-anslutningsresurser och åtkomstprinciper
I Azure Logic Apps för en enda klientorganisation kräver varje hanterad API-anslutningsresurs i arbetsflödet en associerad åtkomstprincip. Den här principen behöver logikappens identitet för att ge rätt behörigheter för åtkomst till infrastrukturen för hanterade anslutningsappar. De exempelprojekt som ingår innehåller en ARM-mall som innehåller alla nödvändiga infrastrukturresurser, inklusive dessa åtkomstprinciper.
Följande diagram visar till exempel beroendena mellan ett standardlogikappprojekt och infrastrukturresurser:
Ladda ned standardartefakter för logikappar från portalen
Om standardlogikappen finns i Azure Portal kan du ladda ned en zip-fil som innehåller logikappens artefaktfiler, inklusive workflow.json, connections.json, host.json och local.settings.json.
I Azure Portal letar du upp och öppnar din standardlogikappresurs.
På logikappmenyn väljer du Översikt.
I verktygsfältet Översikt väljer du Ladda ned appinnehåll. I bekräftelserutan som visas väljer du Ladda ned.
När kommandotolken visas väljer du Spara som, bläddrar till den lokala mapp som du vill använda och väljer Spara för att spara zip-filen.
Extrahera zip-filen.
Öppna mappen som innehåller de uppackade filerna i Visual Studio Code.
När du öppnar mappen skapar Visual Studio Code automatiskt en arbetsyta.
Redigera mappens innehåll så att endast de mappar och filer som krävs för distributionen inkluderas med DevOps.
Spara ändringarna när du är klar.
Skapa och distribuera logikapp (zip-distribution)
Du kan konfigurera bygg- och versionspipelines i eller utanför Azure som distribuerar standardlogikappar till din infrastruktur.
Skapa projektet
Skicka standardlogikappsprojektet och artefaktfilerna till källlagringsplatsen, till exempel antingen GitHub eller Azure DevOps.
Konfigurera en byggpipeline baserat på din logikappprojekttyp genom att utföra följande motsvarande åtgärder:
Projekttyp
Beskrivning och steg
Nuget-baserad
Den NuGet-baserade projektstrukturen baseras på .NET Framework. Om du vill skapa dessa projekt måste du följa byggstegen för .NET Standard. Mer information finns i dokumentationen för Skapa ett NuGet-paket med HJÄLP av MSBuild.
Paketbaserad
Det tilläggspaketbaserade projektet är inte språkspecifikt och kräver inga språkspecifika byggsteg.
Zippa projektfilerna med valfri metod.
Viktigt
Kontrollera att zip-filen innehåller projektets faktiska byggartefakter på rotnivå, inklusive alla arbetsflödesmappar, konfigurationsfiler som host.json, connections.json, local.settings.json och andra relaterade filer. Lägg inte till några extra mappar eller placera artefakter i mappar som inte redan finns i projektstrukturen.
I följande lista visas till exempel ett exempel MyBuildArtifacts.zip filstruktur:
De hanterade API-anslutningarna i logikappprojektets connections.json-fil skapas specifikt för lokal användning i Visual Studio Code. Innan du kan släppa projektartefakter från Visual Studio Code till Azure måste du uppdatera dessa artefakter. Om du vill använda de hanterade API-anslutningarna i Azure måste du uppdatera deras autentiseringsmetoder så att de är i rätt format att använda i Azure.
Uppdatera autentiseringstyp
För varje hanterad API-anslutning som använder autentisering måste du uppdatera authentication objektet från det lokala formatet i Visual Studio Code till Azure Portal format, vilket visas i det första respektive andra kodexemplet:
Om du distribuerar standardlogikappen till en Azure-region eller prenumeration som skiljer sig från din lokala utvecklingsmiljö måste du också se till att skapa dessa hanterade API-anslutningar före distributionen. Distribution av Azure Resource Manager-mallar (ARM-mall) är det enklaste sättet att skapa hanterade API-anslutningar.
I följande exempel visas en sql-hanterad API-anslutningsresursdefinition i en ARM-mall:
Om du vill hitta de värden som krävs för properties objektet så att du kan slutföra anslutningsresursdefinitionen använder du följande API för en specifik anslutningsapp:
GET https://management.azure.com/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region-location}/managedApis/{connector-name}?api-version=2016-06-01
I svaret letar du upp connectionParameters objektet, som innehåller nödvändig information för att slutföra resursdefinitionen för den specifika anslutningsappen. I följande exempel visas ett exempel på en resursdefinition för en SQL-hanterad anslutning:
Alternativt kan du samla in och granska nätverksspårningen för när du skapar en anslutning med hjälp av arbetsflödesdesignern i Azure Logic Apps. Hitta det PUT anrop som skickas till api:et för den hanterade anslutningsappen enligt beskrivningen ovan och granska begärandetexten för all nödvändig information.
För GitHub-distributioner kan du distribuera logikappen med hjälp av GitHub Actions, till exempel GitHub Actions i Azure Functions. Den här åtgärden kräver att du går igenom följande information:
Namnet på logikappen som ska användas för distribution
Zip-filen som innehåller dina faktiska byggartefakter, inklusive alla arbetsflödesmappar, konfigurationsfiler som host.json, connections.json, local.settings.json och andra relaterade filer.
För Azure DevOps-distributioner kan du distribuera logikappen med hjälp av azure function app deploy-uppgiften i Azure Pipelines. Den här åtgärden kräver att du går igenom följande information:
Namnet på logikappen som ska användas för distribution
Zip-filen som innehåller dina faktiska byggartefakter, inklusive alla arbetsflödesmappar, konfigurationsfiler som host.json, connections.json, local.settings.json och andra relaterade filer.
Om du får ett pip-fel när du försöker installera Azure CLI kontrollerar du att du har standardpaketinstallationsprogrammet för Python (PIP). Den här pakethanteraren är skriven i Python och används för att installera programvarupaket. Mer information finns i Kontrollera "pip"-installation och version.
Förhandsversionen av Azure Logic Apps-tillägget (Standard) för en klientorganisation för Azure CLI.
Om du inte har det här tillägget installerar du tillägget. Även om Azure Logic Apps-tjänsten med en klientorganisation redan är allmänt tillgänglig är Azure Logic Apps-tillägget för Azure CLI för en enda klient fortfarande i förhandsversion.
En Azure-resursgrupp som ska användas för att distribuera ditt logikappsprojekt till Azure.
Logga in på Azure-portalen. I ett terminal- eller kommandofönster bekräftar du att din prenumeration är aktiv genom att köra kommandot : az login
az login
I terminalen eller kommandofönstret kontrollerar du din version av Azure CLI-versionen genom att köra kommandot , azmed följande obligatoriska parameter:
Installera Azure Logic Apps-tillägget (Standard) för Azure CLI
För närvarande är endast förhandsversionen för det här tillägget tillgänglig. Om du inte har installerat det här tillägget än kör du kommandot , az extension addmed följande obligatoriska parametrar:
az extension add --yes --source "https://aka.ms/logicapp-latest-py2.py3-none-any.whl"
Om du vill hämta det senaste tillägget, som är version 0.1.2, kör du dessa kommandon för att ta bort det befintliga tillägget och installerar sedan den senaste versionen från källan:
az extension remove --name logicapp
az extension add --yes --source "https://aka.ms/logicapp-latest-py2.py3-none-any.whl"
Anteckning
Om en ny tilläggsversion är tillgänglig visar de aktuella och senare versionerna ett meddelande.
Även om det här tillägget är i förhandsversion kan du använda följande kommando för att uppgradera till den senaste versionen utan att ta bort och installera igen manuellt:
az logicapp upgrade
Skapa resursgrupp
Om du inte har någon befintlig Azure-resursgrupp att använda för distribution skapar du gruppen genom att köra kommandot az group create. Om du inte redan har angett en standardprenumeration för ditt Azure-konto ska du använda parametern --subscription med ditt prenumerationsnamn eller din identifierare. Annars behöver du inte använda parametern --subscription .
Tips
Om du vill ange en standardprenumeration kör du följande kommando och ersätter MySubscription med ditt prenumerationsnamn eller din identifierare.
az account set --subscription MySubscription
Följande kommando skapar till exempel en resursgrupp med namnet MyResourceGroupName med azure-prenumerationen med namnet MySubscription på platsen eastus:
az group create --name MyResourceGroupName
--subscription MySubscription
--location eastus
Om resursgruppen har skapats visas utdata som provisioningStateSucceeded:
Varje API-anslutning har åtkomstprinciper. När zip-distributionen är klar måste du öppna standardlogikappresursen i Azure Portal och skapa åtkomstprinciper för varje API-anslutning för att konfigurera behörigheter för den distribuerade logikappen. Zip-distributionen skapar inte appinställningar åt dig. Efter distributionen måste du skapa de här appinställningarna baserat på den local.settings.json filen i logikappsprojektet.
Build end-to-end solutions in Microsoft Azure to create Azure Functions, implement and manage web apps, develop solutions utilizing Azure storage, and more.