Поделиться через


Создайте параметры между средами для входных данных рабочего процесса в Azure Logic Apps

Область применения: Azure Logic Apps (Потребление + Стандартный)

Если необходимо абстрагировать значения, которые могут изменяться в рабочих процессах в средах разработки, тестирования и рабочей среды, можно определить параметры рабочего процесса. При использовании этих параметров, а не переменных, относящихся к среде, можно сосредоточиться на разработке бизнес-логики рабочего процесса, а затем вставить переменные, относящиеся к среде позже.

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

Дополнительные сведения о мультитенантных и однотенантных Azure Logic Apps см. в статье " Один клиент и мультитенант" в Azure Logic Apps.

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

Параметры для рабочих процессов приложений логики "Потребление" и "Стандартный"

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

В рабочих процессах приложения логики многотенантного потребления вы создаете и используете параметры в конструкторе. Затем вы определяете и задаете переменные среды в файлах параметров шаблона Azure Resource Manager (шаблон ARM) и параметров шаблона. В этом сценарии необходимо определить и задать параметры при развертывании. Это требование означает, что даже если необходимо изменить только одну переменную, необходимо повторно развернуть шаблон ARM приложения логики.

В рабочих процессах приложения логики "Стандартный" с одним арендатором можно работать с переменными среды во время выполнения и развертывания, используя параметры и настройки приложения. Настройки приложения содержат глобальные параметры конфигурации для всех рабочих процессов в одном ресурсе приложения логики. Дополнительные сведения см. в разделе "Изменение параметров узла и приложения" для приложений логики на основе одного клиента.

Внимание

При использовании конфиденциальной информации, например строк подключения, включающих имена пользователей и пароли, обязательно используйте самый безопасный поток проверки подлинности. Например, в рабочих процессах приложения логики "Стандартный" безопасные типы данных, например securestring и secureobjectне поддерживаются. Корпорация Майкрософт рекомендует пройти проверку подлинности доступа к ресурсам Azure с помощью управляемого удостоверения , если это возможно, и назначить роль с минимальными привилегиями.

Если эта возможность недоступна, обязательно защитите строки подключения с помощью других средств, таких как Azure Key Vault, которые можно использовать с параметрами приложения. Потом можно напрямую ссылаться на такие защищенные строки, как строки подключения и ключи. Аналогично шаблонам ARM, где переменные среды определяют в процессе развертывания, настройки приложения можно задать в рамках определения рабочего процесса приложения логики. Затем можно записывать динамически созданные значения инфраструктуры, такие как конечные точки подключения и строки хранения. Дополнительные сведения см. в разделе "Типы приложений" для платформа удостоверений Майкрософт.

Параметры приложения имеют ограничения размера. Вы также не можете ссылаться на них из определенных областей в Azure Logic Apps. Параметры обеспечивают более широкий спектр вариантов использования, чем настройки приложения, например предлагается поддержка больших размеров значений и сложных объектов.

Например, если вы используете Visual Studio Code в качестве средства разработки для локального запуска рабочих процессов, можно определить параметры с помощью файла parameters.json . Затем вы можете использовать ссылки на любые параметры в этом файле параметров из любого рабочего процесса в файле workflow.json своего проекта или из любого объекта подключения в файле connections.json своего проекта. В следующем списке описаны распространенные варианты использования:

  • Имейте файл параметров тестирования, содержащий все значения, используемые во время тестирования. При развертывании замените файл параметров теста рабочим файлом параметров.

  • Параметризируйте различные части файла connections.json. Затем вы можете проверить файл connections.json в системе управления версиями и управлять любыми подключениями через файл parameters.json.

  • Параметризуйте сложные объекты, такие как объект JSON authentication. Например, вы можете заменить значение объекта authentication строкой, содержащей одно выражение параметров, например @parameters('api-auth').

  • Проверяйте и редактируйте параметры приложения в файле local.settings.json своего проекта. Затем ссылайтесь на эти настройки приложения в ваших параметрах.

Примечание.

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

