Nastavení nasazení DevOps pro pracovní postupy aplikace logiky úrovně Standard v Azure Logic Apps pro jednoho tenanta

Platí pro: Azure Logic Apps (Standard)

Tento článek ukazuje, jak nasadit projekt aplikace logiky Standard do Azure Logic Apps s jedním tenantem ze sady Visual Studio Code do vaší infrastruktury pomocí nástrojů a procesů DevOps. V závislosti na tom, jestli pro nasazení dáváte přednost GitHubu nebo Azure DevOps, zvolte cestu a nástroje, které nejlépe vyhovují vašemu scénáři. Můžete použít zahrnuté ukázky, které obsahují ukázkové projekty aplikací logiky a příklady nasazení Azure pomocí GitHubu nebo Azure DevOps. Další informace o DevOps pro jednoho tenanta najdete v tématu Přehled nasazení DevOps pro Azure Logic Apps pro jednoho tenanta.

Požadavky

Nasazení prostředků infrastruktury

Pokud jste ještě nenastavili projekt nebo infrastrukturu aplikace logiky, můžete pomocí následujících ukázkových projektů nasadit ukázkovou aplikaci a infrastrukturu na základě upřednostňované možnosti zdroje a nasazení:

Obě ukázky zahrnují následující prostředky, které aplikace logiky používá ke spuštění.

Název prostředku Povinné Popis
Aplikace logiky (Standard) Yes Tento prostředek Azure obsahuje pracovní postupy, které běží v Azure Logic Apps s jedním tenantem.
Plán hostování Functions Premium nebo App Service Yes Tento prostředek Azure určuje hostitelské prostředky, které se mají použít ke spuštění vaší aplikace logiky, jako jsou výpočetní prostředky, zpracování, úložiště, sítě atd.

Důležité: V aktuálním prostředí prostředek aplikace logiky (Standard) vyžaduje plán hostování Workflow Standard, který je založený na plánu hostování Functions Premium.

Účet služby Azure Storage Ano, pro stavové i bezstavové pracovní postupy Tento prostředek Azure ukládá metadata, klíče pro řízení přístupu, stav, vstupy, výstupy, historii spuštění a další informace o vašich pracovních postupech.
Application Insights Volitelné Tento prostředek Azure poskytuje možnosti monitorování pro vaše pracovní postupy.
Připojení rozhraní API Volitelné, pokud žádná neexistuje Tyto prostředky Azure definují všechna spravovaná připojení rozhraní API, která vaše pracovní postupy používají ke spouštění operací spravovaných konektorů, jako jsou Office 365, SharePoint atd.

Důležité: V projektu aplikace logiky soubor connections.json obsahuje metadata, koncové body a klíče pro všechna spravovaná připojení rozhraní API a funkce Azure, které používají vaše pracovní postupy. Pokud chcete v každém prostředí používat jiná připojení a funkce, ujistěte se, že parametrizujete soubor connections.json a aktualizujete koncové body.

Další informace najdete v tématu Věnovaném prostředkům připojení rozhraní API a zásadám přístupu.

Šablona ARM (Azure Resource Manageru) Volitelné Tento prostředek Azure definuje základní nasazení infrastruktury, které můžete znovu použít nebo exportovat.

Prostředky připojení ROZHRANÍ API a zásady přístupu

V Azure Logic Apps s jedním tenantem vyžaduje každý spravovaný prostředek nebo prostředek připojení rozhraní API ve vašich pracovních postupech přidružené zásady přístupu. Tato zásada vyžaduje, aby identita vaší aplikace logiky poskytovala správná oprávnění pro přístup k infrastruktuře spravovaného konektoru. Zahrnuté ukázkové projekty zahrnují šablonu ARM, která zahrnuje všechny potřebné prostředky infrastruktury, včetně těchto zásad přístupu.

Následující diagram znázorňuje závislosti mezi projektem aplikace logiky a prostředky infrastruktury:

Koncepční diagram znázorňující závislosti infrastruktury pro projekt aplikace logiky v modelu Azure Logic Apps s jedním tenantem

Nasazení prostředků aplikace logiky (nasazení zip)

Po nasdílení projektu aplikace logiky do zdrojového úložiště můžete nastavit kanály sestavení a verze v rámci Azure nebo mimo Azure, které nasazují aplikace logiky do infrastruktury.

Sestavení projektu

Pokud chcete nastavit kanál buildu na základě typu projektu aplikace logiky, proveďte odpovídající akce v následující tabulce:

