Share via


A DevOpsból való üzembe helyezés beállítása standard logikai alkalmazások munkafolyamataihoz, egybérlős Azure Logic Apps esetén

A következőkre vonatkozik: Azure Logic Apps (Standard)

Ez a cikk bemutatja, hogyan helyezhet üzembe standard logikai alkalmazásprojekteket egybérlős Azure Logic Apps-alkalmazásokban a Visual Studio Code-ból az infrastruktúrába DevOps-eszközök és -folyamatok használatával. Attól függően, hogy a GitHubot vagy az Azure DevOpsot részesíti előnyben az üzembe helyezéshez, válassza ki a forgatókönyvnek leginkább megfelelő útvonalat és eszközöket. A gitHub vagy az Azure DevOps használatával használhatja a mellékelt mintákat, amelyek példalogikaalkalmazás-projekteket és példákat tartalmaznak az Azure üzembe helyezéséhez. Az egybérlős DevOpsról további információt az egybérlős Azure Logic Apps DevOps üzembehelyezési áttekintésében talál.

Előfeltételek

Infrastruktúra-erőforrások üzembe helyezése

Ha még nem állított be logikaialkalmazás-projektet vagy -infrastruktúrát, az alábbi mintaprojektekkel üzembe helyezhet egy példaalkalmazást és infrastruktúrát a használni kívánt forrás- és üzembehelyezési lehetőségek alapján:

Mindkét minta a következő erőforrásokat tartalmazza, amelyeket egy logikai alkalmazás a futtatáshoz használ.

Erőforrás neve Kötelező Leírás
Logikai alkalmazás (standard) Yes Ez az Azure-erőforrás az egybérlős Azure Logic Appsben futó munkafolyamatokat tartalmazza.
Functions Premium vagy App Service üzemeltetési csomag Yes Ez az Azure-erőforrás határozza meg a logikai alkalmazás futtatásához használandó üzemeltetési erőforrásokat, például a számítást, a feldolgozást, a tárolást, a hálózatkezelést stb.

Fontos: A jelenlegi tapasztalatok szerint a Logic App (Standard) erőforráshoz a Workflow Standard üzemeltetési csomagra van szükség, amely a Functions Premium üzemeltetési csomagon alapul.

Azure Storage-fiók Igen, állapotalapú és állapot nélküli munkafolyamatokhoz is Ez az Azure-erőforrás tárolja a metaadatokat, a hozzáférés-vezérlés kulcsait, az állapotot, a bemeneteket, a kimeneteket, a futtatási előzményeket és a munkafolyamatokkal kapcsolatos egyéb információkat.
Application Insights Választható Ez az Azure-erőforrás monitorozási képességeket biztosít a munkafolyamatokhoz.
API-kapcsolatok Nem kötelező, ha nincs ilyen Ezek az Azure-erőforrások definiálják azokat a felügyelt API-kapcsolatokat, amelyeket a munkafolyamatok felügyelt összekötőműveletek, például Office 365, SharePoint stb. futtatásához használnak.

Fontos: A logikai alkalmazás projektjében a connections.json fájl metaadatokat, végpontokat és kulcsokat tartalmaz a munkafolyamatok által használt felügyelt API-kapcsolatokhoz és Azure-függvényekhez. Ha minden környezetben különböző kapcsolatokat és függvényeket szeretne használni, győződjön meg arról, hogy paraméterezi a connections.json fájlt, és frissíti a végpontokat.

További információ: API-kapcsolati erőforrások és hozzáférési szabályzatok.

Azure Resource Manager- (ARM-) sablon Választható Ez az Azure-erőforrás meghatároz egy alapkonfigurációs infrastruktúra-üzembe helyezést, amelyet újra felhasználhat vagy exportálhat.

API-kapcsolati erőforrások és hozzáférési szabályzatok

Az egybérlős Azure Logic Appsben a munkafolyamatok minden felügyelt vagy API-kapcsolati erőforrásához társított hozzáférési szabályzat szükséges. Ennek a szabályzatnak szüksége van a logikai alkalmazás identitására a felügyelt összekötő-infrastruktúra eléréséhez szükséges megfelelő engedélyek biztosításához. A belefoglalt mintaprojektek közé tartozik egy ARM-sablon, amely tartalmazza az összes szükséges infrastruktúra-erőforrást, beleértve ezeket a hozzáférési szabályzatokat is.

Az alábbi diagram a logikai alkalmazás projektje és az infrastruktúra-erőforrások közötti függőségeket mutatja be:

Az egybérlős Azure Logic Apps-modellben egy logikaialkalmazás-projekt infrastruktúra-függőségeit bemutató fogalmi diagram.

Logikai alkalmazás erőforrásainak üzembe helyezése (zip deploy)

Miután leküldte a logikaialkalmazás-projektet a forrásadattárba, beállíthat buildelési és kiadási folyamatokat az Azure-ban vagy azon kívül, amelyek logikai alkalmazásokat helyeznek üzembe az infrastruktúrában.

A projekt létrehozása

Ha a logikai alkalmazás projekttípusa alapján szeretne buildelési folyamatot beállítani, hajtsa végre a megfelelő műveleteket az alábbi táblázatban:

