Sdílet prostřednictvím


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. Na základě toho, jestli dáváte přednost GitHubu nebo Azure DevOps pro nasazení, 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 přehledu nasazení DevOps pro Azure Logic Apps s jedním tenantem.

Požadavky

  • Účet Azure s aktivním předplatným. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.

  • Projekt standardní aplikace logiky vytvořený pomocí editoru Visual Studio Code a rozšíření Azure Logic Apps (Standard)

    Pokud jste ještě nenastavili projekt nebo infrastrukturu aplikace logiky, můžete pomocí zahrnutých ukázkových projektů nasadit ukázkovou aplikaci a infrastrukturu na základě možností zdroje a nasazení, které chcete použít. Další informace o těchto ukázkových projektech a prostředcích zahrnutých ke spuštění ukázkové aplikace logiky najdete v tématu Nasazení infrastruktury.

  • Pokud chcete nasadit do Azure, potřebujete existující prostředek aplikace logiky (Standard) vytvořený v Azure. Pokud chcete rychle vytvořit prázdný prostředek aplikace logiky, přečtěte si téma Vytvoření pracovních postupů aplikací logiky založených na jednom tenantovi – portál.

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ě možností zdroje a nasazení, které chcete použít:

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

Název prostředku Požadováno Popis
Aplikace logiky (standard) Ano Tento prostředek Azure obsahuje pracovní postupy, které běží v Azure Logic Apps s jedním tenantem.
Plán hostování služby Functions Premium nebo App Service Ano Tento prostředek Azure určuje hostitelské prostředky, které se mají použít pro spouštění 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í vyžaduje prostředek aplikace logiky (Standard) plán hostování pracovního postupu standard, který je založený na plánu hostování služby 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í API Nepovinný argument, pokud 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 obsahuje soubor connections.json 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 různá připojení a funkce, ujistěte se, že parametrizujete soubor connections.json a aktualizujete koncové body.

Další informace najdete v prostředcích připojení rozhraní API a zásadách přístupu.

Šablona ARM (Azure Resource Manageru) Volitelné Tento prostředek Azure definuje základní nasazení infrastruktury, které můžete opakovaně 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 připojení nebo prostředek připojení rozhraní API ve vašich pracovních postupech přidružené zásady přístupu. Tato zásada potřebuje identitu aplikace logiky, aby 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 buď uvnitř 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
Na základě 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 sadách Projekt založený na sadě rozšíření není specifický pro jazyk a nevyžaduje žádné kroky sestavení specifické pro 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 jsou host.json, connections.json a všechny další související soubory.

Před vydáním do Azure

Spravovaná připojení rozhraní API v souboru connections.json projektu aplikace logiky se vytvářejí speciálně pro místní použití v editoru Visual Studio Code. Než budete moct vydat artefakty 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í, aby byly ve správném formátu pro použití v Azure.

Aktualizace typu ověřování

Pro každé připojení spravovaného rozhraní API, které používá ověřování, musíte aktualizovat objekt ověřování z místního formátu v editoru Visual Studio Code na formát webu Azure Portal, jak je znázorněno v prvních a druhých příkladech 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 webu 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 Azure nebo předplatného, které se liší od místního vývojového prostředí, musíte před nasazením také vytvořit tato spravovaná připojení rozhraní API. Nasazení šablony Azure Resource Manageru (šablony ARM) je nejjednodušší způsob, jak vytvořit spravovaná připojení rozhraní API.

Následující příklad ukazuje definici prostředku 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"
      }
   }
}

K vyhledání hodnot, které potřebujete použít v objektu vlastností pro 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 potřebné informace 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 zaznamenat a zkontrolovat trasování sítě při vytváření připojení pomocí návrháře pracovního postupu v Azure Logic Apps. PUT Vyhledejte volání, které se odešle do spravovaného rozhraní API konektoru, jak bylo popsáno dříve, a zkontrolujte text požadavku, kde najdete všechny potřebné informace.

Definice prostředku místní brány dat

Pokud vaše připojení používá prostředek místní brány dat, existuje tato definice prostředku odděleně od definice prostředku konektoru. Pokud chcete zobrazit definici prostředku brány dat, přečtěte si téma Automatizace nasazení pro Azure Logic Apps pomocí šablon Azure Resource Manageru a Microsoft.Web connectionGateways.

Vydání do Azure

Pokud chcete nastavit kanál verze, který se nasadí 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.

Pro nasazení GitHubu můžete aplikaci logiky nasadit pomocí GitHub Actions, například GitHub Actions ve službě Azure Functions. Tato akce vyžaduje, abyste prošli následujícími informacemi:

  • Název aplikace logiky, který se má použít pro nasazení
  • Soubor ZIP, který obsahuje skutečné artefakty sestavení, včetně všech složek pracovních postupů, konfiguračních souborů, jako jsou host.json, connections.json a 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 na webu Azure Portal a vytvořit zásady přístupu pro každé připojení rozhraní API, abyste nastavili oprávnění pro nasazenou aplikaci logiky. Nasazení souboru ZIP pro vás nevytvoří nastavení aplikace. Po nasazení je tedy nutné vytvořit tato nastavení aplikace 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 s jedním tenantem.