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


Справочное руководство по функциям выражений рабочих процессов в Azure Logic Apps и Power Automate

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

Для определений рабочих процессов в Azure Logic Apps в Power Automate некоторые выражения получают значения из действий среды выполнения, которые могут не существовать при запуске рабочего процесса. Чтобы обрабатывать эти значения или ссылаться на них в выражениях, вы можете использовать функции в выражениях, предоставляемые языком определений рабочего процесса.

Примечание.

Эта справочная страница применима как к Azure Logic Apps, так и к Power Automate, но присутствует в документации по Azure Logic Apps. Хотя эта страница относится только к рабочим процессам логического приложения, эти функции работают как с потоками, так и с рабочими процессами приложений логики. Дополнительные сведения о функциях и выражениях в Power Automate см. в разделе Использование выражений в условиях.

Например, для вычисления значений можно использовать математические функции, такие как функция add(), которая возвращает сумму из целых чисел или чисел с плавающей запятой. Вот еще примеры задач, которые вы можете выполнять с помощью функций.

Задача Синтаксис функции Результат
Возвращает строку в нижнем регистре. toLower('<текст>')

Например, toLower('Hello').
привет
Возвращение глобального уникального идентификатора (GUID). guid() "c2ecc88d-88c8-4096-912c-d6f2e2b138ce"

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

Функции в выражениях

Чтобы показать, как использовать функцию в выражении, в этом примере показано, как можно получить значение из параметра customerName и присвоить его свойству accountName с помощью функции parameters() в выражении:

"accountName": "@parameters('customerName')"

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

Задача Синтаксис функции в выражении
Выполнить операцию с элементом, передав этот элемент функции. "@<имя_функции>(<элемент>)"
1. Получите значение parameterName с помощью вложенной функции parameters().
2. Выполните работу с результатом, передав это значение в functionName.
"@<имя_функции>(параметры('<имя_параметра>'))"
1. Получите результат из вложенной внутренней функции functionName.
2. Передайте результат во внешнюю функцию functionName2.
"@<имя_функции2>(<имя_функции>(<элемент>))"
1. Получение результата из functionName.
2. Учитывая, что результат является объектом со свойством PropertyName, получите значение этого свойства.
"@<имя_функции>(<элемент>).<имя_свойства>"

Например, функция concat() может принимать два или более строковых значения в качестве параметров. Эта функция объединяет эти строки в одну. Вы можете передать строковые литералы, например "Sophia" и "Owen", чтобы получить комбинированную строку "SophiaOwen":

"customerName": "@concat('Sophia', 'Owen')"

Или можно получить строковые значения параметров. В этом примере используется функция parameters() в каждом параметре concat() и параметры firstName и lastName. Затем передайте полученные строки в функцию concat(), чтобы получить комбинированную строку, например "SophiaOwen":

"customerName": "@concat(parameters('firstName'), parameters('lastName'))"

В любом случае в обоих примерах присвойте результат свойству customerName.

Рекомендации по использованию функций

  • Конструктор не вычисляет выражения среды выполнения, которые используются в качестве параметров функции во время разработки. Конструктор требует, чтобы все выражения можно было полностью оценивать во время разработки.

  • Параметры функций оцениваются слева направо.

  • В синтаксисе для определения параметров знак вопроса (?), который расположен после параметра, означает, что параметр является необязательным. Примеры см. в разделе о getFutureTime().

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

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

    Правильно: "<text>/@{<function-name>('<parameter-name>')}/<text>"

    Неправильно: "<text>/@<function-name>('<parameter-name>')/<text>"

    ОК:"@<function-name>('<parameter-name>')"

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

Строковые функции

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

Строковая функция Задача
ломоть Разделить строку или коллекцию на блоки равной длины.
concat Объединяет две или более строк и возвращает объединенную строку.
заканчивается на Проверяет, заканчивается ли строка определенной подстрокой.
formatNumber Возврат числа в виде строки на основе указанного формата
GUID (Globally Unique Identifier) Создает глобально уникальный идентификатор (GUID) в виде строки.
indexOf Возвращает начальную позицию подстроки.
isFloat Возвращает логическое значение, указывающее, является ли строка числом с плавающей запятой.
isInt Возвращает булево значение, которое указывает, является ли строка целым числом.
lastIndexOf Возвращает начальную позицию последнего вхождения подстроки.
длина Возвращает число элементов в строке или массиве.
nthIndexOf Возвращает начальную позицию или значение индекса, где n-й экземпляр подстроки отображается в строке.
заменить Заменяет подстроку указанной строкой и возвращает обновленную строку.
ломтик Возвращает подстроку, указывая начальную и конечную позицию или значение. См. также substring.
разделить Возвращает массив, содержащий подстроки, разделенные запятыми, из большей строки, основываясь на указанном символе разделителя в исходной строке.
начинается с Проверяет, начинается ли строка с определенной подстроки.
подстрока Возвращает символы из строки, начиная с указанной позиции. См. также slice.
toLower Возвращает строку в нижнем регистре.
toUpper Возвращает строку символов в верхнем регистре.
подстригать Удаляет все начальные и конечные пробелы и возвращает обновленную строку.

Функции сбора

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

Функция для коллекций Задача
ломоть Разделить строку или коллекцию на блоки равной длины.
содержит Проверяет наличие определенного элемента в коллекции.
пустой Проверяет, является ли коллекция пустой.
первый Возвращает первый элемент из коллекции.
перекрёсток Возвращает коллекцию, которая содержит только общие элементы в указанных коллекциях.
пункт Если эта функция появляется внутри повторяющегося действия в массиве, она возвращает текущий элемент массива во время текущей итерации действия.
присоединиться Возвращает строку, содержащую все элементы из массива, в которой каждый символ отделен разделителем.
последний Возвращает последний элемент из коллекции.
длина Возвращает число элементов в строке или массиве.
обратный Измените порядок элементов в массиве.
скип Удаляет элементы из начала коллекции и возвращает все другие элементы.
сортировать Сортировка элементов в коллекции.
взять Возвращает элементы, расположенные в начале коллекции.
союз Возвращает коллекцию, которая содержит все элементы из указанных коллекций.

Функции логического сравнения

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

Примечание.

Если вы используете логические функции или условия для сравнения значений, то значения NULL преобразуются в пустые строки (""). При сравнении с пустой строкой, а не значением NULL, условия ведут себя по-другому. Дополнительные сведения см. в разделе о функции string().

Функция логического сравнения Задача
и Проверяет, истинны ли все выражения.
равно Проверяет, эквивалентны ли оба значения.
больше Проверяет, является ли первое значение большим, чем второе.
больше или равно Проверяет, является ли первое значение большим, чем второе, или равным ему.
если Проверьте, какое значение имеет выражение: true или false. На основе результата вернуть указанное значение.
isFloat Возвращает логическое значение, указывающее, является ли строка числом с плавающей запятой.
isInt Возвращает булево значение, которое указывает, является ли строка целым числом.
меньше Проверяет, является ли первое значение меньшим, чем второе.
меньше или равно Проверяет, является ли первое значение меньшим, чем второе, или равным ему.
не Проверяет, имеет ли выражение значение false.
или Проверяет, является ли хотя бы одно выражение истинным.

Функции преобразования

Чтобы изменить тип или формат значения, можно использовать приведенные ниже функции преобразования. Например, вы можете изменить значение с логического на целочисленное. Чтобы узнать, как приложения логики обрабатывают типы содержимого во время преобразования, см. статью Обработка типов содержимого в Azure Logic Apps. Подробные сведения о каждой функции см. в алфавитном списке.

Примечание.

Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Неявное преобразование типов данных.

Функция преобразования Задача
array. Возвращает массив из одного экземпляра указанных входных данных. Для использования нескольких входных данных см. раздел createArray.
base64 Возвращает версию строки с кодировкой base64 для заданной строки.
base64ToBinary Возвращает двоичную версию строки с кодировкой base64.
base64ToString Возвращает строковую версию строки с кодировкой base64.
двоичный Возвращает двоичную версию входного значения.
bool Возвращает логическую версию входного значения.
createArray Возвращает массив из нескольких экземпляров входных данных.
dataUri Возвращает URI данных входного значения.
dataUriToBinary Возвращает двоичную версию строки URI данных.
dataUriToString Возвращает строковую версию URI данных.
десятичное Возвращает десятичное число для десятичной строки.
decodeBase64 Возвращает строковую версию строки с кодировкой base64.
decodeDataUri Возвращает двоичную версию строки URI данных.
decodeUriComponent Возвращает строку, которая заменяет escape-символы декодированными версиями.
encodeUriComponent Возвращает строку, которая заменяет символы, опасные для URL-адреса, символами экранирования.
плавать Возвращает значение с плавающей запятой в качестве входного значения.
int Возвращает целочисленную версию строки.
json Возвращает значение типа JSON или объект из строки или XML.
струна Возвращает строковую версию входного значения.
URIComponent Возвращает кодированную версию URI для входного значения, заменив символы, опасные для URL-адреса, на escape-символы.
uriComponentToBinary Возвращает двоичную версию строки с закодированным URI.
URIComponentToString Возвращает строковую версию строки с закодированным URI.
xml Возвращает XML-версию строки.

Неявные преобразования типов данных

Azure Logic Apps автоматически или неявно преобразовывает некоторые типы данных, поэтому вручную это делать не нужно. Например, если используются нестроковые значения, где строки ожидаются в качестве входных данных, Azure Logic Apps автоматически преобразует нестроковые значения в строки.

Например, предположим, что триггер возвращает числовое значение в качестве выходных данных:

triggerBody()?['123']

Если используются эти числовые выходные данные там, где ожидается ввод строк, например URL-адресов, Azure Logic Apps автоматически преобразует значение в строку с помощью нотации фигурных скобок ({}):

@{triggerBody()?['123']}

Кодирование и декодирование Base64

Azure Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих функций:

  • base64(<value>)
  • base64ToBinary(<value>)
  • base64ToString(<value>)
  • base64(decodeDataUri(<value>))
  • concat('data:;base64,',<value>)
  • concat('data:,',encodeUriComponent(<value>))
  • decodeDataUri(<value>)

Примечание.

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

Математические функции

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

Математическая функция Задача
добавление Возвращает результат сложения двух чисел.
div Возвращает результат деления двух чисел.
макс Возвращает наибольшее значение из набора чисел или массива.
мин Возвращает наименьшее значение из набора чисел или массива.
mod (модуль) Возвращает остаток результата деления двух чисел.
муль Возвращает результат умножения двух чисел.
ранд Возвращает случайное целое число из указанного диапазона.
диапазон Возвращает массив целых чисел, который начинается с заданного целого числа.
суб Вычитает второе число из первого числа и возвращает результат.

Функции даты и времени

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

Функция даты и времени Задача
addDays Добавляет дни в метку времени.
addHours Добавьте часы к метке времени.
addMinutes Добавляет минуты к метке времени.
addSeconds Добавьте секунды к метке времени.
addToTime Добавляет указанное количество единиц времени в метку времени. См. раздел getFutureTime.
convertFromUtc Преобразовать метку времени из Единого координированного времени (UTC) в целевой часовой пояс.
convertTimeZone Преобразовывает метку времени из исходного часового пояса в целевой.
convertToUtc Преобразовать метку времени из исходного часового пояса во всемирное координированное время (UTC).
разница дат Возвращает разницу между двумя датами в виде интервала времени.
dayOfMonth Возвращает компонент дня месяца из метки времени.
dayOfWeek Возвращает компонент дня недели из временной отметки.
dayOfYear Возвращает компонент дня года из метки времени.
formatDateTime Возвращает дату из метки времени.
getFutureTime Возвращает текущую метку времени, а также указанные единицы времени. См. раздел addToTime.
getPastTime Возвращает текущую метку времени, вычитая указанные единицы времени. См. раздел subtractFromTime.
parseDateTime Возвращает метку времени из строки, содержащей метку времени.
startOfDay Возвращает начало дня для метки времени.
startOfHour Возвращает начало часа для метки времени.
startOfMonth Возвращает начало месяца для метки времени.
subtractFromTime Вычитает количество единиц времени из метки времени. См. раздел getPastTime.
клещи Возвращает значение свойства ticks для указанной метки времени.
UTCNow Возвращает текущую метку времени в виде строки.

Функции бизнес-процессов

Эти функции рабочего процесса могут помочь:

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

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

Функция рабочего процесса Задача
действие Возвращает выходные данные текущего действия во время выполнения или значения из других пар "имя — значение" JSON. См. также действия.
Действия Возвращает выходные данные действия во время выполнения или значения из других пар "имя — значение" JSON. См. также action.
тело Возвращает результат действия body во время выполнения.
formDataMultiValues Создайте массив значений, которые соответствуют имени ключа в выходных данных действия form-data или form-encoded.
значение formDataValue Возвращает одно значение, которое соответствует имени ключа в form-data или в выходных данных form-encoded действия.
пункт Если эта функция появляется внутри повторяющегося действия в массиве, она возвращает текущий элемент массива во время текущей итерации действия.
элементы Если эта функция появляется внутри цикла "Foreach" или "Until", она возвращает текущий элемент из указанного цикла.
индексы итерации Если эта функция появляется в цикле "Until", она возвращает значение индекса для текущей итерации. Эту функцию можно использовать внутри вложенных циклов Until.
listCallbackUrl Возвращает URL-адрес обратного вызова, который вызывает триггер или действие.
multipartBody Возвращает текст указанной части выходных данных действия, которые состоят из нескольких частей.
выводы Возвращает результат действия во время выполнения.
Параметры Возвращает значение параметра, описанного в определении вашего рабочего процесса.
результат Возвращает входные и выходные данные для всех действий верхнего уровня внутри указанного действия с ограниченной областью, такого как For_each, Until и Scope.
триггер Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. См. разделы triggerOutputs и triggerBody.
triggerBody Возвращает выходные данные body триггера во время выполнения. См. раздел trigger.
triggerFormDataValue Возвращает одно значение, соответствующее имени ключа, из выходных данных form-data или form-encoded триггера.
triggerMultipartBody Возвращает текст указанной части выходных данных триггера, которые состоят из нескольких частей.
triggerFormDataMultiValues Создает массив значений, которые соответствуют имени ключа в выходных данных form-data или form-encoded триггера.
выходные данные триггера Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. См. раздел trigger.
Переменные Возвращает значение для указанной переменной.
рабочий процесс Возвращает все сведения о самом рабочем процессе во время выполнения.

Функции анализа URI

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

Функция анализа URI Задача
uriHost Верните значение host для унифицированного указателя ресурса (URI).
uriPath Верните значение path для унифицированного указателя ресурса (URI).
uriPathAndQuery Возвращает значения path и query для URI.
uriPort Верните значение port для унифицированного указателя ресурса (URI).
uriQuery Верните значение query для унифицированного указателя ресурса (URI).
uriScheme Верните значение scheme для унифицированного указателя ресурса (URI).

