Vytváření a nasazování pracovních postupů aplikací logiky založených na jednom tenantovi s využitím Logic Apps s podporou Azure Arc (Preview)

Poznámka:

Tato funkce je ve verzi Preview a podléhá dodatečným podmínkám použití pro microsoft Azure Preview.

Pomocí Logic Apps s podporou Azure Arc můžete vytvářet a nasazovat pracovní postupy aplikací logiky založené na jednom tenantovi do infrastruktury Kubernetes, kterou provozujete a spravujete. Vaše aplikace logiky běží ve vlastním umístění, které je namapované na cluster Kubernetes s podporou Azure Arc, kde jste nainstalovali a povolili sadu rozšíření platformy Aplikace Azure Service.

Tento cluster může být například Azure Kubernetes Service, holé počítače Kubernetes nebo jiné nastavení. Sada rozšíření umožňuje spouštět služby platformy, jako jsou Azure Logic Apps, Aplikace Azure Service a Azure Functions v clusteru Kubernetes.

Další informace najdete v následující dokumentaci:

Požadavky

Tato část popisuje běžné předpoklady pro všechny přístupy a nástroje, které můžete použít k vytvoření a nasazení pracovních postupů aplikace logiky. Spolu s odpovídajícími kroky se zobrazí požadavky specifické pro konkrétní nástroje.

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

  • Prostředí Kubernetes s clusterem Kubernetes s podporou Azure Arc a vlastním umístěním, kde můžete hostovat a spouštět Azure Logic Apps, Aplikace Azure Service a Azure Functions.

    Důležité

    Ujistěte se, že používáte stejné umístění prostředků pro vaše prostředí Kubernetes, vlastní umístění a aplikaci logiky.

    Při vytváření rozšíření sady prostředků služby App Service v clusteru Kubernetes můžete změnit výchozí chování škálování pro spouštění pracovních postupů aplikace logiky. Při vytváření rozšíření pomocí příkazu az k8s-extension createAzure CLI nezapomeňte zahrnout nastavení konfigurace: keda.enabled=true

    az k8s-extension create {other-command-options} --configuration-settings "keda.enabled=true"

    Další informace najdete v následující dokumentaci:

  • Vlastní identita Microsoft Entra

    Pokud vaše pracovní postupy potřebují používat nějaká připojení hostovaná v Azure, jako je Office 365 Outlook nebo Azure Storage, musí vaše aplikace logiky k ověřování použít identitu Microsoft Entra. Logic Apps s podporou Azure Arc se může spouštět na jakékoli infrastruktuře, ale vyžaduje identitu, která má oprávnění k používání připojení hostovaných v Azure. Pokud chcete tuto identitu nastavit, vytvořte registraci aplikace v Microsoft Entra ID, které vaše aplikace logiky používá jako požadovanou identitu.

    Poznámka:

    Podpora spravovaných identit je momentálně pro Logic Apps s podporou Azure Arc nedostupná.

    Pokud chcete vytvořit registraci aplikace Microsoft Entra pomocí Azure CLI, postupujte takto:

    1. Pomocí příkazu vytvořte registraci az ad sp create aplikace.

    2. Pokud chcete zkontrolovat všechny podrobnosti, spusťte az ad sp show příkaz.

    3. Ve výstupu obou příkazů vyhledejte a uložte ID klienta, ID objektu, ID tenanta a tajné hodnoty klienta, které je potřeba zachovat pro pozdější použití.

    Pokud chcete vytvořit registraci aplikace Microsoft Entra pomocí webu Azure Portal, postupujte takto:

    1. Pomocí webu Azure Portal vytvořte novou registraci aplikace Microsoft Entra.

    2. Po dokončení vytváření na portálu vyhledejte novou registraci aplikace.

    3. V nabídce registrace vyberte Přehled a uložte ID klienta, ID tenanta a hodnoty tajných klíčů klienta.

    4. Id objektu najdete tak, že vedle spravované aplikace v poli místního adresáře vyberete název registrace aplikace. V zobrazení vlastností zkopírujte ID objektu.

Vytváření a nasazování aplikací logiky

Na základě toho, jestli chcete použít Azure CLI nebo Visual Studio Code, vyberte odpovídající kartu a zkontrolujte konkrétní požadavky a kroky.

