Включение режима отслеживания состояния для встроенных соединителей без отслеживания состояния в Azure Logic Apps

Область применения: Azure Logic Apps (стандартная версия)

В рабочих процессах приложения логики уровня "Стандартный" по умолчанию используются следующие встроенные соединители на основе поставщика услуг:

  • Служебная шина Azure
  • SAP
  • IBM MQ

Чтобы запустить эти операции соединителя в режиме с отслеживанием состояния, необходимо включить эту возможность. В этом руководстве показано, как включить режим отслеживания состояния для этих соединителей.

Необходимые компоненты

Включение режима отслеживания состояния в портал Azure

  1. В портал Azure откройте ресурс приложения логики "Стандартный", где требуется включить режим отслеживания состояния для этих операций соединителя.

  2. Включите интеграцию виртуальной сети для приложения логики и добавьте приложение логики в ранее созданную подсеть:

    1. В ресурсе меню приложения логики в разделе Параметры выберите "Сеть".

    2. В разделе "Исходящий трафик" выберите "Добавить виртуальную сеть".>

    3. На открывающейся панели "Добавление интеграции виртуальной сети" выберите подписку Azure и виртуальную сеть.

    4. В разделе "Подсеть" выберите "Выбрать существующую". В списке подсетей выберите подсеть , в которой нужно добавить приложение логики.

    5. По завершении нажмите кнопку OK.

      На странице "Сеть" параметр интеграции виртуальной сети теперь отображается включено, например:

      Screenshot shows Azure portal, Standard logic app resource, Networking page, VNet integration set to On.

    Общие сведения о включении интеграции виртуальной сети с приложением см. в статье "Включение интеграции виртуальной сети" в службе приложение Azure.

  3. Затем обновите базовую конфигурацию веб-сайта приложения логики (<logic-app-name.azurewebsites.net>) с помощью любого из следующих средств:

Обновление конфигурации веб-сайта для приложения логики

После включения интеграции виртуальной сети для приложения логики необходимо обновить базовую конфигурацию веб-сайта приложения логики (<logic-app-name.azurewebsites.net>) с помощью одного из следующих методов:

  • портал Azure (маркер носителя не требуется)
  • API управления ресурсами Azure (обязательный маркер носителя)
  • Azure PowerShell (маркер носителя не требуется)

Портал Azure

Чтобы настроить частные порты виртуальной сети с помощью портал Azure, выполните следующие действия.

  1. В портал Azure найдите и откройте ресурс приложения логики "Стандартный".
  2. В меню приложения логики в разделе Параметры выберите Настройка.
  3. На странице "Конфигурация" выберите общие параметры.
  4. В разделе "Параметры платформы" в поле "Частные порты виртуальной сети" введите порты, которые требуется использовать.

API управления ресурсами Azure

Чтобы выполнить эту задачу с помощью API управления ресурсами Azure . Обновление по идентификатору, ознакомьтесь со следующими требованиями, синтаксисом и значениями параметров.

Requirements

Требуется авторизация OAuth и маркер носителя. Чтобы получить маркер носителя, выполните следующие действия.

  1. Во время входа в портал Azure откройте средства разработчика веб-браузера (F12).

  2. Получите маркер, отправив любой запрос на управление, например, сохранив рабочий процесс в приложении логики "Стандартный".

Синтаксис

Обновления ресурс с помощью указанного идентификатора ресурса:

PATCH https://management.azure.com/{resourceId}?api-version=2021-04-01

Значения параметров

Элемент значение Описание
Метод HTTP-запроса PATCH
<resourceId> subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{siteName}/config/web
<yourSubscriptionId> Идентификатор подписки Azure
<yourResourceGroup> Группа ресурсов, содержащая ресурс приложения логики
<имя веб-сайта> Имя ресурса приложения логики, которое является mystandardlogicapp в этом примере
Текст HTTP-запроса {"properties": {"vnetPrivatePortsCount": "2"}}