Функции обработки. JSON и язык XML

Для работы с объектами JSON и узлами XML вы можете использовать следующие функции обработки. Подробные сведения о каждой функции см. в алфавитном списке.

Функция манипулирования Задача
addProperty Добавляет свойство и его значения или пару "имя — значение" в объект JSON и возвращает обновленный объект.
объединить Возвращает первое ненулевое значение из одного или нескольких параметров.
удалитьСвойство Удаляет свойство из объекта JSON и возвращает обновленный объект.
setProperty Задает значение свойства объекта JSON и возвращает обновленный объект.
XPath Проверяет XML на наличие узлов или значений, которые соответствуют выражению XPath, и возвращает соответствующие узлы или значения.

---------------------------------

Все функции — алфавитный список

В этом разделе перечислены все доступные функции в алфавитном порядке.

а

действие

Возвращает текущие выходные данные действия во время выполнения или значения из других пар "имя — значение" JSON, которые вы можете назначить выражению. По умолчанию эта функция ссылается на весь объект действия, но вы можете дополнительно указать свойство, значение которого требуется. См. также actions().

Вы можете использовать функцию action() только со следующими объектами:

  • Свойство unsubscribe для действия веб-перехватчика, чтобы вы могли получить результат из исходного запроса subscribe.
  • Свойство trackedProperties для действия.
  • Условие цикла do-until для действия.
action()
action().outputs.body.<property>
Параметр Обязательное поле Тип Описание
< свойство> Нет Строка Имя свойства объекта действия, значение которого требуется: name, startTime, endTime, inputs, outputs, status, code, trackingId и clientTrackingId. На портале Azure вы можете найти эти свойства, просмотрев подробности в конкретном журнале выполнения. Дополнительные сведения см. в статье с действиями запуска рабочего процесса в REST API.
Возвращаемое значение Тип Описание
< результат_действия> Строка Выходные данные текущего действия или свойства

действия

Возвращает выходные данные действия во время выполнения или значения из других пар "имя — значение" JSON, которые вы можете назначить выражению. По умолчанию эта функция ссылается на весь объект действия, но вы можете дополнительно указать свойство, значение которого требуется. Краткие версии см. в разделе body(). Для текущего действия см. action().

Совет

Функция actions() возвращает выходные данные в виде строки. Если вы хотите использовать возвращаемое значение в виде объекта JSON, то сначала преобразуйте строку. Это можно сделать с помощью действия Parse JSON.

Примечание.

Раньше вы могли использовать функцию actions() или элемент conditions при указании того, что действие выполнялось на основе результата другого действия. Однако, чтобы явно объявить зависимости между действиями, вы должны использовать свойство runAfter зависимого действия. Дополнительные сведения о свойстве runAfter см. в статье Отлавливание и обработка ошибок с помощью свойства runAfter.

actions('<actionName>')
actions('<actionName>').outputs.body.<property>
Параметр Обязательное поле Тип Описание
< actionName> Да Строка Имя объекта действия, выходные данные которого требуется получить.
< свойство> Нет Строка Имя свойства объекта действия, значение которого требуется: name, startTime, endTime, inputs, outputs, status, code, trackingId и clientTrackingId. На портале Azure вы можете найти эти свойства, просмотрев подробности в конкретном журнале выполнения. Дополнительные сведения см. в статье с действиями запуска рабочего процесса в REST API.
Возвращаемое значение Тип Описание
< результат_действия> Строка Выходные данные указанного действия или свойства.

Пример

В этом примере возвращается status значение свойства из действия Get user X во время выполнения:

actions('Get_user').outputs.body.status

Возвращается такой результат: "Succeeded"

добавить

Возвращает результат сложения двух чисел.

add(<summand_1>, <summand_2>)
Параметр Обязательное поле Тип Описание
< summand_1>, <summand_2> Да Целое число, число с плавающей запятой или смешанного типа Числа, которые нужно сложить
Возвращаемое значение Тип Описание
< итоговая_сумма> Целое число и число с плавающей запятой Результат сложения указанных чисел

Пример

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

add(1, 1.5)

Возвращается такой результат: 2.5

добавитьДни

Добавляет дни в метку времени.

addDays('<timestamp>', <days>, '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< дни> Да Целое число Положительное или отрицательное число дней для добавления
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< обновленная_метка_времени> Строка Метка времени и указанное число дней

Пример 1

В этом примере к указанной метке времени добавляются 10 дней:

addDays('2018-03-15T00:00:00Z', 10)

Возвращается такой результат: "2018-03-25T00:00:00.0000000Z"

Пример 2

В этом примере от указанной метки времени отнимается пять дней:

addDays('2018-03-15T00:00:00Z', -5)

Возвращается такой результат: "2018-03-10T00:00:00.0000000Z"

добавитьЧасы

Добавьте часы к метке времени.

addHours('<timestamp>', <hours>, '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< часы> Да Целое число Положительное или отрицательное число часов для добавления
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< обновленная_метка_времени> Строка Метка времени и указанное число часов

Пример 1

В этом примере к указанной метке времени добавляется 10 часов:

addHours('2018-03-15T00:00:00Z', 10)

Возвращается такой результат: "2018-03-15T10:00:00.0000000Z"

Пример 2

В этом примере от указанной метки времени отнимается пять часов:

addHours('2018-03-15T15:00:00Z', -5)

Возвращается такой результат: "2018-03-15T10:00:00.0000000Z"

добавитьМинуты

Добавляет минуты к метке времени.

addMinutes('<timestamp>', <minutes>, '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< минуты> Да Целое число Число минут, которое нужно добавить, может быть положительным или отрицательным.
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< обновленная_метка_времени> Строка Метка времени и указанное число минут

Пример 1

В этом примере к указанной метке времени добавляется 10 минут:

addMinutes('2018-03-15T00:10:00Z', 10)

Возвращается такой результат: "2018-03-15T00:20:00.0000000Z"

Пример 2

В этом примере от указанной метки времени отнимается пять минут:

addMinutes('2018-03-15T00:20:00Z', -5)

Возвращается такой результат: "2018-03-15T00:15:00.0000000Z"

addProperty

Добавляет свойство и его значения или пару "имя — значение" в объект JSON и возвращает обновленный объект. Если свойство уже существует во время выполнения, функция терпит сбой и выдает ошибку.

addProperty(<object>, '<property>', <value>)
Параметр Обязательное поле Тип Описание
< объект> Да Объект Объект JSON, в который вы хотите добавить свойство
< свойство> Да Строка Имя добавляемого свойства
< значение> Да Любое Значение для свойства
Возвращаемое значение Тип Описание
< обновленный_объект> Объект Обновленный объект JSON с указанным свойством

Чтобы добавить родительское свойство к существующему, используйте функцию setProperty(), а не addProperty(). В противном случае функция возвращает только дочерний объект в качестве выходных данных.

setProperty(<object>, '<parent-property>', addProperty(<object>['<parent-property>'], '<child-property>', <value>)
Параметр Обязательное поле Тип Описание
< объект> Да Объект Объект JSON, в который вы хотите добавить свойство
< родительское свойство> Да Строка Имя родительского свойства, в которое необходимо добавить дочернее свойство
< дочерняя собственность> Да Строка Имя дочернего свойства, которое нужно добавить
< значение> Да Любое Значение, задаваемое для указанного свойства
Возвращаемое значение Тип Описание
< обновленный_объект> Объект Обновленный объект JSON, свойство которого задается

Пример 1

В этом примере свойство middleName добавляется в объект JSON, который преобразуется из строки в JSON с помощью функции JSON(). Этот объект уже содержит свойства firstName и surName. Функция присваивает указанное значение новому свойству и возвращает обновленный объект:

addProperty(json('{ "firstName": "Sophia", "lastName": "Owen" }'), 'middleName', 'Anne')

Вот текущий объект JSON:

{
   "firstName": "Sophia",
   "surName": "Owen"
}

Вот обновленный объект JSON:

{
   "firstName": "Sophia",
   "middleName": "Anne",
   "surName": "Owen"
}

Пример 2

В этом примере дочернее свойство middleName добавляется к существующему свойству customerName в объекте JSON, который преобразуется из строки в JSON с помощью функции JSON(). Функция присваивает указанное значение новому свойству и возвращает обновленный объект:

setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }'), 'customerName', addProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }')['customerName'], 'middleName', 'Anne'))

Вот текущий объект JSON:

{
   "customerName": {
      "firstName": "Sophia",
      "surName": "Owen"
   }
}

Вот обновленный объект JSON:

{
   "customerName": {
      "firstName": "Sophia",
      "middleName": "Anne",
      "surName": "Owen"
   }
}

добавлениеСекунд

Добавьте секунды к метке времени.

