Läs på engelska

Dela via


Konfigurera DevOps-distribution för standardlogikappar i Azure Logic Apps med en klientorganisation

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

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:

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.

Mer information finns i API-anslutningsresurser och åtkomstprinciper.
Functions Premium- eller App Service-värdplan Ja 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:

Konceptdiagram visar infrastrukturberoenden för standardlogikappprojekt i Azure Logic Apps-modellen med en enda klientorganisation.

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.

  1. I Azure Portal letar du upp och öppnar din standardlogikappresurs.

  2. På logikappmenyn väljer du Översikt.

  3. I verktygsfältet Översikt väljer du Ladda ned appinnehåll. I bekräftelserutan som visas väljer du Ladda ned.

  4. 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.

  5. Extrahera zip-filen.

  6. Öppna mappen som innehåller de uppackade filerna i Visual Studio Code.

    När du öppnar mappen skapar Visual Studio Code automatiskt en arbetsyta.

  7. Redigera mappens innehåll så att endast de mappar och filer som krävs för distributionen inkluderas med DevOps.

  8. 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

  1. Skicka standardlogikappsprojektet och artefaktfilerna till källlagringsplatsen, till exempel antingen GitHub eller Azure DevOps.

  2. 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.
  3. 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:

    MyStatefulWorkflow1-Folder
    MyStatefulWorkflow2-Folder
    connections.json
    host.json
    local.settings.json
    

Innan du släpper till Azure

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:

Visual Studio Code-format

{
   "managedApiConnections": {
      "sql": {
         "api": {
            "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/sql"
         },
         "connection": {
            "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ase/providers/Microsoft.Web/connections/sql-2"
         },
         "connectionRuntimeUrl": "https://xxxxxxxxxxxxxx.01.common.logic-westus.azure-apihub.net/apim/sql/xxxxxxxxxxxxxxxxxxxxxxxxx/",
         "authentication": {
            "type": "Raw",
            "scheme": "Key",
            "parameter": "@appsetting('sql-connectionKey')"
         }
      }
   }
}

Azure Portal format

{
   "managedApiConnections": {
      "sql": {
         "api": {
            "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/sql"
         },
         "connection": {
            "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ase/providers/Microsoft.Web/connections/sql-2"
         },
         "connectionRuntimeUrl": "https://xxxxxxxxxxxxxx.01.common.logic-westus.azure-apihub.net/apim/sql/xxxxxxxxxxxxxxxxxxxxxxxxx/",
         "authentication": {
            "type": "ManagedServiceIdentity",
         }
      }
   }
}

Skapa API-anslutningar efter behov

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:

{
   "type": "Microsoft.Web/connections",
   "apiVersion": "2016–06–01",
   "location": "[parameters('location')]",
   "name": "[parameters('connectionName')]",
   "properties": {
      "displayName": "sqltestconnector",
      "api": {
         "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/{Azure-region-location}/managedApis/sql"
      },
      "parameterValues": {
         "authType": "windows", 
         "database": "TestDB",
         "password": "TestPassword",
         "server": "TestServer",
         "username": "TestUserName"
      }
   }
}

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:

{
   "type": "Microsoft.Web/connections",
   "apiVersion": "2016–06–01",
   "location": "[parameters('location')]",
   "name": "[parameters('connectionName')]",
   "properties": {
      "displayName": "sqltestconnector",
      "api": {
         "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region-location}/managedApis/sql"
      },
      "parameterValues": {
         "authType": "windows",
         "database": "TestDB",
         "password": "TestPassword",
         "server": "TestServer",
         "username": "TestUserName"
      }
   }
}

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.

Resursdefinition för lokal datagateway

Om anslutningen använder en lokal datagatewayresurs finns den här resursdefinitionen separat från resursdefinitionen för anslutningsappen. Information om hur du visar datagatewayens resursdefinition finns i Automatisera distribution för Azure Logic Apps med hjälp av Azure Resource Manager-mallar och Microsoft.Web connectionGateways.

Släpp till Azure

Om du vill konfigurera en versionspipeline som distribueras till Azure följer du de associerade stegen för GitHub, Azure DevOps eller Azure CLI.

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.
  • Din publiceringsprofil, som används för autentisering
- name: 'Run Azure Functions Action'
  uses: Azure/functions-action@v1
  id: fa
  with:
   app-name: 'MyLogicAppName'
   package: 'MyBuildArtifact.zip'
   publish-profile: 'MyLogicAppPublishProfile'

Mer information finns i Kontinuerlig leverans med hjälp av GitHub Action.

Efter distributionen till Azure

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.

Vi vill veta mer om dina upplevelser med Azure Logic Apps med en enda klientorganisation!

Obs! Författaren skapade den här artikeln med hjälp av AI. Läs mer