Než začnete, musíte mít následující položky:

  • Nejnovější rozšíření Azure CLI nainstalované na místním počítači.

  • Rozšíření Azure Logic Apps (Standard) ve verzi Preview pro Azure CLI

    I když je Azure Logic Apps pro jednoho tenanta obecně dostupný, rozšíření Azure Logic Apps je stále ve verzi Preview.

  • Skupina prostředků Azure pro vytvoření aplikace logiky

    Pokud tuto skupinu prostředků nemáte, vytvořte ji podle kroků.

  • Účet úložiště Azure, který se bude používat s aplikací logiky pro uchovávání dat a historie spuštění.

    Pokud tento účet úložiště nemáte, můžete ho vytvořit při vytváření aplikace logiky nebo můžete podle pokynů vytvořit účet úložiště.

Kontrola verze prostředí a rozhraní příkazového řádku

  1. Přihlaste se k portálu Azure. Spuštěním následujícího příkazu zkontrolujte, jestli je vaše předplatné aktivní:

    az login
    
  2. Spuštěním následujícího příkazu zkontrolujte verzi Azure CLI v terminálu nebo příkazovém okně:

    az --version
    

    Nejnovější verzi najdete v nejnovější zprávě k vydání verze.

  3. Pokud nemáte nejnovější verzi, aktualizujte instalaci podle průvodce instalací operačního systému nebo platformy.

Instalace rozšíření Azure Logic Apps (Standard) pro Azure CLI

Nainstalujte rozšíření Azure Logic Apps (Standard) ve verzi Preview pro Azure CLI spuštěním následujícího příkazu:

az extension add --yes --source "https://aka.ms/logicapp-latest-py2.py3-none-any.whl"

Vytvořit skupinu zdrojů

Pokud ještě nemáte skupinu prostředků pro aplikaci logiky, vytvořte ji spuštěním příkazu az group create. Pokud jste pro svůj účet Azure ještě nenastavili výchozí předplatné, nezapomeňte použít --subscription parametr s názvem nebo identifikátorem předplatného. Jinak tento parametr nemusíte používat --subscription .

Tip

Pokud chcete nastavit výchozí předplatné, spusťte následující příkaz a nahraďte MySubscription názvem nebo identifikátorem vašeho předplatného.

az account set --subscription MySubscription

Následující příkaz například vytvoří skupinu prostředků pojmenovanou MyResourceGroupName pomocí předplatného Azure s názvem MySubscription v umístění eastus:

az group create --name MyResourceGroupName 
   --subscription MySubscription 
   --location eastus

Pokud se vaše skupina prostředků úspěšně vytvořila, výstup zobrazí provisioningState následující Succeeded:

<...>
   "name": "testResourceGroup",
   "properties": {
      "provisioningState": "Succeeded"
    },
<...>

Vytvoření aplikace logiky

Pokud chcete vytvořit aplikaci logiky s podporou Azure Arc, spusťte příkaz az logicapp creates následujícími požadovanými parametry. Umístění prostředků pro vaši aplikaci logiky, vlastní umístění a prostředí Kubernetes musí být stejná.

Parametry Popis
--name -n Jedinečný název aplikace logiky
--resource-group -g Název skupiny prostředků, ve které chcete vytvořit aplikaci logiky. Pokud ho nemáte používat, vytvořte skupinu prostředků.
--storage-account -s Účet úložiště, který se má použít s vaší aplikací logiky. Pro účty úložiště ve stejné skupině prostředků použijte řetězcovou hodnotu. Pro účty úložiště v jiné skupině prostředků použijte ID prostředku.
az logicapp create --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription 
   --storage-account MyStorageAccount --custom-location MyCustomLocation

Pokud chcete vytvořit aplikaci logiky s podporou Azure Arc pomocí privátní image služby Azure Container Registry (ACR), spusťte příkaz az logicapp creates následujícími požadovanými parametry:

az logicapp create --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription 
   --storage-account MyStorageAccount --custom-location MyCustomLocation 
   --deployment-container-image-name myacr.azurecr.io/myimage:tag
   --docker-registry-server-password MyPassword 
   --docker-registry-server-user MyUsername

Zobrazení podrobností aplikace logiky

Pokud chcete zobrazit podrobnosti o aplikaci logiky s podporou Azure Arc, spusťte příkaz s az logicapp shownásledujícími požadovanými parametry:

az logicapp show --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription

Nasazení aplikace logiky

Pokud chcete nasadit aplikaci logiky s podporou Azure Arc pomocí nasazení kudu zip služby Aplikace Azure Service, spusťte příkaz s az logicapp deployment source config-zipnásledujícími požadovanými parametry:

Důležité

Ujistěte se, že soubor ZIP obsahuje artefakty projektu na kořenové úrovni. Mezi tyto artefakty patří všechny složky pracovních postupů, konfigurační soubory, jako jsou host.json, connections.json a všechny další související soubory. Nepřidávejte žádné další složky ani neukládejte žádné artefakty do složek, které ještě ve struktuře projektu neexistují. Tento seznam například ukazuje příklad struktury souborů MyBuildArtifacts.zip:

MyStatefulWorkflow1-Folder
MyStatefulWorkflow2-Folder
connections.json
host.json
az logicapp deployment source config-zip --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription 
   --src MyBuildArtifact.zip

Spuštění aplikace logiky

Pokud chcete spustit aplikaci logiky s podporou Azure Arc, spusťte příkaz s az logicapp startnásledujícími požadovanými parametry:

az logicapp start --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription

Zastavení aplikace logiky

Pokud chcete zastavit aplikaci logiky s podporou Azure Arc, az logicapp stopspusťte příkaz s následujícími požadovanými parametry:

az logicapp stop --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription

Restartování aplikace logiky

Pokud chcete restartovat aplikaci logiky s podporou Azure Arc, spusťte příkaz s az logicapp restartnásledujícími požadovanými parametry:

az logicapp restart --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription

Odstranění aplikace logiky

Pokud chcete odstranit aplikaci logiky s podporou Azure Arc, az logicapp deletespusťte příkaz s následujícími požadovanými parametry:

az logicapp delete --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription

Nastavení ověřování připojení

Clustery Kubernetes s podporou Služby Azure Arc v současné době nepodporují použití spravované identity aplikace logiky k ověřování spravovaných připojení rozhraní API. Tato připojení hostovaná a spravovaná v Azure vytvoříte, když ve svých pracovních postupech používáte spravované konektory.

Místo toho musíte vytvořit vlastní registraci aplikace v Microsoft Entra ID. Tuto registraci aplikace pak můžete použít jako identitu pro aplikace logiky nasazené a spuštěné v Logic Apps s podporou Azure Arc. Další informace najdete v požadavcích nejvyšší úrovně.

Z registrace aplikace potřebujete ID klienta, ID objektu, ID tenanta a tajný klíč klienta. Pokud k nasazení použijete Visual Studio Code, máte integrované prostředí pro nastavení aplikace logiky pomocí identity Microsoft Entra. Další informace najdete v tématu Vytváření a nasazování pracovních postupů aplikace logiky – Visual Studio Code.

Pokud ale k vývoji používáte Visual Studio Code, ale k nasazení použijete Azure CLI nebo automatizované kanály, postupujte podle těchto kroků.

Konfigurace nastavení připojení a aplikace v projektu

  1. V souboru connections.json projektu aplikace logiky vyhledejte authentication objekt pro spravované připojení. Obsah tohoto objektu nahraďte informacemi o registraci aplikace, které jste dříve vygenerovali v požadavcích nejvyšší úrovně:

    "authentication": {
       "type": "ActiveDirectoryOAuth",
       "audience": "https://management.core.windows.net/",
       "credentialType": "Secret",
       "clientId": "@appsetting('WORKFLOWAPP_AAD_CLIENTID')",
       "tenant": "@appsetting('WORKFLOWAPP_AAD_TENANTID')",
       "secret": "@appsetting('WORKFLOWAPP_AAD_CLIENTSECRET')"
    } 
    
  2. Do souboru local.settings.json projektu aplikace logiky přidejte ID klienta, ID objektu, ID tenanta a tajný klíč klienta. Po nasazení se tato nastavení stanou vaším nastavením aplikace logiky.

    {
       "IsEncrypted": false,
       "Values": {
          <...>
          "WORKFLOWAPP_AAD_CLIENTID":"<my-client-ID>",
          "WORKFLOWAPP_AAD_OBJECTID":"<my-object-ID",
          "WORKFLOWAPP_AAD_TENANTID":"<my-tenant-ID>",
          "WORKFLOWAPP_AAD_CLIENTSECRET":"<my-client-secret>"
       }
    }
    

Důležité

V produkčních scénářích nebo prostředích se ujistěte, že tyto tajné kódy a citlivé informace chráníte a zabezpečujete, například pomocí trezoru klíčů.

Přidání zásad přístupu

V Azure Logic Apps s jedním tenantem má každá aplikace logiky identitu, která má udělená oprávnění zásadami přístupu k používání připojení hostovaných v Azure a spravovaných připojeních. Tyto zásady přístupu můžete nastavit pomocí webu Azure Portal nebo nasazení infrastruktury.

Šablona ARM

Do šablony Azure Resource Manageru (šablona ARM) zahrňte následující definici prostředku pro každé spravované připojení rozhraní API a zadejte následující informace:

Parametr Popis
<název připojení> Název vašeho spravovaného připojení rozhraní API, například office365
<object-ID> ID objektu pro vaši identitu Microsoft Entra, dříve uložené z registrace vaší aplikace
<ID tenanta> ID tenanta pro vaši identitu Microsoft Entra, dříve uložené z registrace vaší aplikace
{
   "type": "Microsoft.Web/connections/accessPolicies",
   "apiVersion": "2016-06-01",
   "name": "[concat('<connection-name>'),'/','<object-ID>')]",
   "location": "<location>",
   "dependsOn": [
      "[resourceId('Microsoft.Web/connections', parameters('connection_name'))]"
   ],
   "properties": {
      "principal": {
         "type": "ActiveDirectory",
         "identity": {
            "objectId": "<object-ID>",
            "tenantId": "<tenant-ID>"
         }
      }
   }
}

Další informace najdete v dokumentaci k Microsoft.Web/connections/accesspolicies (šablona ARM).

portál Azure

Pro tuto úlohu použijte jako ID aplikace dříve uložené ID klienta.

  1. Na webu Azure Portal vyhledejte a otevřete aplikaci logiky. V nabídce aplikace logiky v části Pracovní postupy vyberte Připojení, která zobrazí všechna připojení v pracovních postupech pro prostředek aplikace logiky.

  2. V části Připojení rozhraní API vyberte připojení, které je office365 v tomto příkladu.

  3. V nabídce připojení v části Nastavení vyberte Přidat zásady>přístupu.

  4. V podokně Přidat zásadu přístupu ve vyhledávacím poli vyhledejte a vyberte dříve uložené ID klienta.

  5. Po dokončení vyberte Přidat.

  6. Tento postup opakujte pro každé připojení hostované v Azure v aplikaci logiky.

Automatizace nasazení DevOps

Pokud chcete vytvářet a nasazovat aplikace logiky s podporou Služby Azure Arc, můžete použít stejné kanály a procesy jako pro aplikace logiky založené na jednom tenantovi. Pokud chcete automatizovat nasazení infrastruktury pomocí kanálů pro DevOps, proveďte následující změny na úrovni infrastruktury pro nekontejnerová i kontejnerová nasazení.

Standardní nasazení (noncontainer)

Pokud k nasazení aplikace logiky použijete nasazení zip, nemusíte pro hostování imagí kontejnerů nastavit registr Dockeru. I když aplikace logiky v Kubernetes technicky běží na kontejnerech, služba Logic Apps s podporou Azure Arc tyto kontejnery spravuje za vás. V tomto scénáři proveďte při nastavování infrastruktury následující úlohy:

Do šablony Azure Resource Manageru (šablona ARM) patří následující hodnoty:

Položka Vlastnost JSON Popis
Location location Nezapomeňte použít stejné umístění prostředků (oblast Azure) jako vlastní umístění a prostředí Kubernetes. Umístění prostředků pro vaši aplikaci logiky, vlastní umístění a prostředí Kubernetes musí být stejná.

Poznámka: Tato hodnota není stejná jako název vlastního umístění.

Druh aplikace kind Typ aplikace, kterou nasazujete, aby platforma Azure vaši aplikaci identifikovala. V případě Azure Logic Apps vypadají tyto informace jako v následujícím příkladu: kubernetes,functionapp,workflowapp,linux
Rozšířené umístění extendedLocation Tento objekt vyžaduje "name" vlastní umístění pro vaše prostředí Kubernetes a musí mít nastavenou "type" hodnotu "CustomLocation".
ID prostředku plánu hostování serverFarmId ID prostředku přidruženého plánu služby App Service naformátované následujícím způsobem:

"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}"

Připojovací řetězec úložiště AzureWebJobsStorage Připojovací řetězec pro váš účet úložiště

Důležité: Musíte zadat připojovací řetězec pro účet úložiště v šabloně ARM. V produkčních scénářích nebo prostředích se ujistěte, že tyto tajné kódy a citlivé informace chráníte a zabezpečujete, například pomocí trezoru klíčů.

Šablona ARM

Následující příklad popisuje ukázkovou definici prostředku Logic Apps s podporou Azure Arc, kterou můžete použít v šabloně ARM. Další informace najdete v dokumentaci k formátu šablony Microsoft.Web/sites (JSON).