addSeconds('<timestamp>', <seconds>, '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< товары второго сорта> Да Целое число Положительное или отрицательное число секунд для добавления
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< обновленная_метка_времени> Строка Метка времени и указанное число секунд

Пример 1

В этом примере к указанной метке времени добавляется 10 секунд:

addSeconds('2018-03-15T00:00:00Z', 10)

Возвращается такой результат: "2018-03-15T00:00:10.0000000Z"

Пример 2

В этом примере от указанной метки времени отнимается пять секунд:

addSeconds('2018-03-15T00:00:30Z', -5)

Возвращается такой результат: "2018-03-15T00:00:25.0000000Z"

addToTime

Добавляет указанное количество единиц времени в метку времени. См. раздел getFutureTime().

addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< интервал> Да Целое число Количество заданных единиц времени, которые нужно добавить
< timeUnit> Да Строка Единицы времени для использования с интервалом: "секунда", "минута", "час", "день", "неделя", "месяц", "год"
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< обновленная_метка_времени> Строка Метка времени и указанное число единиц времени

Пример 1

В этом примере к указанной метке времени добавляется 1 день:

addToTime('2018-01-01T00:00:00Z', 1, 'Day')

Возвращается такой результат: "2018-01-02T00:00:00.0000000Z"

Пример 2

В этом примере к указанной метке времени добавляется 1 день:

addToTime('2018-01-01T00:00:00Z', 1, 'Day', 'D')

И возвращает результат в необязательном формате "D": "Tuesday, January 2, 2018"

и

Проверяет, истинны ли все выражения. Возвращает true, если все выражения истинны, или false, если хотя бы одно выражение ложно.

and(<expression1>, <expression2>, ...)
Параметр Обязательное поле Тип Описание
< выражение1>, <выражение2>, ... Да Логический Выражения, которые следует проверить
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает значение true, если все выражения имеют значение true. Возвращает значение false, если хотя бы одно выражение имеет значение false.

Пример 1

В этих примерах проверяется, все ли указанные логические значения верны:

and(true, true)
and(false, true)
and(false, false)

И возвращаются следующие результаты:

  • В первом примере оба выражения истинны, поэтому возвращается true.
  • Во втором примере одно из выражений имеет значение false, поэтому возвращается false.
  • В третьем примере оба выражения имеют значения false, поэтому возвращается false.

Пример 2

В этих примерах проверяется, все ли указанные выражения верны:

and(equals(1, 1), equals(2, 2))
and(equals(1, 1), equals(1, 2))
and(equals(1, 2), equals(1, 3))

И возвращаются следующие результаты:

  • В первом примере оба выражения истинны, поэтому возвращается true.
  • Во втором примере одно из выражений имеет значение false, поэтому возвращается false.
  • В третьем примере оба выражения имеют значения false, поэтому возвращается false.

массив

Возвращает массив из одного экземпляра указанных входных данных. Для использования нескольких входных данных см. раздел createArray().

array('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка для создания массива
Возвращаемое значение Тип Описание
[<значение>] Массив Массив, содержащий один экземпляр указанных входных данных

Пример

В этом примере создается массив из строки "hello":

array('hello')

Возвращается такой результат: ["hello"]

Б

base64

Возвращает версию строки с кодировкой base64 для заданной строки.

Примечание.

Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в, то могут возникать неожиданные события рендеринга в конструкторе. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.

base64('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка входных данных
Возвращаемое значение Тип Описание
< строка_base64> Строка Версия строки входных данных с кодировкой base64

Пример

В этом примере строка "hello" преобразуется в строку с кодировкой base64:

base64('hello')

Возвращается такой результат: "aGVsbG8="

base64ToBinary

Возвращает двоичную версию строки с кодировкой base64.

Примечание.

Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.

base64ToBinary('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка, закодированная в формате base64, для преобразования
Возвращаемое значение Тип Описание
< двоичная версия для строки base64> Строка Двоичная версия строки с кодировкой base64

Пример

В этом примере строка "aGVsbG8=" в кодировке base64 преобразуется в двоичную строку:

base64ToBinary('aGVsbG8=')

Например, предположим, что вы используете действие HTTP для отправки запроса. Можно использовать base64ToBinary() для преобразования строки в кодировке Base64 в двоичные данные и отправки этих данных с помощью типа содержимого application/octet-stream в запросе.

base64ToString

Возвращает строковую версию для строки, закодированной в base64, эффективно декодируя ее. Используйте эту функцию вместо устаревшей decodeBase64().

Примечание.

Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.

base64ToString('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка, закодированная в base64, для декодирования.
Возвращаемое значение Тип Описание
< декодированная строка base64> Строка Строковая версия строки с кодировкой base64

Пример

В этом примере строка "aGVsbG8=" в кодировке base64 преобразуется в простую строку:

base64ToString('aGVsbG8=')

Возвращается такой результат: "hello"

двоичный

Возвращает двоичную версию строки в кодировке base64.

binary('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка для преобразования
Возвращаемое значение Тип Описание
< входное значение в двоичной форме> Строка Двоичная версия в кодировке base64 для указанной строки

Пример

Например, вы используете действие HTTP, которое возвращает изображение или видеофайл. Вы можете использовать binary() для преобразования значения в модель конверта содержимого в кодировке base-64. Затем конверт содержимого можно повторно использовать в других действиях, таких как Compose. Это выражение функции можно использовать для отправки байтов строки с типом содержимого application/octet-stream в запросе.

тело

Возвращает результат действия body во время выполнения. Сокращение для actions('<actionName>').outputs.body. См. actions().

body('<actionName>')
Параметр Обязательное поле Тип Описание
< actionName> Да Строка Имя действия для требуемого результата body
Возвращаемое значение Тип Описание
< выходные_данные_body_действия> Строка Выходные данные body указанного действия

Пример

Этот пример получает выходные body данные из Get user действия X:

body('Get_user')

И возвращает следующий результат:

"body": {
    "FullName": "Contoso Corporation",
    "Location": "Generic Town, USA",
    "Id": 283541717,
    "UserName": "ContosoInc",
    "FollowersCount": 172,
    "Description": "Leading the way in transforming the digital workplace.",
    "StatusesCount": 93,
    "FriendsCount": 126,
    "FavouritesCount": 46,
    "ProfileImageUrl": "https://pbs.twimg.com/profile_images/908820389907722240/gG9zaHcd_400x400.jpg"
}

булевая переменная (bool)

Возвращает булевскую версию значения.

bool(<value>)
Параметр Обязательное поле Тип Описание
< значение> Да Любое Значение, которое необходимо преобразовать в логическое.

Если вы используете bool() с объектом, значение объекта должно быть строкой или целым числом, которое может быть преобразовано в логический формат.

Возвращаемое значение Тип Описание
true или false Логический Булевское значение указанного значения.

Выходные данные

В этих примерах показаны различные поддерживаемые типы входных данных для bool():

Входное значение Тип Возвращаемое значение
bool(1) Целое число true
bool(0) Целое число false
bool(-1) Целое число true
bool('true') Строка true
bool('false') Строка false

С

кусок

Разделение строки или массива на блоки равной длины.

chunk('<collection>', '<length>')
chunk([<collection>], '<length>')
Параметр Обязательное поле Тип Описание
< коллекция> Да Строка или массив Коллекция для разделения
< длина> Да Длина каждого блока
Возвращаемое значение Тип Описание
< коллекция> Массив Массив фрагментов с указанной длиной

Пример 1

В этом примере строка разбивается на блоки длиной 10:

chunk('abcdefghijklmnopqrstuvwxyz', 10)

Возвращается такой результат: ['abcdefghij', 'klmnopqrst', 'uvwxyz']

Пример 2

В этом примере массив разбивается на блоки длиной 5.

chunk(createArray(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), 5)

Возвращается такой результат: [ [1,2,3,4,5], [6,7,8,9,10], [11,12] ]

объединяться

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

coalesce(<object_1>, <object_2>, ...)
Параметр Обязательное поле Тип Описание
< object_1>, <object_2>, ... Да Любой тип, можно смешивать разные типы Один или несколько элементов для проверки на наличие значения NULL
Возвращаемое значение Тип Описание
< первый не нулевой элемент> Любое Первый элемент или значение, которое не равно NULL. Если все параметры равны NULL, эта функция возвращает значение NULL.

Пример

Эти примеры возвращают первое значение, не равное NULL, из указанных значений или равное NULL, когда все значения равны NULL:

coalesce(null, true, false)
coalesce(null, 'hello', 'world')
coalesce(null, null, null)

И возвращаются следующие результаты:

  • Первый пример: true.
  • Второй пример: "hello".
  • Третий пример: null.

КОНКАТ

Объединяет две или более строк и возвращает объединенную строку.

concat('<text1>', '<text2>', ...)
Параметр Обязательное поле Тип Описание
< текст1>, <текст2>, ... Да Строка По крайней мере две строки для объединения
Возвращаемое значение Тип Описание
< текст1текст2...> Строка Строка, созданная из объединенных входных строк



Примечание. Длина результата не должна превышать 104 857 600 символов.

Примечание.

Azure Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции, если вы используете функцию concat() с данными:

  • concat('data:;base64,',<value>)
  • concat('data:,',encodeUriComponent(<value>))

Однако если вы все равно используете эту функцию в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций и при этом удаляете их из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.

Пример

В этом примере объединяются строки "Hello" и "World":

concat('Hello', 'World')

Возвращается такой результат: "HelloWorld"

содержит

Проверяет наличие определенного элемента в коллекции. Верните true, если элемент найден, или false, если не найден. Эта функция чувствительна к регистру.

contains('<collection>', '<value>')
contains([<collection>], '<value>')

В частности, эта функция работает с такими типами коллекций:

  • строка для поиска подстроки.
  • массив для поиска значения
  • словарь, чтобы найти ключ.
Параметр Обязательное поле Тип Описание
< коллекция> Да Строка, массив или словарь Коллекция для проверки
< значение> Да Строка, массив или словарь соответственно Искомый элемент
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает true, если элемент найден. Возвращает false, если не найдено.

Пример 1

В этом примере строка "hello world" проверяется на наличие подстроки "world" и возвращается значение true:

contains('hello world', 'world')

Пример 2

В этом примере строка "hello world" проверяется на наличие подстроки "universe" и возвращается значение false:

contains('hello world', 'universe')

конвертировать из UTC

Преобразовать метку времени из Единого координированного времени (UTC) в целевой часовой пояс.

convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< Часовой пояс пункта назначения> Да Строка Имя целевого часового пояса. Сведения об именах часовых поясов см. в разделе Часовые пояса Microsoft Windows по умолчанию.
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< преобразованная метка времени> Строка Метка времени, преобразованная в целевой часовой пояс без учёта смещения UTC.

Пример 1

В этом примере метка времени преобразуется в указанный часовой пояс:

convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time')

Возвращается такой результат: "2018-01-01T00:00:00.0000000"

Пример 2

В этом примере метка времени преобразуется в указанный часовой пояс и формат:

convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time', 'D')

Возвращается такой результат: "Monday, January 1, 2018"

convertTimeZone

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

convertTimeZone('<timestamp>', '<sourceTimeZone>', '<destinationTimeZone>', '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< исходный часовой пояс> Да Строка Имя исходного часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания).
< Часовой пояс пункта назначения> Да Строка Имя целевого часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания).
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< преобразованная метка времени> Строка Метка времени, преобразованная в целевой часовой пояс

Пример 1

В этом примере исходный часовой пояс преобразуется в целевой:

convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time')

Возвращается такой результат: "2018-01-01T00:00:00.0000000"

Пример 2

В этом примере часовой пояс преобразуется в указанный часовой пояс и формат:

convertTimeZone('2018-01-01T80:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')

Возвращается такой результат: "Monday, January 1, 2018"

convertToUtc

Преобразовать метку времени из исходного часового пояса во всемирное координированное время (UTC).

convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< исходный часовой пояс> Да Строка Имя исходного часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания).
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< преобразованная метка времени> Строка Метка времени преобразована в UTC

Пример 1

В этом примере метка времени преобразуется в формат UTC:

convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time')

Возвращается такой результат: "2018-01-01T08:00:00.0000000Z"

Пример 2

В этом примере метка времени преобразуется в формат UTC:

convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time', 'D')

Возвращается такой результат: "Monday, January 1, 2018"

createArray

Возвращает массив из нескольких экземпляров входных данных. Для одиночных массивов см. array().

createArray('<object1>', '<object2>', ...)
Параметр Обязательное поле Тип Описание
< объект1>, <объект2>, ... Да Любой, но не смешанный По крайней мере два элемента для создания массива
Возвращаемое значение Тип Описание
[<объект1>, <объект2>, ...] Массив Массив, созданный из всех входных элементов

Пример

В этом примере создается массив из этих входных элементов:

createArray('h', 'e', 'l', 'l', 'o')

Возвращается такой результат: ["h", "e", "l", "l", "o"]

Д

dataUri

Возвращает URI данных для строки.

dataUri('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка для преобразования
Возвращаемое значение Тип Описание
< URI данных> Строка URI данных для входной строки

Пример

В этом примере создается URI данных для строки "hello":

dataUri('hello')

Возвращается такой результат: "data:text/plain;charset=utf-8;base64,aGVsbG8="

dataUriToBinary

Возвратите двоичную версию идентификатора унифицированного ресурса (URI) для данных. Используйте эту функцию вместо decodeDataUri(). Хотя обе функции работают одинаково, dataUriBinary() является предпочтительной.

dataUriToBinary('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка URI данных для преобразования
Возвращаемое значение Тип Описание
< двоичная версия URI данных> Строка Двоичная версия URI данных

Пример

В этом примере создается двоичная версия этого URI данных:

dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')

И возвращает следующий результат:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

dataUriToString

Возвращает строковую версию унифицированного идентификатора ресурса (URI) данных.

dataUriToString('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка URI данных для преобразования
Возвращаемое значение Тип Описание
< строка URI данных> Строка Строковая версия URI данных

Пример

В этом примере создается строка для этого URI-данных.

dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')

Возвращается такой результат: "hello"

разница дат

Возвращает разницу между двумя метками времени в виде интервала времени. Эта функция вычитает startDate из endDate, и возвращает результат в виде метки времени в строковом формате.

dateDifference('<startDate>', '<endDate>')
Параметр Обязательное поле Тип Описание
< началоДата> Да Строка Строка, содержащая метку времени
< endDate> Да Строка Строка, содержащая метку времени
Возвращаемое значение Тип Описание
< Временной промежуток> Строка Разница между двумя метками времени, представленная в строковом формате меток времени. Если startDate более новое, чем endDate, результат является отрицательным значением.

Пример

В этом примере вычитается первое значение из второго значения:

dateDifference('2015-02-08', '2018-07-30')

Возвращается такой результат: "1268.00:00:00"

день месяца

Возвращает день месяца из метки времени.

dayOfMonth('<timestamp>')
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
Возвращаемое значение Тип Описание
< день месяца> Целое число День месяца из указанной метки времени

Пример

В этом примере возвращается число дня месяца из этой временной метки.

dayOfMonth('2018-03-15T13:27:36Z')

Возвращается такой результат: 15

день недели

Возвращает день недели из временной метки.

dayOfWeek('<timestamp>')
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
Возвращаемое значение Тип Описание
< день недели> Целое число День недели из указанной метки времени, где воскресенье имеет значение 0, понедельник — 1 и т. д.

Пример

В этом примере возвращается номер дня недели из этой временной метки:

dayOfWeek('2018-03-15T13:27:36Z')

Возвращается такой результат: 4

dayOfYear

Возвращает день года из метки времени.

dayOfYear('<timestamp>')
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
Возвращаемое значение Тип Описание
< день года> Целое число День года из указанной метки времени

Пример

В этом примере возвращается число дня года из этой метки времени:

dayOfYear('2018-03-15T13:27:36Z')

Возвращается такой результат: 74

десятичная дробь

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

Примечание.

Десятичная точность, обсуждаемая в контексте для этой функции и среды выполнения Azure Logic Apps, совпадает с десятичной точностью .NET.

decimal('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Десятичное число в строке
Возвращаемое значение Тип Описание
< десятичное число> Десятичное число Десятичное число для входной строки

Пример 1

В этом примере создается десятичное число, которое используется в качестве числа:

decimal('1.2345678912312131') // Returns 1.234567891231213.

Пример 2

В этом примере создается десятичное число, а результат преобразуется в строку для сохранения точности:

string(decimal('1.2345678912312131')) // Returns "1.2345678912312131".

Пример 3

В этом примере математическая функция используется с двумя десятичными числами и в качестве числа используется результат:

add(decimal('1.2345678912312131'), decimal('1.2345678912312131')) // Returns 2.469135782462426.

Пример 4

В этом примере используется математическая функция для двух десятичных чисел и результат преобразуется в строку для сохранения точности:

string(add(decimal('1.2345678912312131'), decimal('1.2345678912312131'))) // Returns "2.4691357824624262".

decodeBase64 (устаревшая)

Эта функция является устаревшей, поэтому вместо нее следует использовать base64ToString().

decodeDataUri

Возвратите двоичную версию идентификатора унифицированного ресурса (URI) для данных. Используйте dataUriToBinary() вместо decodeDataUri(). Хотя обе функции работают одинаково, dataUriToBinary() является предпочтительной.

Примечание.

Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.

decodeDataUri('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Декодируемая строка URI данных
Возвращаемое значение Тип Описание
< двоичная версия URI данных> Строка Двоичная версия строки URI данных

Пример

В этом примере возвращается двоичная версия этого URI данных:

decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')

И возвращает следующий результат:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

decodeUriComponent

Возвращает строку, которая заменяет escape-символы декодированными версиями.

decodeUriComponent('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка с escape-символами для декодирования
Возвращаемое значение Тип Описание
< декодированный URI> Строка Обновленная строка с декодированными escape-символами

Пример

В этом примере escape-символы в этой строке заменяются декодированными версиями:

decodeUriComponent('https%3A%2F%2Fcontoso.com')

Возвращается такой результат: "https://contoso.com"

div

Возвращает результат деления двух чисел. Чтобы получить остаток, см. mod().

div(<dividend>, <divisor>)
Параметр Обязательное поле Тип Описание
< дивиденд> Да Целое число и число с плавающей запятой Число, которое нужно поделить на делитель
< делитель> Да Целое число и число с плавающей запятой Число, на которое делится делимое (не может быть равно 0)
Возвращаемое значение Тип Описание
< результат деления> Целое число и число с плавающей запятой Результат от деления первого числа на второе. Если делимое или делитель имеет тип Float, то и результат имеет тот же тип.



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

Пример 1

Оба примера возвращают это значение в виде целого числа: 2

div(10,5)
div(11,5)

Пример 2

Оба примера возвращают это значение в формате float: 2.2

div(11,5.0)
div(11.0,5)

Е

encodeUriComponent

Возвращает кодированную версию URI для строки, заменив символы, опасные для URL-адреса, на escape-символы. Используйте uriComponent() вместо encodeUriComponent(). Хотя обе функции работают одинаково, uriComponent() является предпочтительной.

Примечание.

Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.

encodeUriComponent('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка для преобразования в формат закодированного URI
Возвращаемое значение Тип Описание
< закодированный URI> Строка Строка с закодированным URI, содержащая escape-символы

Пример

В этом примере создается версия с закодированным URI для этой строки:

encodeUriComponent('https://contoso.com')

Возвращается такой результат: "https%3A%2F%2Fcontoso.com"

пустой

Проверяет, является ли коллекция пустой. Возвращает значение true, если коллекция пуста, или false, если нет.

empty('<collection>')
empty([<collection>])
Параметр Обязательное поле Тип Описание
< коллекция> Да Строка, массив или объект Коллекция для проверки
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает значение true, если коллекция пуста. Возвращает false, если не пусто.

Пример

В этих примерах проверяется, являются ли указанные коллекции пустыми:

empty('')
empty('abc')

И возвращаются следующие результаты:

  • В первом примере передается пустая строка, поэтому функция возвращает true.
  • Во втором примере передается строка "abc", поэтому функция возвращает false.

заканчивается

Проверяет, заканчивается ли строка определенной подстрокой. Возвращает true, если подстрока найдена, или возвращает false, если нет. Эта функция не учитывает регистр.

endsWith('<text>', '<searchText>')
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Проверяемая строка
< searchText> Да Строка Конечная подстрока для поиска
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает значение true, если конечная подстрока обнаружена. Возвращает false, если не найдено.

Пример 1

В этом примере проверяется, заканчивается ли строка "hello world" строкой "world":

endsWith('hello world', 'world')

Возвращается такой результат: true

Пример 2

В этом примере проверяется, заканчивается ли строка "hello world" строкой "universe":

endsWith('hello world', 'universe')

Возвращается такой результат: false

равно

Проверяет, эквивалентны ли оба значения, выражения или объекта. Возвращается значение true, если они эквивалентны, или false, если нет.

equals('<object1>', '<object2>')
Параметр Обязательное поле Тип Описание
< объект1>, <объект2> Да разное Значения, выражения или объекты для сравнения
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает значение true, если оба значения эквивалентны. Возвращает значение false, если не эквивалентны.

Пример

В этих примерах проверяется, являются ли указанные входные данные эквивалентными.

equals(true, 1)
equals('abc', 'abcd')

И возвращаются следующие результаты:

  • В первом примере оба значения эквивалентны, поэтому функция возвращает true.
  • Во втором примере оба значения не эквивалентны, поэтому функция возвращает false.

Ф

первый

Возвращает первый элемент из строки или массива.

first('<collection>')
first([<collection>])
Параметр Обязательное поле Тип Описание
< коллекция> Да Строка или массив Коллекция, где нужно найти первый элемент.
Возвращаемое значение Тип Описание
< первый элемент коллекции> Любое Первый элемент в коллекции

Пример

В этих примерах выполняется поиск первого элемента в этих коллекциях:

first('hello')
first(createArray(0, 1, 2))

Верните эти результаты:

  • Первый пример: "h".
  • Второй пример: 0.

с плавающей запятой

Преобразует строковую версию числа с плавающей запятой в фактическое число с плавающей запятой. Эту функцию можно использовать только при передаче пользовательских параметров в приложение, например, рабочий процесс Logic Apps или поток в Power Automate. Чтобы преобразовать строки с плавающей запятой, представленные в специфичных для разных культур форматах, можно также указать код локали по стандарту RFC 4646.

float('<value>', '<locale>'?)
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка, содержащая допустимое число с плавающей запятой для преобразования. Минимальное и максимальное значения совпадают с ограничениями для типа данных с плавающей запятой.
< локаль> Нет Строка Код локали RFC 4646, который необходимо использовать.

Если не указано, используется локаль по умолчанию.

Если языковой стандарт не является допустимым, появляется сообщение об ошибке, что предоставленный языковой стандарт недопустим или не имеет связанного языкового стандарта.
Возвращаемое значение Тип Описание
< значение с плавающей запятой> Плавать Число с плавающей запятой для указанной строки. Минимальное и максимальное значения совпадают с ограничениями для типа данных с плавающей запятой.

Пример 1

В этом примере создается строковая версия для этого числа с плавающей запятой:

float('10,000.333')

Возвращается такой результат: 10000.333

Пример 2

В этом примере создается строковая версия для этого номера с плавающей запятой в немецком стиле:

float('10.000,333', 'de-DE')

Возвращается такой результат: 10000.333

форматироватьДатуВремя

Возвращает метку времени в указанном формате.

formatDateTime('<timestamp>', '<format>'?, '<locale>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
< локаль> Нет Строка Используемая региональная настройка. Если не задано иное, используется значение en-us. Если языковой стандарт не является допустимым значением, генерируется ошибка.
Возвращаемое значение Тип Описание
< метка времени в другом формате> Строка Обновленная метка времени в указанном формате и языковом стандарте, если они указаны.

Примеры

formatDateTime('03/15/2018') // Returns '2018-03-15T00:00:00.0000000'.
formatDateTime('03/15/2018 12:00:00', 'yyyy-MM-ddTHH:mm:ss') // Returns '2018-03-15T12:00:00'.
formatDateTime('01/31/2016', 'dddd MMMM d') // Returns 'Sunday January 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'fr-fr') // Returns 'dimanche janvier 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'fr-FR') // Returns 'dimanche janvier 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'es-es') // Returns 'domingo enero 31'.

formDataMultiValues

Возвращает массив значений, которые соответствуют имени ключа в выходных данных form-data или form-encoded действия.

formDataMultiValues('<actionName>', '<key>')
Параметр Обязательное поле Тип Описание
< actionName> Да Строка Действие, выходные данные которого содержат требуемое значение ключа
< ключ> Да Строка Имя ключа, значение которого нужно получить
Возвращаемое значение Тип Описание
[<массив_со_значениями_ключа>] Массив Массив со всеми значениями, которые соответствуют заданному ключу

Пример

Этот пример создаёт массив из значения ключа «Subject» в выходных данных действия, которые представлены в виде form-data или form-encoded.

formDataMultiValues('Send_an_email', 'Subject')

И возвращается текст темы в массиве, например: ["Hello world"].

значение formDataValue

Возвращает единственное значение, которое соответствует имени ключа в выходных данных form-data или form-encoded действия. Если функция обнаруживает более одного совпадения, она выдает ошибку.

formDataValue('<actionName>', '<key>')
Параметр Обязательное поле Тип Описание
< actionName> Да Строка Действие, выходные данные которого содержат требуемое значение ключа
< ключ> Да Строка Имя ключа, значение которого нужно получить
Возвращаемое значение Тип Описание
< значение ключа> Строка Значение в указанном ключе

Пример

В этом примере строка создается из значения ключа "Subject" в выходных данных form-data или form-encoded для указанного действия.

formDataValue('Send_an_email', 'Subject')

И возвращается текст темы в виде строки, например: "Hello world"

форматЧисла

Возврат числа в виде строки на основе указанного формата.

formatNumber(<number>, <format>, <locale>?)
Параметр Обязательное поле Тип Описание
< номер> Да Целое число или дубль Значение, которое нужно отформатировать.
< формат> Да Строка Строка составного формата, указывающая формат, который необходимо использовать. Сведения о поддерживаемых строках числового формата см. в разделе Стандартные строки числового формата, которые поддерживаются number.ToString(<format>, <locale>).
< локаль> Нет Строка Локаль для использования, поддерживаемая number.ToString(<format>, <locale>). Если не задано иное, используется значение en-us. Если языковой стандарт не является допустимым значением, генерируется ошибка.
Возвращаемое значение Тип Описание
< formatted-number> Строка Указанное число в виде строки в указанном формате. Это возвращаемое значение можно привести к int или float.

Пример 1

Предположим, что нужно отформатировать число 1234567890. В этом примере данное число форматируется как строка "1 234 567 890,00".

formatNumber(1234567890, '0,0.00', 'en-us')

*Пример 2"

Предположим, что нужно отформатировать число 1234567890. В этом примере число форматируется как строка "1 234 567 890,00".

formatNumber(1234567890, '0,0.00', 'is-is')

Пример 3

Предположим, что нужно отформатировать число 17.35. В этом примере число форматируется как строка "$17,35".

formatNumber(17.35, 'C2')

Пример 4

Предположим, что нужно отформатировать число 17.35. В этом примере данное число форматируется как строка "17,35 кр".

formatNumber(17.35, 'C2', 'is-is')

Г

getFutureTime

Возвращает текущую метку времени, а также указанные единицы времени.

getFutureTime(<interval>, <timeUnit>, <format>?)
Параметр Обязательное поле Тип Описание
< интервал> Да Целое число Число единиц времени для добавления
< timeUnit> Да Строка Единицы времени для использования с интервалом: "секунда", "минута", "час", "день", "неделя", "месяц", "год"
< формат> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат не является допустимым, появляется соответствующая ошибка с информацией о том, что он должен быть в виде строки с числовым форматом.
Возвращаемое значение Тип Описание
< обновленная_метка_времени> Строка Текущая метка времени и указанное число единиц времени

Пример 1

Допустим, текущая метка времени такая: "2018-03-01T00:00:00.0000000Z". В этом примере к этой метке времени добавляется пять дней:

getFutureTime(5, 'Day')

Возвращается такой результат: "2018-03-06T00:00:00.0000000Z"

Пример 2

Допустим, текущая метка времени такая: "2018-03-01T00:00:00.0000000Z". В этом примере добавляется пять дней и результат преобразуется в формат "D":

getFutureTime(5, 'Day', 'D')

Возвращается такой результат: "Tuesday, March 6, 2018"

getPastTime

Возвращает текущую метку времени, вычитая указанные единицы времени.

getPastTime(<interval>, <timeUnit>, <format>?)
Параметр Обязательное поле Тип Описание
< интервал> Да Целое число Число указанных единиц времени для вычитания
< timeUnit> Да Строка Единицы времени для использования с интервалом: "секунда", "минута", "час", "день", "неделя", "месяц", "год"
< формат> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат не является допустимым, появляется соответствующая ошибка с информацией о том, что он должен быть в виде строки с числовым форматом.
Возвращаемое значение Тип Описание
< обновленная_метка_времени> Строка Текущая метка времени за вычетом указанного числа единиц времени

Пример 1

Допустим, текущая метка времени такая: "2018-02-01T00:00:00.0000000Z". В этом примере от указанной метки времени отнимается пять дней.

getPastTime(5, 'Day')

Возвращается такой результат: "2018-01-27T00:00:00.0000000Z"

Пример 2

Допустим, текущая метка времени такая: "2018-02-01T00:00:00.0000000Z". В этом примере отнимается пять дней и результат преобразуется в формат "D":

getPastTime(5, 'Day', 'D')

Возвращается такой результат: "Saturday, January 27, 2018"

больше

Проверяет, является ли первое значение большим, чем второе. Возвращает значение true, если первое значение больше, или значение false, если меньше.

greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
Параметр Обязательное поле Тип Описание
< значение> Да Целое число, число с плавающей запятой или строка Проверка, является ли первое значение больше второго значения
< compareTo> Да Целое число, число с плавающей запятой или строка соответственно Значение сравнения
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает true, если первое значение больше, чем второе. Возвращает значение false, если первое значение меньше или равно второму.

Пример

В этих примерах проверяется, является ли первое значение большим, чем второе.

greater(10, 5)
greater('apple', 'banana')

Верните эти результаты:

  • Первый пример: true.
  • Второй пример: false.

большеИлиРавно

Проверяет, является ли первое значение большим, чем второе, или равным ему. Возвращает true, если первое значение больше или равно, или возвращает false, если первое значение меньше.

greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
Параметр Обязательное поле Тип Описание
< значение> Да Целое число, число с плавающей запятой или строка Проверяет, является ли первое значение большим, чем второе, или равным ему
< compareTo> Да Целое число, число с плавающей запятой или строка соответственно Значение сравнения
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает значение true, если первое значение больше или равно второму. Возвращает значение false, если первое значение меньше, чем второе.

Пример

В этих примерах проверяется, является ли первое значение большим чем второе, или равным ему.

greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')

Верните эти результаты:

  • Первый пример: true.
  • Второй пример: false.

гид

Создает глобально уникальный идентификатор (GUID) в виде строки, например, "c2ecc88d-88c8-4096-912c-d6f2e2b138ce":

guid()

Кроме того, вы можете указать другой формат для GUID, отличный от формата по умолчанию ("D"), который состоит из 32 цифр, разделенных дефисом.

guid('<format>')
Параметр Обязательное поле Тип Описание
< формат> Нет Строка Один указатель формата для возвращенного идентификатора GUID. По умолчанию имеет формат "D", но можно использовать "N", "D", "B", "P" или "X".
Возвращаемое значение Тип Описание
< значение GUID> Строка Случайно сгенерированный GUID

Пример

В этом примере создается тот же идентификатор GUID, но в виде 32 цифр, разделенных дефисом и заключенных в круглые скобки:

guid('P')

Возвращается такой результат: "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"

Я

если

Проверьте, какое значение имеет выражение: true или false. На основе результата вернуть указанное значение. Параметры оцениваются слева направо.

if(<expression>, <valueIfTrue>, <valueIfFalse>)
Параметр Обязательное поле Тип Описание
< выражение> Да Логический Выражение для проверки
< значениеЕслиИстина> Да Любое Возвращаемое значение, если выражение истинно
< valueIfFalse> Да Любое Возвращаемое значение, если выражение ложно
Возвращаемое значение Тип Описание
< указанное возвращаемое значение> Любое Возвращает указанное значение в зависимости от результата выражения: true или false.

Пример

В этом примере возвращается "yes", потому что указанное выражение возвращает значение true. В противном случае в примере возвращается "no":

if(equals(1, 1), 'yes', 'no')

индекс поиска

Возвращает начальную позицию или значение индекса для подстроки. Эта функция не учитывает регистр, и индексы начинаются с числа 0.

indexOf('<text>', '<searchText>')
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Строка, которая содержит подстроку для поиска
< searchText> Да Строка Подстрока для поиска
Возвращаемое значение Тип Описание
< значение индекса> Целое число Начальное положение или значение индекса указанной подстроки.

Если строка не найдена, возвращается число -1.

Пример

Этот пример находит начальное значение индекса для подстроки "world" в строке "hello world":

indexOf('hello world', 'world')

Возвращается такой результат: 6

INT

Преобразует строковую версию целого числа в фактическое целое число.

int('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строковая версия для преобразуемого целого числа. Минимальное и максимальное значения совпадают с ограничениями для типа данных целого числа.
Возвращаемое значение Тип Описание
< целочисленный результат> Целое число Целочисленная версия указанной строки. Минимальное и максимальное значения совпадают с ограничениями для типа данных целого числа.

Пример

В этом примере создается целочисленная версия строки "10":

int('10')

Возвращается такой результат: 10

isFloat

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

isFloat('<string>', '<locale>'?)
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка для анализа
< локаль> Нет Строка Код языкового стандарта RFC 4646 для использования
Возвращаемое значение Тип Описание
< boolean-result> Логический Логическое значение, указывающее, является ли строка числом с плавающей запятой

Пример 1

В этом примере проверяется, является ли строка числом с плавающей запятой в инвариантной культуре.

isFloat('10,000.00')

Возвращается такой результат: true

Пример 2

В этом примере проверяется, является ли строка числом с плавающей запятой в немецком языковом стандарте:

isFloat('10.000,00', 'de-DE')

Возвращается такой результат: true

isInt

Возвращает булево значение, которое указывает, является ли строка целым числом.

isInt('<string>')
Параметр Обязательное поле Тип Описание
< струна> Да Строка Строка для анализа
Возвращаемое значение Тип Описание
< boolean-result> Логический Логическое значение, указывающее, является ли строка целочисленной.

Пример

В этом примере проверяется, является ли строка целым числом:

isInt('10')

Возвращается такой результат: true

элемент

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

item()
Возвращаемое значение Тип Описание
< текущий элемент массива> Любое Текущий элемент в массиве для текущей итерации действия

Пример

В этом примере извлекается элемент body из текущего сообщения для действия "Send_an_email" внутри текущей итерации цикла for-each:

item().body

предметы

Возвращает текущий элемент из каждого цикла в цикле for-each. Используйте эту функцию внутри цикла for-each.

items('<loopName>')
Параметр Обязательное поле Тип Описание
< loopName> Да Строка Имя для цикла for-each
Возвращаемое значение Тип Описание
< пункт> Любое Элемент из текущего цикла в указанном операторе for-each

Пример

В этом примере извлекается текущий элемент из указанного цикла for-each:

items('myForEachLoopName')

индексы итераций

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

iterationIndexes('<loopName>')
Параметр Обязательное поле Тип Описание
< loopName> Да Строка Имя для цикла Until
Возвращаемое значение Тип Описание
< индекс> Целое число Значение индекса для текущей итерации в указанном цикле Until.

Пример

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

iterationIndexes('Until_Max_Increment')

{
   "actions": {
      "Create_counter_variable": {
         "type": "InitializeVariable",
         "inputs": {
            "variables": [ 
               {
                  "name": "myCounter",
                  "type": "Integer",
                  "value": 0
               }
            ]
         },
         "runAfter": {}
      },
      "Create_current_index_variable": {
         "type": "InitializeVariable",
         "inputs": {
            "variables": [
               {
                  "name": "myCurrentLoopIndex",
                  "type": "Integer",
                  "value": 0
               }
            ]
         },
         "runAfter": {
            "Create_counter_variable": [ "Succeeded" ]
         }
      },
      "Until_Max_Increment": {
         "type": "Until",
         "actions": {
            "Assign_current_index_to_counter": {
               "type": "SetVariable",
               "inputs": {
                  "name": "myCurrentLoopIndex",
                  "value": "@variables('myCounter')"
               },
               "runAfter": {
                  "Increment_variable": [ "Succeeded" ]
               }
            },
            "Compose": {
               "inputs": "'Current index: ' @{iterationIndexes('Until_Max_Increment')}",
               "runAfter": {
                  "Assign_current_index_to_counter": [
                     "Succeeded"
                    ]
                },
                "type": "Compose"
            },           
            "Increment_variable": {
               "type": "IncrementVariable",
               "inputs": {
                  "name": "myCounter",
                  "value": 1
               },
               "runAfter": {}
            }
         },
         "expression": "@equals(variables('myCounter'), 5)",
         "limit": {
            "count": 60,
            "timeout": "PT1H"
         },
         "runAfter": {
            "Create_current_index_variable": [ "Succeeded" ]
         }
      }
   }
}

J

JSON (формат обмена данными JavaScript)

Возвращает значение типа нотации объектов JSON, объект или массив с объектами для строки или XML.

json('<value>')
json(xml('value'))

Внимание

Без схемы XML, определяющей структуру вывода, и в зависимости от входных данных функция может возвращать результаты, значительно отличающиеся от ожидаемых.

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

Параметр Обязательное поле Тип Описание
< значение> Да Строка или XML Строка или XML для преобразования
Возвращаемое значение Тип Описание
< результат JSON> Собственный тип JSON, объект или массив Значение собственного типа JSON, объект или массив объектов из входной строки или XML.



– Если вы передаете XML с одним дочерним элементом в корневом, то функция возвращает для него один объект JSON.

– Если вы передаете XML с несколькими дочерними элементами в корневом, то функция возвращает массив с объектами JSON для этих дочерних элементов.

– Если строка имеет значение NULL, функция возвращает пустой объект.

Пример 1

В этом примере строка преобразуется в значение JSON:

json('[1, 2, 3]')

Возвращается такой результат: [1, 2, 3]

Пример 2

В этом примере строка преобразуется в JSON:

json('{"fullName": "Sophia Owen"}')

И возвращает следующий результат:

{
  "fullName": "Sophia Owen"
}

Пример 3

В этом примере используются функции json() и xml() для преобразования XML с одним дочерним элементом в корневом в объект JSON под названием person:

json(xml('<?xml version="1.0"?> <root> <person id="1"> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> </root>'))

И возвращает следующий результат:

{
   "?xml": { 
      "@version": "1.0" 
   },
   "root": {
      "person": {
         "@id": "1",
         "name": "Sophia Owen",
         "occupation": "Engineer"
      }
   }
}

Пример 4

В этом примере используются функции json() и xml() для преобразования XML с несколькими дочерними элементами в корневом в массив под названием person, который содержит объекты JSON:

json(xml('<?xml version="1.0"?> <root> <person id="1"> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> <person id="2"> <name>John Doe</name> <occupation>Engineer</occupation> </person> </root>'))

И возвращает следующий результат:

{
   "?xml": {
      "@version": "1.0"
   },
   "root": {
      "person": [
         {
            "@id": "1",
            "name": "Sophia Owen",
            "occupation": "Engineer"
         },
         {
            "@id": "2",
            "name": "John Doe",
            "occupation": "Engineer"
         }
      ]
   }
}

пересечение

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

intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
Параметр Обязательное поле Тип Описание
< коллекция1>, <коллекция2>, ... Да Массив или объект, но не оба Коллекции, из которых нужно получить только общие элементы
Возвращаемое значение Тип Описание
< общие элементы> Массив или объект соответственно Коллекция, которая содержит только общие элементы в указанных коллекциях

Пример

В этом примере находятся общие элементы в этих массивах:

intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))

И возвращается массив только с этими элементами: [1, 2]

присоединиться

Возвращает строку, содержащую все элементы из массива, в которой каждый символ отделен разделителем.

join([<collection>], '<delimiter>')
Параметр Обязательное поле Тип Описание
< коллекция> Да Массив Массив, содержащий элементы для объединения
< разделитель> Да Строка Разделитель, содержащийся между каждым символом в результирующей строке
Возвращаемое значение Тип Описание
< чар1><разделитель><Чар2><разделитель>... Строка Полученная строка, созданная из всех элементов в указанном массиве.



Примечание. Длина результата не должна превышать 104 857 600 символов.

Пример

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

join(createArray('a', 'b', 'c'), '.')

Возвращается такой результат: "a.b.c"

L

последняя

Возвращает последний элемент из коллекции.

last('<collection>')
last([<collection>])
Параметр Обязательное поле Тип Описание
< коллекция> Да Строка или массив Коллекция, в которой нужно найти последний элемент
Возвращаемое значение Тип Описание
< последний элемент коллекции> Строка или массив соответственно Последний элемент в коллекции

Пример

Эти примеры находят последний элемент в этих коллекциях.

last('abcd')
last(createArray(0, 1, 2, 3))

И возвращаются следующие результаты:

  • Первый пример: "d".
  • Второй пример: 3.

lastIndexOf

Возвращает начальную позицию или значение индекса последнего вхождения подстроки. Эта функция не учитывает регистр, и индексы начинаются с числа 0.

lastIndexOf('<text>', '<searchText>')
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Строка, которая содержит подстроку для поиска
< searchText> Да Строка Подстрока для поиска
Возвращаемое значение Тип Описание
< конечное значение индекса> Целое число Начальная позиция или значение индекса последнего вхождения указанной подстроки.

Если значение строки или подстроки пустое, то происходит следующее:

  • Если пустое только значение строки, то функция возвращает -1.

  • Если значения строки и подстроки пустые, то функция возвращает 0.

  • Если только значение подстроки пусто, функция возвращает длину строки на единицу меньше.

Примеры

В этом примере находится начальное значение индекса для последнего вхождения подстроки world в строке hello world hello world. В результате возвращается значение 18:

lastIndexOf('hello world hello world', 'world')

В этом примере отсутствует параметр подстроки и возвращается значение 22, потому что значение входной строки (23) за вычетом единицы больше нуля.

lastIndexOf('hello world hello world', '')

длина

Возвращает число элементов в коллекции.

length('<collection>')
length([<collection>])
Параметр Обязательное поле Тип Описание
< коллекция> Да Строка или массив Коллекция с элементами для подсчета
Возвращаемое значение Тип Описание
< длина или число> Целое число Число элементов в данной коллекции

Пример

В этих примерах подсчитывается количество элементов в этих коллекциях:

length('abcd')
length(createArray(0, 1, 2, 3))

Верните этот результат: 4

меньше

Проверяет, является ли первое значение меньшим, чем второе. Возвращайте true, если первое значение меньше, или false, если оно больше.

less(<value>, <compareTo>)
less('<value>', '<compareTo>')
Параметр Обязательное поле Тип Описание
< значение> Да Целое число, число с плавающей запятой или строка Первое значение, для которого выполняется проверка того, является ли оно меньшим, чем второе.
< compareTo> Да Целое число, число с плавающей запятой или строка соответственно Элемент для сравнения
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает значение true, если первое значение меньше, чем второе. Возвращает значение false, если первое значение больше или равно второму.

Пример

В этих примерах проверяется, является ли первое значение меньшим, чем второе.

less(5, 10)
less('banana', 'apple')

Верните эти результаты:

  • Первый пример: true.
  • Второй пример: false.

меньшеИлиРавно

Проверяет, является ли первое значение меньшим, чем второе, или равным ему. Возвращает true, если первое значение меньше или равно чем, или false, если первое значение больше.

lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
Параметр Обязательное поле Тип Описание
< значение> Да Целое число, число с плавающей запятой или строка Проверяет, является ли первое значение меньшим, чем второе, или равным ему
< compareTo> Да Целое число, число с плавающей запятой или строка соответственно Элемент для сравнения
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает значение true, если первое значение меньше или равно второму. Возвращает значение false, если первое значение больше, чем второе.

Пример

В этих примерах проверяется, является ли первое значение меньшим или равным второму.

lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')

Верните эти результаты:

  • Первый пример: true.
  • Второй пример: false.

списокURLобратногоВызова

Возвращает URL-адрес обратного вызова, который вызывает триггер или действие. Эта функция работает только с триггерами и действиями для типов соединителей HttpWebhook и ApiConnectionWebhook, но не типов Manual, Recurrence, HTTP и APIConnection.

listCallbackUrl()
Возвращаемое значение Тип Описание
< URL обратного вызова> Строка URL-адрес обратного вызова для действия или триггера

Пример

В этом примере показан пример URL-адреса обратного вызова, который может вернуть эта функция:

"https://prod-01.westus.logic.azure.com:443/workflows/<*workflow-ID*>/triggers/manual/run?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<*signature-ID*>"

Пн

максимум

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

max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
Параметр Обязательное поле Тип Описание
< номер1>, <номер2>, ... Да Целое число, число с плавающей запятой или оба типа Набор чисел, из которого требуется получить наибольшее значение
[<номер1>, <номер2>, ...] Да Массив — целое число, число с плавающей запятой или оба типа данных Массив чисел, из которого требуется получить наибольшее значение
Возвращаемое значение Тип Описание
< макс. значение> Целое число и число с плавающей запятой Максимальное значение в указанном массиве или набор чисел

Пример

В этих примерах извлекается наибольшее значение из набора чисел и массива:

max(1, 2, 3)
max(createArray(1, 2, 3))

Верните этот результат: 3

мин

Возвращает наименьшее значение из набора чисел или массива.

min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
Параметр Обязательное поле Тип Описание
< номер1>, <номер2>, ... Да Целое число, число с плавающей запятой или оба типа Набор чисел, из которого требуется получить наименьшее значение
[<номер1>, <номер2>, ...] Да Массив — целое число, число с плавающей запятой или оба типа данных Массив чисел, из которого требуется получить наименьшее значение
Возвращаемое значение Тип Описание
< мин. значение> Целое число и число с плавающей запятой Наименьшее значение в указанном наборе чисел или массиве

Пример

В этих примерах извлекается наименьшее значение из набора чисел и массива:

min(1, 2, 3)
min(createArray(1, 2, 3))

Верните этот результат: 1

модуль

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

mod(<dividend>, <divisor>)
Параметр Обязательное поле Тип Описание
< дивиденд> Да Целое число и число с плавающей запятой Число, которое нужно поделить на делитель
< делитель> Да Целое число и число с плавающей запятой Число, на которое делится делимое (не может быть равно 0)
Возвращаемое значение Тип Описание
< результат по модулю> Целое число и число с плавающей запятой Остаток результата деления первого числа на второе

Пример 1

В этом примере первое число делится на второе:

mod(3, 2)

Возвращается такой результат: 1

Пример 2

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

mod(-5, 2)
mod(4, -3)

Пример возвращает следующие результаты:

  • Первый пример: -1.
  • Второй пример: 1.

мул

Возвращает результат умножения двух чисел.

mul(<multiplicand1>, <multiplicand2>)
Параметр Обязательное поле Тип Описание
< мультипликация1> Да Целое число и число с плавающей запятой Число для умножения на multiplicand2
< мультипликация2> Да Целое число и число с плавающей запятой Число, на которое умножается multiplicand1
Возвращаемое значение Тип Описание
< результат> Целое число и число с плавающей запятой Произведение от умножения первого числа на второе

Пример

В этом примере первое число умножается на второе:

mul(1, 2)
mul(1.5, 2)

Верните эти результаты:

  • Первый пример: 2.
  • Второй пример: 3.

многочастноеТело

Возвращает текст указанной части выходных данных действия, которые состоят из нескольких частей.

multipartBody('<actionName>', <index>)
Параметр Обязательное поле Тип Описание
< actionName> Да Строка Имя действия, которое содержит выходные данные, состоящие из нескольких частей
< индекс> Да Целое число Значение индекса необходимой части
Возвращаемое значение Тип Описание
< текст> Строка Корпус указанной части

Н

не

Проверяет, имеет ли выражение значение false. Возвращает значение true, если выражение ложно, или значение false, если значение истинно.

not(<expression>)
Параметр Обязательное поле Тип Описание
< выражение> Да Логический Выражение для проверки
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает значение true, если выражение ложно. Возвращает значение false, если выражение истинно.

Пример 1

В этих примерах проверяется, все ли указанные выражения ложны:

not(false)
not(true)

Верните эти результаты:

  • В первом примере выражение имеет значение false, поэтому функция возвращает true.
  • Во втором примере выражение имеет значение true, поэтому функция возвращает false.

Пример 2

В этих примерах проверяется, все ли указанные выражения ложны:

not(equals(1, 2))
not(equals(1, 1))

Верните эти результаты:

  • В первом примере выражение имеет значение false, поэтому функция возвращает true.
  • Во втором примере выражение имеет значение true, поэтому функция возвращает false.

nthIndexOf

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

nthIndexOf('<text>', '<searchText>', <occurrence>)
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Строка, содержащая подстроку для поиска
< searchText> Да Строка Подстрока для поиска
< происшествие> Да Целое число Число, которое указывает n-й экземпляр искомой подстроки. Если ocurrence имеет отрицательное значение, поиск начинается с конца.
Возвращаемое значение Тип Описание
< значение индекса> Целое число Начальная позиция или значение индекса n-го экземпляра указанной подстроки. Если подстрока не найдена или имеется менее n экземпляров подстроки, возвращается значение -1.

Примеры

nthIndexOf('123456789123465789', '1', 1) // Returns `0`.
nthIndexOf('123456789123465789', '1', 2) // Returns `9`.
nthIndexOf('123456789123465789', '12', 2) // Returns `9`.
nthIndexOf('123456789123465789', '6', 4) // Returns `-1`.

О

или

Проверяет, является ли хотя бы одно выражение истинным. Возвращает значение true, если хотя бы одно выражение истинно, или значение false, когда все являются ложными.

or(<expression1>, <expression2>, ...)
Параметр Обязательное поле Тип Описание
< выражение1>, <выражение2>, ... Да Логический Выражения, которые следует проверить
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает значение true, если хотя бы одно выражение истинно. Возвращает значение false, если все выражения ложны.

Пример 1

В этих примерах проверяется, является ли хотя бы одно выражение истинным:

or(true, false)
or(false, false)

Верните эти результаты:

  • В первом примере по крайней мере одно выражение имеет значение true, поэтому функция возвращает true.
  • Во втором примере оба выражения имеют значения false, поэтому функция возвращает false.

Пример 2

В этих примерах проверяется, является ли хотя бы одно выражение истинным:

or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))

Верните эти результаты:

  • В первом примере по крайней мере одно выражение имеет значение true, поэтому функция возвращает true.
  • Во втором примере оба выражения имеют значения false, поэтому функция возвращает false.

выходные данные

Возвращает результаты действия во время выполнения.

outputs('<actionName>')
Параметр Обязательное поле Тип Описание
< actionName> Да Строка Имя выходных данных действия, которое вы хотите.
Возвращаемое значение Тип Описание
< выходные данные> Строка Выходные данные указанного действия

Пример

Этот пример получает выходные данные из действия Get userX:

outputs('Get_user')

И возвращает следующий результат:

{
  "statusCode": 200,
  "headers": {
    "Pragma": "no-cache",
    "Vary": "Accept-Encoding",
    "x-ms-request-id": "a916ec8f52211265d98159adde2efe0b",
    "X-Content-Type-Options": "nosniff",
    "Timing-Allow-Origin": "*",
    "Cache-Control": "no-cache",
    "Date": "Mon, 09 Apr 2018 18:47:12 GMT",
    "Set-Cookie": "ARRAffinity=b9400932367ab5e3b6802e3d6158afffb12fcde8666715f5a5fbd4142d0f0b7d;Path=/;HttpOnly;Domain=twitter-wus.azconn-wus.p.azurewebsites.net",
    "X-AspNet-Version": "4.0.30319",
    "X-Powered-By": "ASP.NET",
    "Content-Type": "application/json; charset=utf-8",
    "Expires": "-1",
    "Content-Length": "339"
  },
  "body": {
    "FullName": "Contoso Corporation",
    "Location": "Generic Town, USA",
    "Id": 283541717,
    "UserName": "ContosoInc",
    "FollowersCount": 172,
    "Description": "Leading the way in transforming the digital workplace.",
    "StatusesCount": 93,
    "FriendsCount": 126,
    "FavouritesCount": 46,
    "ProfileImageUrl": "https://pbs.twimg.com/profile_images/908820389907722240/gG9zaHcd_400x400.jpg"
  }
}

П

параметры

Возвращает значение параметра, описанного в определении вашего рабочего процесса.

parameters('<parameterName>')
Параметр Обязательное поле Тип Описание
< parameterName> Да Строка Имя параметра, значение которого нужно получить
Возвращаемое значение Тип Описание
< значение параметра> Любое Значение указанного параметра

Пример

Предположим, что у вас есть следующее значение JSON:

{
  "fullName": "Sophia Owen"
}

Этот пример получает значение указанного параметра:

parameters('fullName')

Возвращается такой результат: "Sophia Owen"

parseDateTime

Возвращает метку времени из строки, содержащей метку времени.

parseDateTime('<timestamp>', '<locale>'?, '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< локаль> Нет Строка Используемая региональная настройка.

Если не указано, по умолчанию используется локаль en-us.

Если языковой стандарт не является допустимым значением, генерируется ошибка.
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе. Если формат не указан, попробуйте выполнить синтаксический анализ с несколькими форматами, совместимыми с указанным языковым стандартом. Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< parsed-timestamp> Строка Формат проанализированной метки времени "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует стандарту ISO 8601 и сохраняет информацию о часовом поясе.

Примеры

parseDateTime('20/10/2014', 'fr-fr') // Returns '2014-10-20T00:00:00.0000000'.
parseDateTime('20 octobre 2010', 'fr-FR') // Returns '2010-10-20T00:00:00.0000000'.
parseDateTime('martes 20 octubre 2020', 'es-es') // Returns '2020-10-20T00:00:00.0000000'.
parseDateTime('21052019', 'fr-fr', 'ddMMyyyy') // Returns '2019-05-21T00:00:00.0000000'.
parseDateTime('20190521', 'fr-fr', 'yyyyMMdd') // Returns '2019-05-21T00:00:00.0000000'.
parseDateTime('10/20/2014 15h', 'en-US', 'MM/dd/yyyy HH\h') // Returns '2014-10-20T15:00:00.0000000'.

Р

ранд

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

rand(<minValue>, <maxValue>)
Параметр Обязательное поле Тип Описание
< minValue> Да Целое число Наименьшее целое число в диапазоне
< maxValue> Да Целое число Целое число, следующее за наибольшим целым числом в диапазоне, которое функция может вернуть
Возвращаемое значение Тип Описание
< случайный результат> Целое число Случайное целое число, возвращаемое из указанного диапазона

Пример

Этот пример получает случайное целое число из указанного диапазона, исключая максимальное значение:

rand(1, 5)

И возвращает в виде результата одно из этих чисел: 1, 2, 3 или 4.

диапазон

Возвращает массив целых чисел, который начинается с заданного целого числа.

range(<startIndex>, <count>)
Параметр Обязательное поле Тип Описание
< startIndex> Да Целое число Целочисленное значение, которое является первым элементом массива.
< считать> Да Целое число Количество целых чисел в массиве. Значение параметра count должно быть положительным целым числом, не превышающим 100 000.



Примечание. Сумма значений startIndex и count не должна превышать 2 147 483 647.
Возвращаемое значение Тип Описание
[<результат диапазона>] Массив Массив с целыми числами, который начинается с указанного индекса

Пример

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

range(1, 4)

Возвращается такой результат: [1, 2, 3, 4]

удалить свойство

Удаляет свойство из объекта и возвращает обновленный объект. Если свойство, которое вы пытаетесь удалить, не существует, функция возвращает исходный объект.

removeProperty(<object>, '<property>')
Параметр Обязательное поле Тип Описание
< объект> Да Объект Объект JSON, из которого вы хотите удалить свойство
< свойство> Да Строка Имя удаляемого свойства
Возвращаемое значение Тип Описание
< обновленный_объект> Объект Обновленный объект JSON без указанного свойства

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

removeProperty(<object>['<parent-property>'], '<child-property>')
Параметр Обязательное поле Тип Описание
< объект> Да Объект Объект JSON, свойство которого вы хотите удалить
< родительское свойство> Да Строка Имя родительского свойства, из которого необходимо удалить дочернее свойство
< дочерняя собственность> Да Строка Имя удаляемого дочернего свойства
Возвращаемое значение Тип Описание
< обновленный_объект> Объект Обновленный объект JSON, чьё дочернее свойство было удалено

Пример 1

В этом примере свойство middleName удаляется из объекта JSON, который преобразуется в JSON с помощью функции JSON(), а затем возвращается обновленный объект.

removeProperty(json('{ "firstName": "Sophia", "middleName": "Anne", "surName": "Owen" }'), 'middleName')

Вот текущий объект JSON:

{
   "firstName": "Sophia",
   "middleName": "Anne",
   "surName": "Owen"
}

Вот обновленный объект JSON:

{
   "firstName": "Sophia",
   "surName": "Owen"
}

Пример 2

В этом примере дочернее свойство middleName удаляется из существующего свойства customerName в объекте JSON, который преобразуется из строки в JSON с помощью функции JSON(), а затем возвращается обновленный объект.

removeProperty(json('{ "customerName": { "firstName": "Sophia", "middleName": "Anne", "surName": "Owen" } }')['customerName'], 'middleName')

Вот текущий объект JSON:

{
   "customerName": {
      "firstName": "Sophia",
      "middleName": "Anne",
      "surName": "Owen"
   }
}

Вот обновленный объект JSON:

{
   "customerName": {
      "firstName": "Sophia",
      "surName": "Owen"
   }
}

заменить

Заменяет подстроку указанной строкой и возвращает полученную строку. Эта функция чувствительна к регистру.

replace('<text>', '<oldText>', '<newText>')
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Строка, содержащая подстроку для замены
< oldText> Да Строка Заменяемая подстрока
< новыйтекст> Да Строка Строка для замены
Возвращаемое значение Тип Описание
< обновленный текст> Строка Обновленная строка после замены подстроки

Если подстрока не найдена, возвращает исходную строку.

Пример

Этот пример выполняет поиск подстроки "old" в строке "the old string" и заменяет "old" на "new":

replace('the old string', 'old', 'new')

Возвращается такой результат: "the new string"

результат

Возвращаются результаты действий верхнего уровня в рамках заданных действий, например For_each, Until или Scope. Функция result() принимает один параметр — название области — и возвращает массив с информацией из действий первого уровня этой области. Объекты действия включают в себя те же атрибуты, что возвращает функция actions(), например время начала и окончания действия, его состояние, входные и выходные данные, а также идентификаторы корреляции.

Примечание.

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

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

result('<scopedActionName>')
Параметр Обязательное поле Тип Описание
< scopedActionName> Да Строка Имя действия в пределах области, где вы хотите получить входные и выходные данные из действий этой области верхнего уровня.
Возвращаемое значение Тип Описание
< массив-объект> Объект массива Массив, содержащий массивы входных и выходных данных для каждого действия верхнего уровня в пределах указанной области.

Пример

Этот пример возвращает входные и выходные данные каждой итерации действия HTTP внутри цикла For_each с помощью функции result() в действии Compose:

{
   "actions": {
      "Compose": {
         "inputs": "@result('For_each')",
         "runAfter": {
            "For_each": [
               "Succeeded"
            ]
         },
         "type": "compose"
      },
      "For_each": {
         "actions": {
            "HTTP": {
               "inputs": {
                  "method": "GET",
                  "uri": "https://httpstat.us/200"
               },
               "runAfter": {},
               "type": "Http"
            }
         },
         "foreach": "@triggerBody()",
         "runAfter": {},
         "type": "Foreach"
      }
   }
}

Вот как может выглядеть пример возвращаемого массива, где внешний объект outputs содержит входные и выходные данные каждой итерации действий внутри действия For_each.

[
   {
      "name": "HTTP",
      "outputs": [
         {
            "name": "HTTP",
            "inputs": {
               "uri": "https://httpstat.us/200",
               "method": "GET"
            },
            "outputs": {
               "statusCode": 200,
               "headers": {
                   "X-AspNetMvc-Version": "5.1",
                   "Access-Control-Allow-Origin": "*",
                   "Cache-Control": "private",
                   "Date": "Tue, 20 Aug 2019 22:15:37 GMT",
                   "Set-Cookie": "ARRAffinity=0285cfbea9f2ee7",
                   "Server": "Microsoft-IIS/10.0",
                   "X-AspNet-Version": "4.0.30319",
                   "X-Powered-By": "ASP.NET",
                   "Content-Length": "0"
               },
               "startTime": "2019-08-20T22:15:37.6919631Z",
               "endTime": "2019-08-20T22:15:37.95762Z",
               "trackingId": "6bad3015-0444-4ccd-a971-cbb0c99a7.....",
               "clientTrackingId": "085863526764.....",
               "code": "OK",
               "status": "Succeeded"
            }
         },
         {
            "name": "HTTP",
            "inputs": {
               "uri": "https://httpstat.us/200",
               "method": "GET"
            },
            "outputs": {
            "statusCode": 200,
               "headers": {
                   "X-AspNetMvc-Version": "5.1",
                   "Access-Control-Allow-Origin": "*",
                   "Cache-Control": "private",
                   "Date": "Tue, 20 Aug 2019 22:15:37 GMT",
                   "Set-Cookie": "ARRAffinity=0285cfbea9f2ee7",
                   "Server": "Microsoft-IIS/10.0",
                   "X-AspNet-Version": "4.0.30319",
                   "X-Powered-By": "ASP.NET",
                   "Content-Length": "0"
               },
               "startTime": "2019-08-20T22:15:37.6919631Z",
               "endTime": "2019-08-20T22:15:37.95762Z",
               "trackingId": "9987e889-981b-41c5-aa27-f3e0e59bf69.....",
               "clientTrackingId": "085863526764.....",
               "code": "OK",
               "status": "Succeeded"
            }
         }
      ]
   }
]

обратный

Измените порядок элементов в коллекции. При использовании этой функции с сортировкой()можно сортировать коллекцию в порядке убывания.

reverse([<collection>])
Параметр Обязательное поле Тип Описание
< коллекция> Да Массив Коллекция для обратного изменения
Возвращаемое значение Тип Описание
[<обновленная коллекция>] Массив Инвертированная коллекция

Пример

В этом примере выполняется обратный массив целых чисел:

reverse(createArray(0, 1, 2, 3))

И возвращает этот массив: [3,2,1,0]

С

установитьСвойство

Задает значение свойства объекта JSON и возвращает обновленный объект. Если свойство, которое вы пытаетесь задать, не существует, свойство добавляется в объект. Чтобы добавить новое свойство, используйте функцию addProperty().

setProperty(<object>, '<property>', <value>)
Параметр Обязательное поле Тип Описание
< объект> Да Объект Объект JSON, свойство которого вы хотите установить.
< свойство> Да Строка Имя существующего или нового задаваемого свойства
< значение> Да Любое Значение, задаваемое для указанного свойства

Чтобы задать дочернее свойство в дочернем объекте, используйте вместо него вложенный вызов setProperty(). В противном случае функция возвращает только дочерний объект в качестве выходных данных.

setProperty(<object>, '<parent-property>', setProperty(<object>['parentProperty'], '<child-property>', <value>))
Параметр Обязательное поле Тип Описание
< объект> Да Объект Объект JSON, свойство которого вы хотите установить.
< родительское свойство> Да Строка Имя родительского свойства с дочерним свойством, которое нужно установить
< дочерняя собственность> Да Строка Имя свойства дочернего объекта, которое нужно задать
< значение> Да Любое Значение, задаваемое для указанного свойства
Возвращаемое значение Тип Описание
< обновленный_объект> Объект Обновленный объект JSON, свойство которого задается

Пример 1

В этом примере свойство surName задается в объекте JSON, который преобразуется из строки в JSON с помощью функции JSON(). Функция присваивает указанное значение новому свойству и возвращает обновленный объект:

setProperty(json('{ "firstName": "Sophia", "surName": "Owen" }'), 'surName', 'Hartnett')

Вот текущий объект JSON:

{
   "firstName": "Sophia",
   "surName": "Owen"
}

Вот обновленный объект JSON:

{
   "firstName": "Sophia",
   "surName": "Hartnett"
}

Пример 2

В этом примере дочернее свойство surName задается для родительского свойства customerName в объекте JSON, который преобразуется из строки в JSON с помощью функции JSON(). Функция присваивает указанное значение новому свойству и возвращает обновленный объект:

setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }'), 'customerName', setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }')['customerName'], 'surName', 'Hartnett'))

Вот текущий объект JSON:

{
   "customerName": {
      "firstName": "Sophie",
      "surName": "Owen"
   }
}

Вот обновленный объект JSON:

{
   "customerName": {
      "firstName": "Sophie",
      "surName": "Hartnett"
   }
}

пропустить

Удаляет элементы из начала коллекции и возвращает все другие элементы.

skip([<collection>], <count>)
Параметр Обязательное поле Тип Описание
< коллекция> Да Массив Коллекция, элементы которой требуется удалить
< считать> Да Целое число Положительное целое число для количества элементов, которые требуется удалить в начале
Возвращаемое значение Тип Описание
[<обновленная коллекция>] Массив Обновленная коллекция после удаления указанных элементов.

Пример

В этом примере удаляется один элемент, число 0, в начале указанного массива:

skip(createArray(0, 1, 2, 3), 1)

И возвращает этот массив с оставшимися элементами: [1,2,3]

ломтик

Возвращает подстроку, указывая начальную и конечную позицию или значение. См. также substring().

slice('<text>', <startIndex>, <endIndex>?)
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Строка, содержащая подстроку для поиска
< startIndex> Да Целое число Отсчитываемое от нуля начальное положение или значение для начала поиска подстроки

- Если значение startIndex больше длины строки, возвращается пустая строка.

- Если startIndex имеет отрицательное значение, начните поиск по значению индекса, которое является суммой длины строки и startIndex.
< endIndex> Нет Целое число Отсчитываемое от нуля конечное положение или значение, по которому заканчивается поиск подстроки. Символ, расположенный в конце значения индекса, не включается в поиск.

- Если endIndex не указан или больше длины строки, выполните поиск до конца строки.

- Если endIndex является отрицательным, завершите поиск по значению индекса, равному сумме длины строки и endIndex.
Возвращаемое значение Тип Описание
< срез-результат> Строка Новая строка, содержащая найденную подстроку

Примеры

slice('Hello World', 2) // Returns 'llo World'.
slice('Hello World', 30) // Returns ''.
slice('Hello World', 10, 2) // Returns ''.
slice('Hello World', 0) // Returns 'Hello World'.
slice('Hello World', 2, 5) // Returns 'llo'.
slice('Hello World', 6, 20) // Returns 'World'.
slice('Hello World', -2) // Returns 'ld'.
slice('Hello World', 3, -1) // Returns 'lo Worl'.
slice('Hello World', 3, 3) // Returns ''.

сортировка

Сортировка элементов в коллекции. Объекты коллекции можно сортировать с помощью любого ключа, содержащего простой тип.

sort([<collection>], <sortBy>?)
Параметр Обязательное поле Тип Описание
< коллекция> Да Массив Коллекция с элементами для сортировки
< sortBy> Нет Строка Ключ, используемый для сортировки объектов коллекции
Возвращаемое значение Тип Описание
[<обновленная коллекция>] Массив Отсортированная коллекция

Пример 1

В этом примере выполняется сортировка массива целых чисел:

sort(createArray(2, 1, 0, 3))

И возвращает этот массив: [0,1,2,3]

Пример 2

В этом примере выполняется сортировка массива объектов по ключу:

sort(createArray(json('{ "first": "Amalie", "last": "Rose" }'), json('{ "first": "Elise", "last": "Renee" }')), 'last')

И возвращает этот массив: [{ "first": "Elise", "last": "Renee" }, {"first": "Amalie", "last": "Rose" }')]

разделение

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

split('<text>', '<delimiter>')
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Строка для разделения на подстроки в зависимости от указанного разделителя в исходной строке
< разделитель> Да Строка Символ в исходной строке для использования в качестве разделителя
Возвращаемое значение Тип Описание
[<подстрока1,подстрока2>><,...] Массив Массив, содержащий подстроки из исходной строки, разделенные запятыми

Пример 1

В этом примере создается массив подстрок из указанной строки с использованием заданного символа в качестве разделителя.

split('a_b_c', '_')

В результате возвращается такой массив: ["a","b","c"].

Пример 2

В этом примере создается массив с одним элементом, если в строке нет разделителя:

split('a_b_c', ' ')

В результате возвращается такой массив: ["a_b_c"].

начало дня

Возвращает начало дня для метки времени.

startOfDay('<timestamp>', '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< обновленная_метка_времени> Строка Указанная метка времени, которая начинается с нулевого часа дня

Пример

Этот пример находит начало дня для этой временной метки.

startOfDay('2018-03-15T13:30:30Z')

Возвращается такой результат: "2018-03-15T00:00:00.0000000Z"

начало часа

Возвращает начало часа для метки времени.

startOfHour('<timestamp>', '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< обновленная_метка_времени> Строка Указанная метка времени, которая начинается с нулевой минуты часа

Пример

Этот пример находит начало часа для этой временной метки.

startOfHour('2018-03-15T13:30:30Z')

Возвращается такой результат: "2018-03-15T13:00:00.0000000Z"

начало месяца

Возвращает начало месяца для метки времени.

startOfMonth('<timestamp>', '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< обновленная_метка_времени> Строка Указанная метка времени, но начиная с нулевого часа первого дня месяца

Пример 1

Этот пример возвращает начало месяца для этой временной метки:

startOfMonth('2018-03-15T13:30:30Z')

Возвращается такой результат: "2018-03-01T00:00:00.0000000Z"

Пример 2

Этот пример возвращает начало месяца в указанном формате для этой отметки времени:

startOfMonth('2018-03-15T13:30:30Z', 'yyyy-MM-dd')

Возвращается такой результат: "2018-03-01"

начинается с

Проверяет, начинается ли строка с определенной подстроки. Возвращает true, если подстрока найдена, или возвращает false, если нет. Эта функция не учитывает регистр.

startsWith('<text>', '<searchText>')
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Проверяемая строка
< searchText> Да Строка Начальная строка для поиска
Возвращаемое значение Тип Описание
истина или ложь Логический Возвращает значение true при обнаружении начальной подстроки. Возвращает false, если не найдено.

Пример 1

В этом примере проверяется, начинается ли строка "hello world" подстрокой "hello":

startsWith('hello world', 'hello')

Возвращается такой результат: true

Пример 2

В этом примере проверяется, начинается ли строка "hello world" подстрокой "greetings":

startsWith('hello world', 'greetings')

Возвращается такой результат: false

строка

Возвращает строковую версию значения.

string(<value>)
Параметр Обязательное поле Тип Описание
< значение> Да Любое Преобразуемое значение . Если значение равно NULL или оценивается как NULL, то оно преобразуется в пустую строку ("").



Например, если присвоить переменную строки к несуществующему свойству, к которому можно получить доступ через оператор ?, то значение NULL будет преобразовано в пустую строку. При этом сравнение со значением NULL отличается от сравнения с пустой строкой.
Возвращаемое значение Тип Описание
< строковое значение> Строка Версия строки для указанного значения. Если параметр value NULL или оценивается как NULL, то значение возвращается в виде пустой строки ("").

Пример 1

В этом примере создается строковая версия для этого числа:

string(10)

Возвращается такой результат: "10"

Пример 2

В этом примере создается строка для указанного объекта JSON и используется символ обратной косой черты (\) в качестве escape-символа для двойных кавычек (").

string( { "name": "Sophie Owen" } )

Возвращается такой результат: "{ \\"name\\": \\"Sophie Owen\\" }"

дочерний объект

Вычитает второе число из первого числа и возвращает результат.

sub(<minuend>, <subtrahend>)
Параметр Обязательное поле Тип Описание
< уменьшаемое> Да Целое число и число с плавающей запятой Число, из которого вычитается вычитаемое
< вычитаемое> Да Целое число и число с плавающей запятой Число, которое вычитается из уменьшаемого
Возвращаемое значение Тип Описание
< результат> Целое число и число с плавающей запятой Результат вычитания второго числа из первого числа

Пример

В этом примере из первого числа вычитается второе число:

sub(10.3, .3)

Возвращается такой результат: 10

подстрока

Возвращает символы из строки, начиная с указанной позиции или индекса. Значения индекса начинаются с числа 0. См. также slice().

substring('<text>', <startIndex>, <length>)
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Строка, символы которой требуется получить
< startIndex> Да Целое число Положительное число, равное или больше нуля, которое следует использовать как начальную позицию или значение индекса.
< длина> Нет Целое число Положительное число символов, которое вы хотите в подстроке

Примечание.

Убедитесь, что сумма значений параметров startIndex и length меньше, чем длина строки, которую вы предоставляете для параметра text. В противном случае возникнет ошибка. Похожие функции в других языках ведут себя по-другому — в них результатом является подстрока из startIndex до конца строки. Параметр length необязательный. Если он не указан, функция substring () принимает все символы, начиная от startIndex и до конца строки.

Возвращаемое значение Тип Описание
< результат подстроки> Строка Подстрока с указанным количеством символов, начиная с указанной позиции индекса в исходной строке

Пример

В этом примере создается пятисимвольная подстрока из указанной строки, начиная со значения индекса 6:

substring('hello world', 6, 5)

Возвращается такой результат: "world"

subtractFromTime

Вычитает количество единиц времени из метки времени. См. раздел getPastTime.

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка, содержащая метку времени
< интервал> Да Целое число Число указанных единиц времени для вычитания
< timeUnit> Да Строка Единицы времени для использования с интервалом: "секунда", "минута", "час", "день", "неделя", "месяц", "год"
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< обновленная_метка_времени> Строка Метка времени, от которой отнято указанное число единиц времени

Пример 1

В этом примере от этой метки времени отнимается один день.

subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day')

Возвращается такой результат: "2018-01-01T00:00:00.0000000Z"

Пример 2

В этом примере от этой метки времени отнимается один день.

subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day', 'D')

И возвращается результат с использованием необязательного формата "D": "Monday, January, 1, 2018"

Т

взять

Возвращает элементы, расположенные в начале коллекции.

take('<collection>', <count>)
take([<collection>], <count>)
Параметр Обязательное поле Тип Описание
< коллекция> Да Строка или массив Коллекция, элементы которой вы хотите
< считать> Да Целое число Положительное целое число для количества элементов, которые вы хотите с начала.
Возвращаемое значение Тип Описание
< subset> или [<subset>] Строка или массив соответственно Строка или массив, который содержит заданное число элементов, взятых из первой части исходной коллекции

Пример

Эти примеры получают указанное количество элементов из первой части этих коллекций:

take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)

Верните эти результаты:

  • Первый пример: "abc".
  • Второй пример: [0, 1, 2].

клещи

Возвращает число тактов, являющихся 100-наносекундными интервалами, начиная с полуночи 1 января 0001 00:00:00 (или DateTime.Ticks в C#) вплоть до указанной метки времени. Дополнительные сведения см. в этой статье: DateTime.Ticks Property (System).

ticks('<timestamp>')
Параметр Обязательное поле Тип Описание
< Временная метка> Да Строка Строка для метки времени
Возвращаемое значение Тип Описание
< число тактов> Целое число Число тактов с указанной метки времени

toLower

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

toLower('<text>')
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Строка, которую нужно вернуть в нижнем регистре.
Возвращаемое значение Тип Описание
< текст в нижнем регистре> Строка Исходная строка в нижнем регистре

Пример

В этом примере эта строка преобразуется в нижний регистр:

toLower('Hello World')

Возвращается такой результат: "hello world"

кВерхнему

Возвращает строку символов в верхнем регистре. Если символ в строке не имеет версии в верхнем регистре, он добавляется в возвращаемую строку без изменений.

toUpper('<text>')
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Строка, возвращаемая в верхнем регистре
Возвращаемое значение Тип Описание
< текст в верхнем регистре> Строка Исходная строка в верхнем регистре

Пример

В этом примере эта строка преобразуется в верхний регистр:

toUpper('Hello World')

Возвращается такой результат: "HELLO WORLD"

триггер

Возвращает выходные данные триггера во время выполнения или значение из других пар "имя — значение" JSON, которые вы можете назначить выражению.

  • Внутри входных данных триггера функция возвращает выходные данные предыдущего выполнения.

  • Внутри условий триггера функция возвращает выходные данные текущего выполнения.

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

trigger()
Возвращаемое значение Тип Описание
< выходные данные триггера> Строка Выходные данные из триггера во время выполнения

triggerBody

Возвращает выходные данные body триггера во время выполнения. Сокращение для trigger().outputs.body. См. раздел trigger().

triggerBody()
Возвращаемое значение Тип Описание
< выходные данные триггерного тела> Строка Выходные данные body из триггера

triggerFormDataMultiValues

Возвращает массив значений, которые соответствуют имени ключа в выходных данных form-data или form-encoded триггера.

triggerFormDataMultiValues('<key>')
Параметр Обязательное поле Тип Описание
< ключ> Да Строка Имя ключа, значение которого нужно получить
Возвращаемое значение Тип Описание
[<массив_со_значениями_ключа>] Массив Массив со всеми значениями, которые соответствуют заданному ключу

Пример

В этом примере создается массив из значения ключа "feedUrl" в выходных данных триггера RSS, которые представлены в form-data или закодированы в форму.

triggerFormDataMultiValues('feedUrl')

Возвращается этот массив в качестве примера: ["https://feeds.a.dj.com/rss/RSSMarketsMain.xml"]

triggerFormDataValue

Возвращает строку с одним значением, которое соответствует имени ключа в выходных данных form-data или form-encoded триггера. Если функция обнаруживает более одного совпадения, она выдает ошибку.

triggerFormDataValue('<key>')
Параметр Обязательное поле Тип Описание
< ключ> Да Строка Имя ключа, значение которого нужно получить
Возвращаемое значение Тип Описание
< значение ключа> Строка Значение в указанном ключе

Пример

В этом примере создаётся строка из значения ключа "feedUrl" в выходных данных form-data или закодированных форм триггера RSS.

triggerFormDataValue('feedUrl')

Эта строка возвращается как пример результата: "https://feeds.a.dj.com/rss/RSSMarketsMain.xml"

triggerMultipartBody

Возвращает текст указанной части выходных данных триггера, которые состоят из нескольких частей.

triggerMultipartBody(<index>)
Параметр Обязательное поле Тип Описание
< индекс> Да Целое число Значение индекса необходимой части
Возвращаемое значение Тип Описание
< текст> Строка Текст указанной части выходных данных триггера, которые состоят из нескольких частей

triggerOutputs

Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. Сокращение для trigger().outputs. См. раздел trigger().

triggerOutputs()
Возвращаемое значение Тип Описание
< выходные данные триггера> Строка Выходные данные из триггера во время выполнения

подрезать

Удаляет все начальные и конечные пробелы и возвращает обновленную строку.

trim('<text>')
Параметр Обязательное поле Тип Описание
< СМС> Да Строка Строка с начальными и конечными пробелами, которые нужно удалить
Возвращаемое значение Тип Описание
< обновленный текст> Строка Обновленная версия исходной строки без начальных и конечных пробелов

Пример

В этом примере удаляются начальные и конечные пробелы из строки " Hello World ".

trim(' Hello World  ')

Возвращается такой результат: "Hello World"

У

союз

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

union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
Параметр Обязательное поле Тип Описание
< коллекция1>, <коллекция2>, ... Да Массив или объект, но не оба Коллекции, из которых вы хотите получить все элементы
Возвращаемое значение Тип Описание
< обновленная коллекция> Массив или объект соответственно Коллекция, которая содержит все элементы из указанных коллекций, без повторений

Пример

В этом примере извлекаются все элементы из коллекций:

union(createArray(1, 2, 3), createArray(1, 2, 10, 101))

Возвращается такой результат: [1, 2, 3, 10, 101]

компонент URI

Возвращает кодированную версию URI для строки, заменив символы, опасные для URL-адреса, на escape-символы. Используйте эту функцию вместо encodeUriComponent(). Хотя обе функции работают одинаково, uriComponent() является предпочтительной.

uriComponent('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка для преобразования в формат закодированного URI
Возвращаемое значение Тип Описание
< закодированный URI> Строка Строка с закодированным URI, содержащая escape-символы

Пример

В этом примере создается версия с закодированным URI для этой строки:

uriComponent('https://contoso.com')

Возвращается такой результат: "https%3A%2F%2Fcontoso.com"

uriComponentToBinary

Возвращает двоичную версию компонента URI.

uriComponentToBinary('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка, закодированная в формате URI, для преобразования
Возвращаемое значение Тип Описание
< двоичная версия закодированного URI> Строка Двоичная версия строки с закодированным URI. Двоичное содержимое закодировано в формате base64 и представлено с помощью $content.

Пример

В этом примере создается двоичная версия для этой строки с закодированным URI:

uriComponentToBinary('https%3A%2F%2Fcontoso.com')

И возвращает следующий результат:

"001000100110100001110100011101000111000000100101001100 11010000010010010100110010010001100010010100110010010001 10011000110110111101101110011101000110111101110011011011 110010111001100011011011110110110100100010"

Преобразовать компонент URI в строку

Возвращает строковую версию URI-кодированной строки, эффективно декодируя эту URI-кодированную строку.

uriComponentToString('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка, закодированная в формате URI, для декодирования
Возвращаемое значение Тип Описание
< декодированный URI> Строка Декодированная версия строки с закодированным URI

Пример

В этом примере создается декодированная версия строки с закодированным URI:

uriComponentToString('https%3A%2F%2Fcontoso.com')

Возвращается такой результат: "https://contoso.com"

URI-хост

Верните значение host для унифицированного указателя ресурса (URI).

uriHost('<uri>')
Параметр Обязательное поле Тип Описание
< ури> Да Строка URI, значение host которого вы хотите получить
Возвращаемое значение Тип Описание
< значение хоста> Строка Значение host для указанного URI.

Пример

В этом примере выполняется поиск значения host для этого URI:

uriHost('https://www.localhost.com:8080')

Возвращается такой результат: "www.localhost.com"

uriPath

Верните значение path для унифицированного указателя ресурса (URI).

uriPath('<uri>')
Параметр Обязательное поле Тип Описание
< ури> Да Строка URI, значение path которого вы хотите получить
Возвращаемое значение Тип Описание
< значение пути> Строка Значение path для указанного URI. Если path не имеет значения, вернется символ "/".

Пример

В этом примере выполняется поиск значения path для этого URI:

uriPath('https://www.contoso.com/catalog/shownew.htm?date=today')

Возвращается такой результат: "/catalog/shownew.htm"

uriPathAndQuery

Возвращает значения path и query для URI.

uriPathAndQuery('<uri>')
Параметр Обязательное поле Тип Описание
< ури> Да Строка URI, значения path и query которого требуется извлечь
Возвращаемое значение Тип Описание
< значение запроса пути> Строка Значения path и query для указанного URI. Если path не указывает значение, вернется символ "/".

Пример

В этом примере выполняется поиск значения path и query для этого URI:

uriPathAndQuery('https://www.contoso.com/catalog/shownew.htm?date=today')

Возвращается такой результат: "/catalog/shownew.htm?date=today"

uriPort

Верните значение port для унифицированного указателя ресурса (URI).

uriPort('<uri>')
Параметр Обязательное поле Тип Описание
< ури> Да Строка URI, значение port которого вы хотите получить
Возвращаемое значение Тип Описание
< значение порта> Целое число Значение port для указанного URI. Если port не указывает значение, возвращается порт по умолчанию для протокола.

Пример

В этом примере возвращается значение port для этого URI:

uriPort('https://www.localhost:8080')

Возвращается такой результат: 8080

uriQuery

Верните значение query для унифицированного указателя ресурса (URI).

uriQuery('<uri>')
Параметр Обязательное поле Тип Описание
< ури> Да Строка URI, значение query которого вы хотите получить
Возвращаемое значение Тип Описание
< значение запроса> Строка Значение query для указанного URI.

Пример

В этом примере возвращается значение query для этого URI:

uriQuery('https://www.contoso.com/catalog/shownew.htm?date=today')

Возвращается такой результат: "?date=today"

uriScheme

Верните значение scheme для унифицированного указателя ресурса (URI).

uriScheme('<uri>')
Параметр Обязательное поле Тип Описание
< ури> Да Строка URI, значение scheme которого вы хотите получить
Возвращаемое значение Тип Описание
< значение схемы> Строка Значение scheme для указанного URI.

Пример

В этом примере возвращается значение scheme для этого URI:

uriScheme('https://www.contoso.com/catalog/shownew.htm?date=today')

Возвращается такой результат: "http"

UTCNow

Возвращает текущую метку времени.

utcNow('<format>')

Кроме того, можно указать другой формат с помощью параметра <format>.

Параметр Обязательное поле Тип Описание
< формат> Нет Строка Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС.fffffffK), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Тип Описание
< текущая метка времени> Строка Текущая дата и время

Пример 1

Предположим, сейчас 13:00:00 15 апреля 2018 года. Пример демонстрирует получение текущей метки времени:

utcNow()

Возвращается такой результат: "2018-04-15T13:00:00.0000000Z"

Пример 2

Предположим, сейчас 13:00:00 15 апреля 2018 года. В этом примере возвращается текущая метка времени с использованием необязательного формата "D":

utcNow('D')

Возвращается такой результат: "Sunday, April 15, 2018"

В

переменные

Возвращает значение для указанной переменной.

variables('<variableName>')
Параметр Обязательное поле Тип Описание
< имя_переменной> Да Строка Имя переменной, значение которой нужно получить
Возвращаемое значение Тип Описание
< значение переменной> Любое Значение указанной переменной

Пример

Предположим, что текущее значение для переменной "numItems" — 20. В этом примере извлекается целочисленное значение этой переменной:

variables('numItems')

Возвращается такой результат: 20

Ср

рабочий процесс

Возвращает все сведения о самом рабочем процессе во время выполнения.

workflow().<property>
Параметр Обязательное поле Тип Описание
< свойство> Нет Строка Имя свойства рабочего процесса, значение которого требуется



По умолчанию объект рабочего процесса имеет следующие свойства: name, type, id, location, run и tags.



– Значение свойства run — это объект JSON, который включает следующие свойства: name, type и id.



– Свойство tags — это объект JSON, который включает теги, связанные с приложением логики, в Azure Logic Apps или поток в Power Automate, а также значения этих тегов. Дополнительные сведения о тегах в ресурсах Azure см. в статье Ресурсы тегов, группы ресурсов и подписки для логической организации в Azure.



Примечание. По умолчанию приложение логики не имеет тегов, но в потоке Power Automate есть теги flowDisplayName и environmentName.

Пример 1

В этом примере возвращается имя текущего выполнения рабочего процесса:

workflow().run.name

Пример 2

В Power Automate можно создать выражение @workflow(), которое использует свойство выходных данных tags, чтобы получать значение из свойств потока flowDisplayName или environmentName.

Например, вы можете отправлять пользовательские уведомления по электронной почте из самого потока, которые ссылаются на ваш поток. Эти уведомления могут включать ссылку HTML, которая содержит отображаемое имя потока в заголовке письма и соответствует следующему синтаксису:

<a href=https://flow.microsoft.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/details>Open flow @{workflow()['tags']['flowDisplayName']}</a>

X

XML

Возвращает версию XML строки, которая содержит объект JSON.

xml('<value>')
Параметр Обязательное поле Тип Описание
< значение> Да Строка Строка с объектом JSON для преобразования

Объект JSON должен содержать только одно корневое свойство, которое не может быть массивом.
Используйте обратную косую черту (\) как экранирующий символ для двойных кавычек (").
Возвращаемое значение Тип Описание
< версия XML> Объект Закодированный XML для заданной строки или объекта JSON

Пример 1

В этом примере строка преобразуется в XML:

xml('<name>Sophia Owen</name>')

Возвращается следующий результат XML:

<name>Sophia Owen</name>

Пример 2

В этом примере создается версия XML для этой строки, которая содержит объект JSON:

xml(json('{ "name": "Sophia Owen" }'))

Возвращается следующий результат XML:

<name>Sophia Owen</name>

Пример 3

Предположим, что у вас есть этот объект JSON:

{
  "person": {
    "name": "Sophia Owen",
    "city": "Seattle"
  }
}

В этом примере создается XML для строки, содержащей этот объект JSON:

xml(json('{"person": {"name": "Sophia Owen", "city": "Seattle"}}'))

Возвращается следующий результат XML:

<person>
  <name>Sophia Owen</name>
  <city>Seattle</city>
<person>

XPath

Проверяет XML на наличие узлов или значений, которые соответствуют выражению XPath, и возвращает соответствующие узлы или значения. Выражение XPath (или просто "XPath") помогает перемещаться по структуре документа XML, чтобы вы могли выбирать узлы или вычислять значения в содержимом XML.

Примечание.

В приложениях логики "Потребление" и "Стандартный" все выражения функций используют библиотеку .NET XPath. Выражения XPath совместимы с базовой библиотекой .NET и поддерживают только выражение, поддерживаемое базовой библиотекой .NET.

xpath('<xml>', '<xpath>')
Параметр Обязательное поле Тип Описание
< XML> Да Любое Строка XML для поиска узлов и значений, которые соответствуют значению выражения XPath
< XPath> Да Любое Выражение XPath, используемое для поиска соответствующих узлов или значений XML
Возвращаемое значение Тип Описание
< узел XML> XML Узел XML, где только один узел соответствует указанному выражению XPath
< значение> Любое Значение из узла XML, где только одно значение соответствует указанному выражению XPath
[<xml-node1>, <xml-node2>, ...] -или- [<значение1>, <значение2>, ...] Массив Массив с узлами XML или значениями, которые соответствуют указанному выражению XPath

Пример 1

Предположим, что у вас есть следующая строка XML 'items':

<?xml version="1.0"?>
<produce>
  <item>
    <name>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

В этом примере передается выражение XPath '/produce/item/name/text()', чтобы найти узлы, соответствующие узлу <name></name> в строке XML 'items', а затем возвращается массив со значениями узла:

xpath(xml(parameters('items')), '/produce/item/name/text()')

Здесь также используется функция parameters(), с помощью которой строка передается из 'items', а также функция xml(), которая преобразует строку в формат XML.

Вот массив результатов, заполненный значениями узлов, которые соответствуют <name></name>:

[ Gala, Honeycrisp ]

Пример 2

За основу взять пример 1. Здесь передается выражение XPath '/produce/item/name[1]', чтобы найти первый элемент name, который является дочерним для item.

xpath(xml(parameters('items')), '/produce/item/name[1]')

Ниже приведен результат: Gala

Пример 3

Следуя примеру 1, в этом примере используется выражение XPath '/produce/item/name[last()]', чтобы найти последний элемент name, который является дочерним для элемента item.

xpath(xml(parameters('items')), '/produce/item/name[last()]')

Ниже приведен результат: Honeycrisp

Пример 4

Предположим, что строка XML items также содержит атрибуты expired='true' и expired='false':

<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name expired='false'>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

В этом примере передается выражение XPath '//name[@expired]', чтобы найти все элементы name с атрибутом expired:

xpath(xml(parameters('items')), '//name[@expired]')

Ниже приведен результат: [ Gala, Honeycrisp ]

Пример 5

Предположим, что строка XML items содержит только атрибут expired = 'true':

<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

В этом примере передается выражение XPath '//name[@expired = 'true']', чтобы найти все элементы name с атрибутом expired = 'true':

xpath(xml(parameters('items')), '//name[@expired = 'true']')

Ниже приведен результат: [ Gala ]

Пример 6

Предположим, что строка XML items также содержит следующие атрибуты:

  • expired='true' price='12'
  • expired='false' price='40'
<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true' price='12'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name expired='false' price='40'>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

В этом примере передается выражение XPath '//name[@price>35]', чтобы найти все элементы name с атрибутом price > 35:

xpath(xml(parameters('items')), '//name[@price>35]')

Ниже приведен результат: Honeycrisp

Пример 7

Предположим, что строка XML items та же, что и в примере 1:

<?xml version="1.0"?>
<produce>
  <item>
    <name>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

В этом примере находятся узлы, которые соответствуют узлу <count></count>, а их значения передаются с помощью функции sum():

xpath(xml(parameters('items')), 'sum(/produce/item/count)')

Ниже приведен результат: 30

Пример 8

Предположим, что в этом примере у вас есть строка XML, которая включает пространство имен XML документа xmlns="https://contoso.com":

<?xml version="1.0"?><file xmlns="https://contoso.com"><location>Paris</location></file>

Эти выражения используют выражение XPath /*[name()="file"]/*[name()="location"] или /*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"], чтобы найти узлы, соответствующие узлу <location></location>. В этих примерах показан синтаксис, который используется в конструкторе или в редакторе выражений:

  • xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')
  • xpath(xml(body('Http')), '/*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"]')

Ниже приведен узел, соответствующий узлу <location></location>:

<location xmlns="https://contoso.com">Paris</location>

Внимание

Если вы работаете в режиме кода, экранируйте двойные кавычки (") обратной косой чертой (\). Например, при сериализации выражения в виде строки JSON необходимо использовать escape-символы. Тем не менее, если вы работаете в конструкторе или редакторе выражений, не нужно экранировать двойные кавычки, поскольку символ обратной косой черты добавляется в определениях автоматически.

  • Представление кода: xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')

  • Редактор выражений: xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')

Пример 9

За основу взят пример 8. Здесь используется выражение XPath 'string(/*[name()="file"]/*[name()="location"])', чтобы найти значение узла <location></location>:

xpath(xml(body('Http')), 'string(/*[name()="file"]/*[name()="location"])')

Ниже приведен результат: Paris

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

Дополнительные сведения о языке определения рабочего процесса.