Projekt típusa Leírás és lépések
Nuget-alapú A NuGet-alapú projektstruktúra a .NET-keretrendszer alapul. A projektek létrehozásához kövesse a .NET Standard buildelési lépéseit. További információ: NuGet-csomag létrehozása az MSBuild használatával.
Csomagalapú A bővítménycsomag-alapú projekt nem nyelvspecifikus, és nem igényel nyelvspecifikus buildelési lépéseket. Bármilyen módszerrel tömörítheti a projektfájlokat.

Fontos: Győződjön meg arról, hogy a .zip fájl tartalmazza a tényleges buildelési összetevőket, beleértve az összes munkafolyamat-mappát, konfigurációs fájlt, például host.json, connections.json és egyéb kapcsolódó fájlokat.

Az Azure-ba való kiadás előtt

A logikaialkalmazás-projekt connections.json fájljában található felügyelt API-kapcsolatok kifejezetten helyi használatra jönnek létre a Visual Studio Code-ban. Mielőtt kiadhatja a projektösszetevőket a Visual Studio Code-ból az Azure-ba, frissítenie kell ezeket az összetevőket. A felügyelt API-kapcsolatok Azure-ban való használatához frissítenie kell a hitelesítési módszereiket, hogy azok a megfelelő formátumban legyenek az Azure-ban való használathoz.

Hitelesítési típus frissítése

Minden hitelesítést használó felügyelt API-kapcsolat esetében frissítenie kell a hitelesítési objektumot a Visual Studio Code helyi formátumából a Azure Portal formátumra, ahogy az első és a második kód példái is mutatják:

Visual Studio Code formátum

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

Azure Portal formátum

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

API-kapcsolatok létrehozása szükség szerint

Ha a logikai alkalmazás munkafolyamatát a helyi fejlesztési környezetétől eltérő Azure-régióban vagy előfizetésben helyezi üzembe, az üzembe helyezés előtt mindenképpen létre kell hoznia ezeket a felügyelt API-kapcsolatokat. Az Azure Resource Manager-sablon (ARM-sablon) üzembe helyezése a felügyelt API-kapcsolatok létrehozásának legegyszerűbb módja.

Az alábbi példa egy ARM-sablonban található, felügyelt SQL API-kapcsolati erőforrás-definíciót mutat be:

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

A kapcsolati erőforrás definíciójának végrehajtásához a tulajdonságok objektumában használni kívánt értékek megkereséséhez az alábbi API-t használhatja egy adott összekötőhöz:

GET https://management.azure.com/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region-location}/managedApis/{connector-name}?api-version=2016-06-01

A válaszban keresse meg a connectionParameters objektumot, amely tartalmazza az adott összekötő erőforrás-definíciójának befejezéséhez szükséges összes információt. Az alábbi példa egy felügyelt SQL-kapcsolat erőforrásdefinícióját mutatja be:

{
   "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"
      }
   }
}

Alternatív megoldásként rögzítheti és áttekintheti a hálózati nyomkövetést, amikor kapcsolatot hoz létre a munkafolyamat-tervezővel az Azure Logic Appsben. Keresse meg az PUT összekötő felügyelt API-jára küldött hívást a korábban leírtak szerint, és tekintse át a kérés törzsét az összes szükséges információhoz.

Kiadás az Azure-ban

Az Azure-ban üzembe helyező kiadási folyamat beállításához kövesse a GitHubhoz, az Azure DevOpshoz vagy az Azure CLI-hez kapcsolódó lépéseket.

Megjegyzés

Az Azure Logic Apps jelenleg nem támogatja az Azure üzembehelyezési pontjait.

GitHub-üzemelő példányok esetén a logikai alkalmazást GitHub Actions, például a Azure Functions GitHub Actions használatával helyezheti üzembe. Ehhez a művelethez a következő információkat kell átadnia:

  • Az üzembe helyezéshez használandó logikai alkalmazás neve
  • A tényleges buildösszetevőket tartalmazó zip-fájl, beleértve az összes munkafolyamat-mappát, konfigurációs fájlt, például host.json, connections.json és egyéb kapcsolódó fájlokat.
  • A hitelesítéshez használt közzétételi profil
- name: 'Run Azure Functions Action'
  uses: Azure/functions-action@v1
  id: fa
  with:
   app-name: 'MyLogicAppName'
   package: 'MyBuildArtifact.zip'
   publish-profile: 'MyLogicAppPublishProfile'

További információkért tekintse át a folyamatos kézbesítést a GitHub Action dokumentációjában .

Az Azure-ba való kiadás után

Minden API-kapcsolat rendelkezik hozzáférési szabályzatokkal. A zip-telepítés befejezése után meg kell nyitnia a logikai alkalmazás erőforrását a Azure Portal, és hozzáférési szabályzatokat kell létrehoznia az egyes API-kapcsolatokhoz az üzembe helyezett logikai alkalmazás engedélyeinek beállításához. A zip-telepítés nem hoz létre alkalmazásbeállításokat. Ezért az üzembe helyezés után létre kell hoznia ezeket az alkalmazásbeállításokat a helyi Visual Studio Code-projekt local.settings.json fájlja alapján.

Következő lépések

Szeretnénk hallani az egybérlős Azure Logic Apps szolgáltatással kapcsolatos tapasztalatait!