{
   "type": "Microsoft.Web/sites",
   "apiVersion": "2020-12-01",
   "name": "[parameters('name')]",
   "location": "[parameters('location')]",
   "kind": "kubernetes,functionapp,workflowapp,linux",
   "extendedLocation": {
      "name": "[parameters('customLocationId')]",
      "type": "CustomLocation"
    },
   "properties": {
      "clientAffinityEnabled": false,
      "name": "[parameters('name')]",
      "serverFarmId": "<hosting-plan-ID>",
      "siteConfig": {
         "appSettings": [
            {
               "name": "FUNCTIONS_EXTENSION_VERSION",
               "value": "~3"
            },
            {
               "name": "FUNCTIONS_WORKER_RUNTIME",
               "value": "dotnet"
            },
            {
               "name": "AzureWebJobsStorage",
               "value": "<storage-connection-string>"
            },
            {
               "name": "AzureFunctionsJobHost__extensionBundle__id",
               "value": "Microsoft.Azure.Functions.ExtensionBundle.Workflows"
            },
            {
               "name": "AzureFunctionsJobHost__extensionBundle__version",
               "value": "[1.*, 2.0.0)"
            },
            {
               "name": "APP_KIND",
               "value": "workflowapp"
            }
         ],
         "use32BitWorkerProcess": "[parameters('use32BitWorkerProcess')]",
         "linuxFxVersion": "Node|12"
      }
   }
}

Poznámka:

Ve výchozím nastavení FUNCTIONS_WORKER_RUNTIME nastavení aplikace logiky je dotnet. node Dříve byla výchozí hodnota. dotnet Teď je ale výchozí hodnota pro všechny nové a existující nasazené aplikace logiky s podporou Arc, a to i pro aplikace, které měly jinou hodnotu. Tato změna by neměla mít vliv na modul runtime pracovního postupu a všechno by mělo fungovat stejným způsobem jako předtím. Další informace najdete v nastavení FUNCTIONS_WORKER_RUNTIME aplikace.

Nastavení aplikace APP_KIND pro vaši aplikaci logiky je nastavené na aplikaci pracovního postupu, ale v některých scénářích chybí toto nastavení aplikace, například kvůli šablonám Azure Resource Manageru nebo jiným scénářům, ve kterých nemusí být nastavení zahrnuto. Pokud některé akce nefungují, například akce Spustit javascriptový kód nebo pracovní postup přestane fungovat, zkontrolujte, jestli existuje nastavení aplikace APP_KIND a je nastavené na workflowapp. Další informace najdete v nastavení aplikace APP_KIND.

Nasazení kontejnerů

Pokud dáváte přednost používání nástrojů kontejneru a procesů nasazení, můžete kontejnerizovat aplikace logiky a nasazovat je do Logic Apps s podporou Služby Azure Arc. V tomto scénáři při nastavování infrastruktury proveďte následující úlohy vysoké úrovně:

  • Nastavte registr Dockeru pro hostování imagí kontejneru.

  • Pokud chcete kontejnerizovat aplikaci logiky, přidejte do kořenové složky projektu aplikace logiky následující soubor Dockerfile a postupujte podle kroků pro sestavení a publikování image do registru Dockeru, například projděte si kurz: Sestavení a nasazení imagí kontejneru v cloudu pomocí azure Container Registry Tasks.

    Poznámka:

    Pokud jako poskytovatele úložiště používáte SQL, ujistěte se, že používáte image Azure Functions verze 3.3.1 nebo novější.

    FROM mcr.microsoft.com/azure-functions/node:3.3.1
    ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
    AzureFunctionsJobHost__Logging__Console__IsEnabled=true \
    FUNCTIONS_V2_COMPATIBILITY_MODE=true
    COPY . /home/site/wwwroot
    RUN cd /home/site/wwwroot
    
  • Upozorněte poskytovatele prostředků, že vytváříte aplikaci logiky v Kubernetes.

  • V šabloně nasazení přejděte na registr Dockeru a image kontejneru, kam plánujete nasazení. Azure Logic Apps s jedním tenantem používá tyto informace k získání image kontejneru z registru Dockeru.

  • Zahrňte do svého nasazení plán služby App Service. Další informace najdete v tématu Zahrnutí plánu služby App Service s nasazením.

Do šablony Azure Resource Manageru (šablona ARM) zadejte následující hodnoty:

Položka Vlastnost JSON Popis
Location location Nezapomeňte použít stejné umístění prostředků (oblast Azure) jako vlastní umístění a prostředí Kubernetes. Umístění prostředků pro vaši aplikaci logiky, vlastní umístění a prostředí Kubernetes musí být stejná.

Poznámka: Tato hodnota není stejná jako název vlastního umístění.

Druh aplikace kind Typ aplikace, kterou nasazujete, aby platforma Azure vaši aplikaci identifikovala. V případě Azure Logic Apps vypadají tyto informace jako v následujícím příkladu: kubernetes,functionapp,workflowapp,container
Rozšířené umístění extendedLocation Tento objekt vyžaduje "name" vlastní umístění pro vaše prostředí Kubernetes a musí být "type" nastaveno na "CustomLocation"hodnotu .
Název kontejneru linuxFxVersion Název kontejneru naformátovaný následujícím způsobem: DOCKER\|<container-name>
ID prostředku plánu hostování serverFarmId ID prostředku přidruženého plánu služby App Service naformátované následujícím způsobem:

"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}"

Připojovací řetězec úložiště AzureWebJobsStorage Připojovací řetězec pro váš účet úložiště

Důležité: Když nasadíte do kontejneru Dockeru, musíte zadat připojovací řetězec pro účet úložiště v šabloně ARM. V produkčních scénářích nebo prostředích se ujistěte, že tyto tajné kódy a citlivé informace chráníte a zabezpečujete, například pomocí trezoru klíčů.

Pokud chcete odkazovat na svůj registr Dockeru a image kontejneru, zahrňte do šablony tyto hodnoty:

Položka Vlastnost JSON Popis
Adresa URL serveru registru Dockeru DOCKER_REGISTRY_SERVER_URL Adresa URL serveru registru Dockeru
Server registru Dockeru DOCKER_REGISTRY_SERVER_USERNAME Uživatelské jméno pro přístup k serveru registru Dockeru
Heslo serveru registru Dockeru DOCKER_REGISTRY_SERVER_PASSWORD Heslo pro přístup k serveru registru Dockeru

Šablona ARM

Následující příklad popisuje ukázkovou definici prostředku Logic Apps s podporou Azure Arc, kterou můžete použít v šabloně ARM. Další informace najdete v dokumentaci k formátu šablony Microsoft.Web/sites (šablona ARM).

{
   "type": "Microsoft.Web/sites",
   "apiVersion": "2020-12-01",
   "name": "[parameters('name')]",
   "location": "[parameters('location')]",
   "kind": " kubernetes,functionapp,workflowapp,container",
   "extendedLocation": {
      "name": "[parameters('customLocationId')]",
      "type": "CustomLocation"
    },
   "properties": {
      "name": "[parameters('name')]",
      "clientAffinityEnabled": false,
      "serverFarmId": "<hosting-plan-ID>",
      "siteConfig": {
         "appSettings": [
            {
               "name": "FUNCTIONS_EXTENSION_VERSION",
               "value": "~3"
            },
            {
               "name": "FUNCTIONS_WORKER_RUNTIME",
               "value": "dotnet"
            },
            {
               "name": "AzureWebJobsStorage",
               "value": "<storage-connection-string>"
            },
            {
               "name": "AzureFunctionsJobHost__extensionBundle__id",
               "value": "Microsoft.Azure.Functions.ExtensionBundle.Workflows"
            },
            {
               "name": "AzureFunctionsJobHost__extensionBundle__version",
               "value": "[1.*, 2.0.0)"
            },
            {
               "name": "APP_KIND",
               "value": "workflowapp"
            }, 
            {
               "name": "DOCKER_REGISTRY_SERVER_URL",
               "value": "<docker-registry-server-URL>"
            },
            { 
               "name": "DOCKER_REGISTRY_SERVER_USERNAME",
               "value": "<docker-registry-server-username>"
            },
            {
               "name": "DOCKER_REGISTRY_SERVER_PASSWORD",
               "value": "<docker-registry-server-password>"
            }
         ],
         "use32BitWorkerProcess": "[parameters('use32BitWorkerProcess')]",
         "linuxFxVersion": "DOCKER|<container-name>"
      }
   }
}

Poznámka:

Dříve byla nodevýchozí hodnota nastavení FUNCTIONS_WORKER_RUNTIME . dotnet Teď je výchozí hodnota pro všechny nové a existující nasazené aplikace logiky Standard, a to i pro aplikace, které měly jinou hodnotu. Tato změna by neměla mít vliv na modul runtime pracovního postupu a všechno by mělo fungovat stejným způsobem jako předtím. Další informace najdete v nastavení FUNCTIONS_WORKER_RUNTIME aplikace.

Zahrnutí plánu služby App Service s nasazením

Bez ohledu na to, jestli máte standardní nebo kontejnerové nasazení, musíte do nasazení zahrnout plán služby App Service. I když se tento plán stává méně relevantním pro prostředí Kubernetes, nasazení standardu i kontejneru stále vyžadují plán služby App Service.

Zatímco jiné možnosti vytváření obvykle zpracovávají zřizování prostředků Azure pro tento plán, pokud vaše nasazení používají šablony infrastruktury jako kódu, musíte pro plán explicitně vytvořit prostředek Azure. Prostředek plánu hostování se nezmění, pouze sku informace.

Do šablony Azure Resource Manageru (šablona ARM) zadejte následující hodnoty:

Položka Vlastnost JSON Popis
Location location Nezapomeňte použít stejné umístění prostředků (oblast Azure) jako vlastní umístění a prostředí Kubernetes. Umístění prostředků pro vaši aplikaci logiky, vlastní umístění a prostředí Kubernetes musí být stejná.

Poznámka: Tato hodnota není stejná jako název vlastního umístění.

Kind kind Druh nasazeného plánu služby App Service, který musí být kubernetes,linux
Rozšířené umístění extendedLocation Tento objekt vyžaduje "name" vlastní umístění pro vaše prostředí Kubernetes a musí být "type" nastaveno na "CustomLocation"hodnotu .
Název plánu hostování name Název plánu služby App Service
Úroveň plánu sku: tier Úroveň plánu služby App Service, která je K1
Název plánu sku: name Název plánu služby App Service, který je Kubernetes

Šablona ARM

Následující příklad popisuje ukázkovou definici prostředku plánu služby App Service, kterou můžete použít s nasazením aplikace. Další informace najdete v dokumentaci k formátu šablony Microsoft.Web/serverfarms (šablona ARM).

{
   "type": "Microsoft.Web/serverfarms",
   "apiVersion": "2020-12-01",
   "location": "<location>",
   "name": "<hosting-plan-name>",
   "kind": "kubernetes,linux",
   "extendedLocation": {
      "name": "[parameters('customLocationId')]",
      "type": "CustomLocation"
   },
   "sku": {
      "tier": "Kubernetes",
      "name": "K1", 
      "capacity": 1
   },
   "properties": {
      "kubeEnvironmentProfile": {
         "id": "[parameters('kubeEnvironmentId')]"
      }
   }
}

Změna výchozího chování škálování

Logic Apps s podporou Azure Arc automaticky spravuje škálování aplikací logiky na základě počtu úloh ve frontě back-endového úložiště. Můžete ale změnit výchozí chování škálování.

V aplikaci logiky definice pracovního postupu určuje posloupnost akcí, které se mají spustit. Při každé aktivaci spuštění pracovního postupu vytvoří modul runtime Azure Logic Apps úlohu pro každý typ akce v definici pracovního postupu. Modul runtime pak tyto úlohy uspořádá do sekvenceru úloh. Tento sequencer orchestruje spouštění úloh pro definici pracovního postupu, ale základní orchestrační modul úloh Azure Logic Apps spouští každou úlohu.

V případě stavových pracovních postupů používá orchestrační modul úloh zprávy fronty úložiště k naplánování úloh v sekvenčních úlohách. Dispečeri úloh (nebo instance pracovních procesů) na pozadí monitorují tyto fronty úloh. Modul orchestrace používá k monitorování front úloh výchozí minimální a maximální počet instancí pracovních procesů. V případě bezstavových pracovních postupů modul orchestrace zcela uchovává stavy akcí v paměti.

Pokud chcete změnit výchozí chování škálování, zadejte různá minimální a maximální počet instancí pracovních procesů, které monitorují fronty úloh.

Požadavky na změnu škálování

V clusteru Kubernetes s podporou Služby Azure Arc musí mít dříve vytvořené rozšíření sady prostředků služby App Service nastavenou keda.enabled truevlastnost . Další informace najdete v požadavcích nejvyšší úrovně.

Změna prahové hodnoty škálování

V Logic Apps s podporou Azure Arc aktivuje délka fronty úloh událost škálování a nastaví prahovou hodnotu pro četnost škálování vaší aplikace logiky. Můžete změnit délku fronty, která má výchozí hodnotu nastavenou na 20 úlohy. Pokud chcete škálovat méně často, zvyšte délku fronty. Pokud chcete škálovat častěji, snižte délku fronty. Tento proces může vyžadovat určitou zkušební verzi a chybu.

Pokud chcete změnit délku fronty, nastavte Runtime.ScaleMonitor.KEDA.TargetQueueLength v souboru kořenové host.json projektu aplikace logiky vlastnost, například:

"extensions": {
   "workflow": {
      "settings": {
         "Runtime.ScaleMonitor.KEDA.TargetQueueLength": "10"
      }
   }
}

Změna maximální propustnosti

U existujícího prostředku aplikace logiky můžete změnit maximální počet instancí pracovního procesu, který má nastavenou výchozí hodnotu 2. Tato hodnota určuje horní limit počtu instancí pracovních procesů, které mohou monitorovat fronty úloh.

Pokud chcete toto maximum změnit, použijte Azure CLI (pouze vytvoření aplikace logiky) a Azure Portal.

Azure CLI

Pokud chcete vytvořit novou aplikaci logiky, spusťte příkaz az logicapp creates následujícími parametry:

az logicapp create --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription 
   --storage-account MyStorageAccount --custom-location MyCustomLocation 
   [--plan MyHostingPlan] [--min-worker-count 1] [--max-worker-count 4]

Ke konfiguraci maximálního počtu instancí použijte --settings parametr:

az logicapp config appsettings set --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription
   --settings "K8SE_APP_MAX_INSTANCE_COUNT=10"

portál Azure

V nastavení aplikace logiky založené na jednom tenantovi přidejte nebo upravte K8SE_APP_MAX_INSTANCE_COUNT hodnotu nastavení pomocí následujícího postupu:

  1. Na webu Azure Portal vyhledejte a otevřete aplikaci logiky založenou na jednom tenantovi.

  2. V nabídce aplikace logiky v části Nastavení vyberte Konfigurace.

  3. V podokně Konfigurace v části Nastavení aplikace buď přidejte nové nastavení aplikace, nebo upravte existující hodnotu, pokud už byla přidána.

    1. Vyberte Nové nastavení aplikace a přidejte K8SE_APP_MAX_INSTANCE_COUNT nastavení s maximální hodnotou, kterou chcete.

    2. Upravte existující hodnotu pro K8SE_APP_MAX_INSTANCE_COUNT nastavení.

  4. Až skončíte, uložte změny.

Změna minimální propustnosti

U existujícího prostředku aplikace logiky můžete změnit minimální počet instancí pracovního procesu, který má výchozí hodnotu nastavenou na 1. Tato hodnota řídí dolní limit počtu instancí pracovních procesů, které mohou monitorovat fronty úloh. Pro zajištění vysoké dostupnosti nebo výkonu tuto hodnotu zvyšte.

Pokud chcete toto minimum změnit, použijte Azure CLI nebo Azure Portal.

Azure CLI

V případě existujícího prostředku aplikace logiky spusťte příkaz az logicapp scales následujícími parametry:

az logicapp scale --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription 
   --instance-count 5 

Pokud chcete vytvořit novou aplikaci logiky, spusťte příkaz az logicapp creates následujícími parametry:

az logicapp create --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription 
   --storage-account MyStorageAccount --custom-location MyCustomLocation 
   [--plan MyHostingPlan] [--min-worker-count 2] [--max-worker-count 4]

portál Azure

V nastavení aplikace logiky založené na jednom tenantovi změňte hodnotu vlastnosti horizontálního navýšení kapacity pomocí následujícího postupu:

  1. Na webu Azure Portal vyhledejte a otevřete aplikaci logiky založenou na jednom tenantovi.

  2. V nabídce aplikace logiky v části Nastavení vyberte Horizontální navýšení kapacity.

  3. V podokně Horizontální navýšení kapacity přetáhněte posuvník minimálních instancí na požadovanou hodnotu.

  4. Až skončíte, uložte změny.

Poradce při potížích

Pokud chcete získat další informace o nasazených aplikacích logiky, vyzkoušejte následující možnosti:

Nastavení a konfigurace aplikace pro Access

Pokud chcete získat přístup k nastavení aplikace, spusťte příkaz az logicapp config appsettingss následujícími parametry:

az logicapp config appsettings list --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription

Pokud chcete nakonfigurovat nastavení aplikace, spusťte příkaz az logicapp config appsettings sets následujícími parametry. Nezapomeňte použít --settings parametr s názvem a hodnotou vašeho nastavení.

az logicapp config appsettings set --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription 
   --settings "MySetting=1"

Pokud chcete odstranit nastavení aplikace, spusťte příkaz az logicapp config appsettings deletes následujícími parametry. Nezapomeňte použít --setting-names parametr s názvem nastavení, které chcete odstranit.

az logicapp config appsettings delete --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription
   --setting-names MySetting

Zobrazení vlastností aplikace logiky

Pokud chcete zobrazit informace a vlastnosti aplikace, spusťte příkaz s az logicapp shownásledujícími parametry:

az logicapp show --name MyLogicAppName 
   --resource-group MyResourceGroupName --subscription MySubscription

Monitorování aktivity pracovního postupu

Pokud chcete zobrazit aktivitu pracovního postupu v aplikaci logiky, postupujte takto:

  1. Na webu Azure Portal vyhledejte a otevřete nasazenou aplikaci logiky.

  2. V nabídce aplikace logiky vyberte Pracovní postupy a pak vyberte svůj pracovní postup.

  3. V nabídce pracovního postupu vyberte Sledovat.

Shromáždění protokolů

Pokud chcete získat protokolovaná data o aplikaci logiky, povolte application Insights v aplikaci logiky, pokud ještě není povolená.

Další kroky