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
Egy Azure-fiók, aktív előfizetéssel. Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot.
A Visual Studio Code és az Azure Logic Apps (Standard) bővítmény használatával létrehozott standard logikai alkalmazásprojekt.
Ha még nem állította be a logikaialkalmazás-projektet vagy -infrastruktúrát, a mellékelt 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. Ezekről a mintaprojektekről és a példalogikaalkalmazás futtatásához használt erőforrásokról az Infrastruktúra üzembe helyezése című témakörben olvashat bővebben.
Ha az Azure-ban szeretne üzembe helyezni, létre kell hoznia egy meglévő Logikai alkalmazás (Standard) erőforrást az Azure-ban. Egy üres logikaialkalmazás-erőforrás gyors létrehozásához tekintse át az egybérlős alapú logikaialkalmazás-munkafolyamatok létrehozása – Portál című cikket.
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:
GitHub-minta egybérlős Azure Logic Appshez
Ez a minta egy példa logikai alkalmazásprojektet tartalmaz az egybérlős Azure Logic Appshez, valamint példákat az Azure üzembe helyezésére és GitHub Actions.
Azure DevOps-minta egybérlős Azure Logic Appshez
Ez a minta egy példalogikaalkalmazás-projektet tartalmaz az egybérlős Azure Logic Appshez, valamint példákat az Azure üzembe helyezéséhez és az Azure Pipelineshoz.
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:
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!
- Hibák vagy problémák esetén hozza létre a problémákat a GitHubon.
- Kérdésekkel, kérésekkel, megjegyzésekkel és egyéb visszajelzésekkel kapcsolatban használja ezt a visszajelzési űrlapot.