Определение, использование и изменение параметров

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

  1. Откройте ресурс приложения логики на портале Azure.

    • Для стандартных приложений логики в меню боковой панели ресурсов в разделе Рабочие процессы выберите Рабочие процессы.

      На странице "Рабочие процессы" выберите пустой рабочий процесс, чтобы открыть конструктор.

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

  2. На панели инструментов конструктора выберите Параметры.

    Снимок экрана: портал Azure с открытым конструктором рабочих процессов и выделенными параметрами на панели инструментов конструктора.

  3. На панели Параметры выберите Создать параметр.

  4. Укажите следующую информацию о создаваемом параметре:

    Свойство Обязательное поле Описание
    Полное имя Да Имя параметра, который необходимо создать.
    Тип Да Тип данных для параметра, например Array (Массив), Bool (Логическое значение), Float (Число с плавающей точкой), Int (Целое число), Object (Объект) или String (Строка).

    Примечание. В рабочих процессах приложений логики "Стандартный" безопасные типы данных, такие как securestring и secureobject, не поддерживаются.
    Значение (стандартный) Да Значение параметра.

    В рабочих процессах приложения логики уровня "Стандартный" укажите значение параметра. Логика рабочего процесса, сведения о подключении и значения параметров не существуют в одном расположении. Конструктор должен иметь возможность определять значения параметров перед загрузкой рабочего процесса.
    Значение по умолчанию (потребление) Да Значение по умолчанию для параметра. Необходимо указать значение параметра по умолчанию. Логика рабочего процесса, сведения о подключении и значения параметров не существуют в одном расположении. Конструктор должен иметь возможность определять значения параметров перед загрузкой рабочего процесса.

    Важно! Для типов данных Безопасного объекта и Безопасной строки не следует задавать значение по умолчанию, поскольку оно хранится в виде обычного текста.
    Фактическое значение (потребление) нет Фактическое значение параметра.

    В следующем примере показано определение для строкового параметра.

    Снимок экрана: портал Azure с конструктором рабочих процессов и областью параметров с примером определения параметров.

  5. По завершении закройте область параметров . Сохраните рабочий процесс, чтобы сохранить новое определение параметра.

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

  1. В конструкторе откройте нужный рабочий процесс и выберите триггер или действие.

  2. На панели информации, на вкладке "Параметры", в свойстве, где нужно использовать параметр, выберите внутри поля редактирования этого свойства. Щелкните значок молнии, чтобы открыть список динамического содержимого.

  3. В этом списке в разделе "Параметры" выберите созданный ранее параметр.

    Снимок экрана: созданный параметр в списке динамического содержимого.

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

  1. Откройте рабочий процесс в конструкторе рабочих процессов. Для логических приложений уровня использования выберите Средства разработки>Конструктор логических приложений. Для стандартных приложений логики выберите рабочие процессы>Рабочий процесс, затем выберите рабочий процесс, чтобы открыть конструктор.

  2. На панели инструментов конструктора выберите Параметры.

    Откроется область параметров и отображаются все параметры, определенные в этом приложении логики.

  • Только стандартные рабочие процессы: чтобы просмотреть или изменить в массовом формате JSON, в меню боковой панели ресурсов выберите параметры. На панели "Параметры" выберите "Изменить" в ФОРМАТЕ JSON.

    Откроется представление JSON Параметры, в котором будут показаны все параметры, определенные в рабочих процессах в этом приложении логики.

Visual Studio Code

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

  1. В файле JSON корневого уровня проекта с именем parameters.json определите все параметры и их значения. Этот файл содержит проект, включающих пары ключ-значение. Каждый ключ — это имя каждого параметра. Каждое значение — это структура для параметра. В каждую структуру должны включаться type и объявление value.

    Внимание

    Файл parameters.json должен определять и включать все параметры и их значения, которые вы ссылаетесь или используете в другом месте проекта. Это требование включает определения рабочих процессов и подключения.

    В следующем примере показан файл основных параметров:

    {
        "responseString": { 
            "type": "string", 
            "value": "hello" 
        },
        "functionAuth": { 
            "type": "object", 
            "value": { 
                "type": "QueryString", 
                "name": "Code", 
                "value": "@appsetting('<AzureFunctionsOperation-FunctionAppKey>')" 
            }
        }
     }
    

    Примечание.

    В файле parameters.json @appsetting является единственным допустимым типом выражения.

  2. Для ссылки на параметры в триггере или входных данных действия используйте выражение @parameters('<parameter-name>').

Параметризация файла соединений

Чтобы параметризовать файл connections.json, замените значения литералов, например ConnectionRuntimeUrl, на одно выражение parameters(), к примеру @parameters('api-runtimeUrl'). Единственными допустимыми типами выражений в файле connections.json являются @parameters и @appsetting.

Внимание

Если параметризовать файл connections.json при разработке, возможности конструктора будут ограничены как на локальном уровне, так и на портале Microsoft Azure. Если вам нужно использовать конструктор для разработки, используйте вместо него непараметризованный файлconnections.json . Затем в конвейерах развертывания выполните замену на параметризованный файл. Среда выполнения по-прежнему работает с параметризацией. Усовершенствования конструктора находятся в разработке.

В следующем примере показан параметризованный файл connections.json, в котором используются как настройки приложения, так и параметры. Этот пример файла использует параметр для объекта сложной проверки подлинности blob_auth и параметров приложения для других значений.

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