Typ projektu Popis a kroky
Založené na NuGetu Struktura projektu založená na NuGetu je založená na rozhraní .NET Framework. Pokud chcete tyto projekty sestavit, nezapomeňte postupovat podle kroků sestavení pro .NET Standard. Další informace najdete v dokumentaci k vytvoření balíčku NuGet pomocí nástroje MSBuild.
Založené na balíčcích Projekt založený na sadě rozšíření není specifický pro konkrétní jazyk a nevyžaduje žádné kroky sestavení pro konkrétní jazyk. Soubory projektu můžete zazipovat libovolnou metodou.

Důležité: Ujistěte se, že soubor .zip obsahuje skutečné artefakty sestavení, včetně všech složek pracovních postupů, konfiguračních souborů, jako je host.json, connections.json a všech dalších souvisejících souborů.

Před vydáním do Azure

Spravovaná připojení rozhraní API v souboru connections.json vašeho projektu aplikace logiky se vytvoří speciálně pro místní použití v editoru Visual Studio Code. Před vydáním artefaktů projektu z editoru Visual Studio Code do Azure musíte tyto artefakty aktualizovat. Pokud chcete používat spravovaná připojení rozhraní API v Azure, musíte aktualizovat jejich metody ověřování tak, aby byly ve správném formátu pro použití v Azure.

Aktualizace typu ověřování

Pro každé spravované připojení rozhraní API, které používá ověřování, musíte aktualizovat ověřovací objekt z místního formátu v editoru Visual Studio Code na formát Azure Portal, jak je znázorněno na prvním a druhém příkladu kódu:

Formát editoru Visual Studio Code

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

formát Azure Portal

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

Vytvoření připojení rozhraní API podle potřeby

Pokud nasazujete pracovní postup aplikace logiky do oblasti nebo předplatného Azure, které se liší od vašeho místního vývojového prostředí, musíte před nasazením také zajistit vytvoření těchto spravovaných připojení rozhraní API. Nasazení šablony Azure Resource Manager (šablony ARM) je nejjednodušší způsob, jak vytvořit spravovaná připojení rozhraní API.

Následující příklad ukazuje definici prostředku připojení spravovaného rozhraní API SQL v šabloně ARM:

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

Pokud chcete najít hodnoty, které potřebujete použít v objektu properties k dokončení definice prostředku připojení, můžete pro konkrétní konektor použít následující rozhraní API:

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

V odpovědi vyhledejte objekt connectionParameters , který obsahuje všechny informace potřebné k dokončení definice prostředku pro daný konkrétní konektor. Následující příklad ukazuje ukázkovou definici prostředku pro spravované připojení SQL:

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

Alternativně můžete při vytváření připojení pomocí návrháře pracovního postupu v Azure Logic Apps zaznamenat a zkontrolovat trasování sítě. PUT Vyhledejte výše popsané volání odesílané do spravovaného rozhraní API konektoru a zkontrolujte, jestli v textu požadavku nenajdete všechny potřebné informace.

Uvolnění do Azure

Pokud chcete nastavit kanál verze, který se nasazuje do Azure, postupujte podle přidružených kroků pro GitHub, Azure DevOps nebo Azure CLI.

Poznámka

Azure Logic Apps v současné době nepodporuje sloty nasazení Azure.

V případě nasazení GitHubu můžete aplikaci logiky nasadit pomocí GitHub Actions, například GitHub Actions v Azure Functions. Tato akce vyžaduje předání následujících informací:

  • Název aplikace logiky, která se má použít k nasazení
  • Soubor zip, který obsahuje vaše skutečné artefakty sestavení, včetně všech složek pracovních postupů, konfiguračních souborů, jako je host.json, connections.json a všech dalších souvisejících souborů.
  • Váš profil publikování, který se používá k ověřování
- name: 'Run Azure Functions Action'
  uses: Azure/functions-action@v1
  id: fa
  with:
   app-name: 'MyLogicAppName'
   package: 'MyBuildArtifact.zip'
   publish-profile: 'MyLogicAppPublishProfile'

Další informace najdete v dokumentaci k průběžnému doručování pomocí akce GitHubu .

Po vydání do Azure

Každé připojení rozhraní API má zásady přístupu. Po dokončení nasazení souboru ZIP musíte otevřít prostředek aplikace logiky v Azure Portal a vytvořit zásady přístupu pro každé připojení rozhraní API, abyste mohli nastavit oprávnění pro nasazenou aplikaci logiky. Nasazení souboru ZIP nevytvoří nastavení aplikace za vás. Po nasazení tedy musíte tato nastavení aplikace vytvořit na základě souboru local.settings.json v místním projektu editoru Visual Studio Code.

Další kroky

Rádi bychom se dozvěděli o vašich zkušenostech s Azure Logic Apps pro jednoho tenanta.