Пример

https://management.azure.com/subscriptions/XXxXxxXX-xXXx-XxxX-xXXX-XXXXxXxXxxXX/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01

Azure PowerShell

Чтобы выполнить эту задачу с помощью Azure PowerShell, ознакомьтесь со следующими требованиями, синтаксисом и значениями. Этот метод не требует получения маркера носителя вручную.

Синтаксис

Set-AzContext -Subscription {yourSubscriptionID}
$webConfig = Get-AzResource -ResourceId {resourceId}
$webConfig.Properties.vnetPrivatePortsCount = 2
$webConfig | Set-AzResource -ResourceId {resourceId}

Дополнительные сведения см. в следующей документации:

Значения параметров

Элемент Значение
<yourSubscriptionID> Идентификатор подписки Azure
<resourceId> subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{siteName}/config/web
<yourResourceGroup> Группа ресурсов, содержащая ресурс приложения логики
<имя веб-сайта> Имя ресурса приложения логики, которое является mystandardlogicapp в этом примере

Пример

https://management.azure.com/subscriptions/XXxXxxXX-xXXx-XxxX-xXXX-XXXXxXxXxxXX/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01

Устранение неполадок

Ошибка: число зарезервированных экземпляров недопустимо

Если вы получите сообщение об ошибке с недопустимым числом зарезервированных экземпляров, используйте следующее решение:

$webConfig.Properties.preWarmedInstanceCount = $webConfig.Properties.reservedInstanceCount
$webConfig.Properties.reservedInstanceCount = $null
$webConfig | Set-AzResource -ResourceId {resourceId}

Пример ошибки:

Set-AzResource :
{
   "Code":"BadRequest",
   "Message":"siteConfig.ReservedInstanceCount is invalid.  Please use the new property siteConfig.PreWarmedInstanceCount.",
   "Target": null,
   "Details":
   [
      {
         "Message":"siteConfig.ReservedInstanceCount is invalid. Please use the new property siteConfig.PreWarmedInstanceCount."
      },
      {
         "Code":"BadRequest"
      },
      {
         "ErrorEntity":
         {
            "ExtendedCode":"51021",
            "MessageTemplate":"{0} is invalid. {1}",
            "Parameters":
            [
               "siteConfig.ReservedInstanceCount", "Please use the new property siteConfig.PreWarmedInstanceCount."
            ],
            "Code":"BadRequest",
            "Message":"siteConfig.ReservedInstanceCount is invalid. Please use the new property siteConfig.PreWarmedInstanceCount."
         }
      }
   ],
   "Innererror": null
}

Предотвращение потери контекста во время событий масштабирования ресурсов

События масштабирования ресурсов могут привести к потере контекста встроенных соединителей с включенным режимом отслеживания состояния. Чтобы предотвратить эту потенциальную потерю до возникновения таких событий, исправьте количество экземпляров, доступных для ресурса приложения логики. Таким образом, события масштабирования не могут произойти, что приведет к потере этого потенциального контекста.

  1. В меню ресурсов приложения логики в разделе Параметры выберите "Горизонтальное масштабирование".

  2. В разделе "Горизонтальное масштабирование приложения" задайте для ограничения горизонтального масштабирования значение "Да", в котором отображается максимальное ограничение горизонтального масштабирования.

  3. На странице горизонтального масштабирования в разделе "Горизонтальное масштабирование приложения" задайте число для экземпляров Always Ready таким же числом, что и максимальное ограничение горизонтального увеличения масштаба и максимальное ускорение, которое отображается в разделе "Горизонтальное масштабирование плана", например:

    Screenshot shows Azure portal, Standard logic app resource, Scale out page, and Always Ready Instances number set to match Maximum Scale Out Limit and Maximum Burst.

  4. По завершении на панели инструментов горизонтального масштабирования нажмите кнопку "Сохранить".

Следующие шаги