{
   "serviceProviderConnections": {
      "serviceBus": {
         "parameterValues": {
            "connectionString": "@appsetting('serviceBus_connectionString')"
        },
        "serviceProvider": {
           "id": "/serviceProviders/serviceBus"
        },
        "displayName": "servicebus"
     }
   },
   "managedApiConnections": {
      "azureblob": {
         "api": {
            "id": "/subscriptions/@{appsetting('WORKFLOWS_SUBSCRIPTION_ID')}/providers/Microsoft.Web/locations/@{appsetting('WORKFLOWS_LOCATION_NAME')}/managedApis/azureblob"
         },
         "connection": {
            "id": "/subscriptions/@{appsetting('WORKFLOWS_SUBSCRIPTION_ID')}/resourceGroups/@{appsetting('WORKFLOWS_RESOURCE_GROUP_NAME')}/providers/Microsoft.Web/connections/azureblob"
         },
         "connectionRuntimeUrl": "@appsetting('BLOB_CONNECTION_RUNTIMEURL')",
         "authentication": "@parameters('blob_auth')"
      }
   }
}

Примечание.

Если у вас есть выражение, встроенное в обычный текст, обязательно пользуйтесь интерполированным форматом для этого выражения, заключив это выражение в фигурные скобки ({}). Этот формат помогает избежать проблем с синтаксическим анализом.

Например, если у вас есть "<text>/@<function-name>('<parameter-name>')/<text>", используйте следующую версию: "<text>/@{<function-name>('<parameter-name>')}/<text>".

Дополнительные сведения см. в разделе "Рекомендации по использованию функций".

Управление файлами параметров

Как правило, необходимо управлять несколькими версиями файлов параметров. Можно использовать целевые значения для различных сред развертывания, таких как разработка, тестирование и рабочая среда. Управление этими файлами параметров часто выполняется аналогично управлению файлами параметров шаблона ARM. При развертывании в определенной среде повышается уровень соответствующего файла параметров, как правило, через конвейер для DevOps.

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

az functionapp deploy --resource-group MyResourceGroup --name MyLogicApp --src-path C:\parameters.json --type static --target-path parameters.json

Если у вас есть проект приложения логики на основе NuGet, необходимо обновить файл проекта (<logic-app-app-name.csproj>), чтобы включить файл параметров в выходные данные сборки, например:

<ItemGroup>
  <None Update="parameters.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>

Примечание.

В настоящее время возможность динамической замены файлов параметров недоступна на портале Azure или конструкторе рабочих процессов.

Дополнительные сведения о настройке приложений логики для развертываний DevOps см. в следующих статьях:

Управление параметрами приложения

В стандартных приложениях логики параметры приложения содержат глобальные параметры конфигурации для всех рабочих процессов в одном приложении логики. При локальном запуске рабочих процессов в Visual Studio Code эти параметры приложения доступны вам как локальные переменные среды в файле local.settings.json. Затем можно сослаться на эти настройки приложения в параметрах.

В следующих разделах описывается, как добавить, обновить или удалить настройки приложения для Visual Studio Code, портала Azure, Azure CLI и шаблона ARM (Bicep).

Просмотр параметров приложения с помощью портала Azure

Чтобы просмотреть настройки ресурса для приложения логики на портале Microsoft Azure, выполните шаги, описанные ниже.

  1. Откройте ресурс приложения логики на портале Azure.

  2. В меню боковой панели ресурсов в разделе "Параметры" выберите переменные среды.

  3. На странице переменных среды на вкладке «Параметры приложения» просмотрите параметры для вашего логического приложения.

  4. Чтобы просмотреть все значения, выберите Показать значения. Чтобы просмотреть одно значение, выберите это значение.

Чтобы добавить новую настройку, выполните действия, описанные ниже.

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

  2. В поле Имя введите ключ или имя новой настройки.

  3. В поле Значение введите значение для новой настройки.

  4. При необходимости выберите параметр слота развертывания.

  5. Когда вы будете готовы создать новую пару ключ-значение, нажмите Применить.

Просмотр параметров приложения с помощью Azure CLI

Чтобы проверить текущие настройки приложения с помощью Azure CLI, выполните команду az logicapp config appsettings list. Убедитесь, что команда содержит параметры --name -n и --resource-group -g, например:

az logicapp config appsettings list --name MyLogicApp --resource-group MyResourceGroup

Чтобы добавить или обновить настройку приложения с помощью Azure CLI, выполните команду az logicapp config appsettings set. Убедитесь, что команда содержит параметры --name n и --resource-group -g. Например, следующая команда создает настройку с ключом под именем CUSTOM_LOGIC_APP_SETTING со значением 12345.

az logicapp config appsettings set --name MyLogicApp --resource-group MyResourceGroup --settings CUSTOM_LOGIC_APP_SETTING=12345 

Просмотр и определение параметров приложения в файле Resource Manager или Bicep

Чтобы просмотреть и определить параметры приложения в шаблоне ARM или файле Bicep, найдите определение ресурса приложения логики и обновите appSettings объект JSON. Полное определение ресурса см. в справочнике по шаблонам ARM.

В этом примере показаны параметры файлов для шаблонов ARM или Bicep-файлов:

"appSettings": [
    {
        "name": "string",
        "value": "string"
    },
    {
        "name": "string",
        "value": "string"
    },
    <...>
],