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


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

Применяется к: Azure Logic Apps (Расход + Стандарт)

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

Note

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

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

Task Синтаксис функции Result
Возвращает строку в нижнем регистре. toLower ('<текст'>)

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

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

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

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

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

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

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

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

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

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

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

Функции коллекции

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

Функция коллекции Task
chunk Разделить строку или коллекцию на блоки равной длины.
contains Проверьте, имеет ли коллекция определенный элемент.
empty Проверьте, пуста ли коллекция.
first Верните первый элемент из коллекции.
intersection Возвращает коллекцию, содержащую только общие элементы в указанных коллекциях.
item Если эта функция появляется внутри повторяющегося действия в массиве, она возвращает текущий элемент массива во время текущей итерации действия.
join Возвращает строку, которая содержит все элементы из массива, разделенные указанным символом.
last Возвращает последний элемент из коллекции.
length Возвращает количество элементов в строке или массиве.
reverse Измените порядок элементов в массиве.
skip Удаляет элементы из начала коллекции и возвращает все остальные элементы.
sort Сортировка элементов в коллекции.
take Возвращает элементы, расположенные в начале коллекции.
union Возвращает коллекцию, которая содержит все элементы из указанных коллекций.

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

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

Note

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

Функция логического сравнения Task
and Проверьте, являются ли все выражения истинными.
equals Проверьте, эквивалентны ли оба значения.
greater Проверяет, является ли первое значение большим, чем второе.
greaterOrEquals Проверяет, является ли первое значение большим, чем второе, или равным ему.
if Проверьте, какое значение имеет выражение: true или false. В зависимости от результата возвращается указанное значение.
isFloat Возвращает логическое значение, указывающее, является ли строка числом с плавающей запятой.
isInt Возвращает булево значение, которое указывает, является ли строка целым числом.
less Проверяет, является ли первое значение меньшим, чем второе.
lessOrEquals Проверяет, является ли первое значение меньшим, чем второе, или равным ему.
not Проверьте, является ли выражение ложным.
or Проверьте, является ли по крайней мере одно выражение истинным.

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

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

Note

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

Функция преобразования Task
array Возвращает массив из одного указанного входного значения. Для нескольких входных данных см. createArray.
base64 Возвращает версию в кодировке Base64 для строки.
base64ToBinary Возвращает двоичную версию строки с кодировкой base64.
base64ToString Возвращает строковую версию строки с кодировкой base64.
binary Возвращает двоичную версию входного значения.
bool Возвращает логическую версию входного значения.
createArray Возвращает массив из нескольких входных данных.
dataUri Возвращает URI данных для входного значения.
dataUriToBinary Верните двоичную версию для URI-данных.
dataUriToString Возвращает строковую версию URI данных.
decimal Возвращает десятичное число для десятичной строки.
decodeBase64 Возвращает строковую версию строки с кодировкой base64.
decodeDataUri Верните двоичную версию для URI-данных.
decodeUriComponent Возвращает строку, в которой escape-символы заменяются на их декодированные версии.
encodeUriComponent Верните строку, в которой символы, небезопасные для URL-адреса, заменены экранирующими символами.
float Возвращает число с плавающей запятой для входного значения.
int Возвращает целочисленную версию строки.
json Возвращает значение типа нотации объектов JavaScript (JSON) или объект для строки или XML.
string Возвращает строковую версию входного значения.
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>)

Note

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

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

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

Математические функции Task
add Возвращает результат сложения двух чисел.
div Возвращает результат деления двух чисел.
max Возвращает наибольшее значение из набора чисел или массива.
min Возвращает наименьшее значение из набора чисел или массива.
mod Возвращает остаток результата деления двух чисел.
mul Возвращает результат умножения двух чисел.
rand Возвращает случайное целое число из указанного диапазона.
range Возвращает массив целых чисел, который начинается с заданного целого числа.
sub Возвращает результат вычитания второго числа из первого числа.

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

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

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

Функции рабочего процесса

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

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

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

Функция рабочего процесса Task
action Возвращает выходные данные текущего действия во время выполнения или значения из других пар "имя — значение" JSON. См. также действия.
actions Возвращает выходные данные действия во время выполнения или значения из других пар "имя — значение" JSON. См. также действие.
body Возвращает результат действия body во время выполнения.
formDataMultiValues Создайте массив со значениями, которые соответствуют имени ключа в выходных данных формы или в кодировке формы .
formDataValue Возвращает одно значение, соответствующее имени ключа в выходных данных формы или в кодированных формах действия.
item Если эта функция появляется внутри повторяющегося действия в массиве, она возвращает текущий элемент массива во время текущей итерации действия.
items Если эта функция появляется внутри цикла "Foreach" или "Until", она возвращает текущий элемент из указанного цикла.
iterationIndexes Если эта функция появляется в цикле "Until", она возвращает значение индекса для текущей итерации. Эту функцию можно использовать внутри вложенных циклов Until.
listCallbackUrl Возвращает URL-адрес обратного вызова, который вызывает триггер или действие.
multipartBody Возвращает текст указанной части выходных данных действия, которые состоят из нескольких частей.
outputs Возвращает результат действия во время выполнения.
parameters Возвращает значение параметра, описанного в определении вашего рабочего процесса.
result Возвращает входные и выходные данные для всех действий верхнего уровня внутри указанного действия с ограниченной областью, такого как For_each, Until и Scope.
trigger Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. См. также триггерOutputs и triggerBody.
triggerBody Возвращает выходные данные body триггера во время выполнения. См. триггер.
triggerFormDataValue Возвращает одно значение, соответствующее имени ключа в выходных данных формы или в кодировке формы .
triggerMultipartBody Возвращает текст указанной части выходных данных триггера, которые состоят из нескольких частей.
triggerFormDataMultiValues Создайте массив, значения которого соответствуют имени ключа в выходных данных формы или в кодировке формы .
triggerOutputs Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. См. триггер.
variables Возвращает значение для указанной переменной.
workflow Возвращает все сведения о самом рабочем процессе во время выполнения.

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

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

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

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

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

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

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

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

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

A

action

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

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

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

actions

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

Note

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

actions('<actionName>')
actions('<actionName>').outputs.body.<property>
Parameter Required Type Description
< actionName> Yes String Имя объекта действия, выходные данные которого требуется получить.
< свойство> No String Имя свойства объекта действия, значение которого необходимо: name, startTime, endTime, inputs, outputs, status, code, trackingId и clientTrackingId. На портале Azure вы можете найти эти свойства, просмотрев подробности в конкретном журнале выполнения. Дополнительные сведения см. в статье с действиями запуска рабочего процесса в REST API.
Возвращаемое значение Type Description
< действие-выход> Object Выходные данные объекта JSON из указанного действия или свойства

Example

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

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

И возвращает этот результат: "Succeeded"

add

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

add(<summand_1>, <summand_2>)
Parameter Required Type Description
< >summand_1, <summand_2> Yes Целое число, float или смешанное Числа, которые нужно сложить
Возвращаемое значение Type Description
< сумма результата> Целое число или число с плавающей запятой Результат сложения указанных чисел

Example

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

add(1, 1.5)

И возвращает этот результат: 2.5

addDays

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

addDays('<timestamp>', <days>, '<format>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< дней> Yes Integer Положительное или отрицательное количество дней для добавления
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

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

Пример 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

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

addHours('<timestamp>', <hours>, '<format>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< часов> Yes Integer Положительное или отрицательное количество часов для добавления
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

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

Пример 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

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

addMinutes('<timestamp>', <minutes>, '<format>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< минут> Yes Integer Число минут, которое нужно добавить, может быть положительным или отрицательным.
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Type Description
< обновленной метки времени> String Временная метка плюс указанное количество минут

Пример 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>)
Parameter Required Type Description
< объект> Yes Object Объект JSON, в который вы хотите добавить свойство
< свойство> Yes String Имя добавляемого свойства
< значение> Yes Any Значение для свойства
Возвращаемое значение Type Description
< обновленный объект> Object Обновленный объект JSON с указанным свойством

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

setProperty(<object>, '<parent-property>', addProperty(<object>['<parent-property>'], '<child-property>', <value>)
Parameter Required Type Description
< объект> Yes Object Объект JSON, в который вы хотите добавить свойство
< родительское свойство> Yes String Имя родительского свойства, в которое необходимо добавить дочернее свойство
< дочернее свойство> Yes String Имя дочернего свойства, которое нужно добавить
< значение> Yes Any Значение, задаваемое для указанного свойства
Возвращаемое значение Type Description
< обновленный объект> Object Обновленный объект 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

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

addSeconds('<timestamp>', <seconds>, '<format>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< секунды> Yes Integer Положительное или отрицательное число секунд для добавления
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Type Description
< обновленной метки времени> String Метка времени плюс указанное количество секунд

Пример 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>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< интервала> Yes Integer Количество заданных единиц времени, которые нужно добавить
< единица времени> Yes String Единица времени, используемая с интервалом ,: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

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

Пример 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"

and

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

and(<expression1>, <expression2>, ...)
Parameter Required Type Description
< выражение1>, <выражение2>, ... Yes Boolean Выражения, которые нужно проверить
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает значение 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.

array

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

array('<value>')
Parameter Required Type Description
< значение> Yes String Строка для создания массива
Возвращаемое значение Type Description
[<значение>] Array Массив, содержащий один экземпляр указанных входных данных

Example

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

array('hello')

И возвращает этот результат: ["hello"]

B

base64

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

Note

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

base64('<value>')
Parameter Required Type Description
< значение> Yes String Входная строка
Возвращаемое значение Type Description
< base64-струнный> String Версия строки входных данных с кодировкой base64

Example

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

base64('hello')

И возвращает этот результат: "aGVsbG8="

base64ToBinary

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

Note

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

base64ToBinary('<value>')
Parameter Required Type Description
< значение> Yes String Строка, закодированная в формате base64, для преобразования
Возвращаемое значение Type Description
< двоичный для строки 64 основания> String Двоичная версия строки в кодировке Base64

Example

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

base64ToBinary('aGVsbG8=')

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

base64ToString

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

Note

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

base64ToString('<value>')
Parameter Required Type Description
< значение> Yes String Строка в формате base64 для декодирования.
Возвращаемое значение Type Description
< декодированная строка в формате base64> String Строковое представление для строки, закодированной в Base64

Example

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

base64ToString('aGVsbG8=')

И возвращает этот результат: "hello"

binary

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

binary('<value>')
Parameter Required Type Description
< значение> Yes String Строка для преобразования
Возвращаемое значение Type Description
< двоичный-для-входного-значения> String Двоичная версия в кодировке base64 для указанной строки

Example

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

body

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

body('<actionName>')
Parameter Required Type Description
< actionName> Yes String Имя действия для требуемого результата body
Возвращаемое значение Type Description
< действие-тело-выход> String Выходные данные body указанного действия

Example

Этот пример получает выходные 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>)
Parameter Required Type Description
< значение> Yes Any Значение, которое необходимо преобразовать в логическое.

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

Возвращаемое значение Type Description
true или false Boolean Булевское значение указанного значения.

Outputs

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

Входное значение Type Возвращаемое значение
bool(1) Integer true
bool(0) Integer false
bool(-1) Integer true
bool('true') String true
bool('false') String false

C

chunk

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

chunk('<collection>', '<length>')
chunk([<collection>], '<length>')
Parameter Required Type Description
< коллекция> Yes Строка или массив Коллекция для разделения
< длину> Yes Длина каждого блока
Возвращаемое значение Type Description
< коллекция> Array Массив фрагментов с указанной длиной

Пример 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] ]

coalesce

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

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

Example

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

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

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

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

concat

Объедините две или несколько строк и верните объединенную строку.

concat('<text1>', '<text2>', ...)
Parameter Required Type Description
< text1>, <text2>, ... Yes String По крайней мере две строки для объединения
Возвращаемое значение Type Description
< text1text2...> String Строка, созданная из объединенных входных строк



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

Note

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

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

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

Example

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

concat('Hello', 'World')

И возвращает этот результат: "HelloWorld"

contains

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

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

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

  • Строка для поиска подстроки
  • Массив для поиска значения
  • Словарь для поиска ключа
Parameter Required Type Description
< коллекция> Yes Строка, массив или словарь Коллекция для проверки
< значение> Yes Строка, массив или словарь соответственно Элемент, который нужно найти
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает значение true при обнаружении элемента. Возвращает false, если не найдено.

Пример 1

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

contains('hello world', 'world')

Пример 2

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

contains('hello world', 'universe')

convertFromUtc

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

convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< часовой пояс назначения> Yes String Имя целевого часового пояса. Сведения об именах часовых поясов см. в разделе Часовые пояса Microsoft Windows по умолчанию.
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Type Description
< преобразованная метка времени> String Метка времени, преобразованная в целевой часовой пояс без учёта смещения 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>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< исходныйЧасовойПояс> Yes String Имя исходного часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания).
< часовой пояс назначения> Yes String Имя целевого часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания).
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

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

Пример 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>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< исходныйЧасовойПояс> Yes String Имя исходного часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания).
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Type Description
< преобразованная метка времени> String Метка времени, преобразованная в 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>', ...)
Parameter Required Type Description
< объект 1>, <объект 2>, ... Yes Любой, но не смешанный По крайней мере два элемента для создания массива
Возвращаемое значение Type Description
[<объект 1>, <объект 2>, ...] Array Массив, созданный из всех входных элементов

Example

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

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

И возвращает этот результат: ["h", "e", "l", "l", "o"]

D

dataUri

Возвращает универсальный идентификатор ресурса (URI) данных для строки.

dataUri('<value>')
Parameter Required Type Description
< значение> Yes String Строка для преобразования
Возвращаемое значение Type Description
< > data-URI String URI данных для входной строки

Example

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

dataUri('hello')

И возвращает этот результат: "data:text/plain;charset=utf-8;base64,aGVsbG8="

dataUriToBinary

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

dataUriToBinary('<value>')
Parameter Required Type Description
< значение> Yes String URI данных для преобразования
Возвращаемое значение Type Description
< binary-for-data-URI> String Двоичная версия URI данных

Example

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

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

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

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

dataUriToString

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

dataUriToString('<value>')
Parameter Required Type Description
< значение> Yes String URI данных для преобразования
Возвращаемое значение Type Description
< string-for-data-URI> String Строковая версия URI данных

Example

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

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

И возвращает этот результат: "hello"

dateDifference

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

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

Example

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

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

И возвращает этот результат: "1268.00:00:00"

dayOfMonth

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

dayOfMonth('<timestamp>')
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
Возвращаемое значение Type Description
< день месяца> Integer День месяца, полученный из указанной метки времени

Example

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

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

И возвращает этот результат: 15

dayOfWeek

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

dayOfWeek('<timestamp>')
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
Возвращаемое значение Type Description
< день недели> Integer День недели из указанной метки времени, где воскресенье имеет значение 0, понедельник — 1 и т. д.

Example

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

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

И возвращает этот результат: 4

dayOfYear

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

dayOfYear('<timestamp>')
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
Возвращаемое значение Type Description
< день года> Integer День года, полученный из указанной метки времени

Example

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

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

И возвращает этот результат: 74

decimal

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

Note

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

decimal('<value>')
Parameter Required Type Description
< значение> Yes String Десятичное число в строке
Возвращаемое значение Type Description
< десятичный> Десятичное число Десятичное число для входной строки

Пример 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() предпочтительнее.

Note

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

decodeDataUri('<value>')
Parameter Required Type Description
< значение> Yes String Строка URI данных для декодирования
Возвращаемое значение Type Description
< binary-for-data-URI> String Двоичная версия строки URI данных

Example

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

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

И возвращает этот результат: "hello"

decodeUriComponent

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

decodeUriComponent('<value>')
Parameter Required Type Description
< значение> Yes String Строка с escape-символами для декодирования
Возвращаемое значение Type Description
< декодированного кода ресурса (URI)> String Обновленная строка с декодированными escape-символами

Example

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

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

И возвращает этот результат: "https://contoso.com"

div

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

div(<dividend>, <divisor>)
Parameter Required Type Description
< дивиденд> Yes Целое число или число с плавающей запятой Число, которое делится на делитель
< делитель> Yes Целое число или число с плавающей запятой Число, разделяющее дивиденды, но не может быть нулевым.
Возвращаемое значение Type Description
< квоть-результирующий> Целое число или число с плавающей запятой Результат от деления первого числа на второе. Если делимое или делитель имеет тип Float, то и результат имеет тот же тип.



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

Пример 1

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

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

Пример 2

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

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

E

encodeUriComponent

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

Note

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

encodeUriComponent('<value>')
Parameter Required Type Description
< значение> Yes String Строка для преобразования в формат с кодировкой URI
Возвращаемое значение Type Description
< кодированного кода ресурса (URI)> String Строка с закодированным URI, содержащая экранирующие символы

Example

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

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

И возвращает этот результат: "https%3A%2F%2Fcontoso.com"

empty

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

empty('<collection>')
empty([<collection>])
Parameter Required Type Description
< коллекция> Yes Строка, массив или объект Коллекция для проверки
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает значение true, если коллекция пуста. Возвращает значение false, если не пусто.

Example

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

empty('')
empty('abc')

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

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

endsWith

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

endsWith('<text>', '<searchText>')
Parameter Required Type Description
< текст> Yes String Проверяемая строка
< поискТекст> Yes String Конечная подстрока для поиска
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает значение true при обнаружении конечной подстроки. Возвращает false, если не найдено.

Пример 1

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

endsWith('hello world', 'world')

И возвращает этот результат: true

Пример 2

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

endsWith('hello world', 'universe')

И возвращает этот результат: false

equals

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

equals('<object1>', '<object2>')
Parameter Required Type Description
< Объект 1>, <объект 2> Yes Various Значения, выражения или объекты для сравнения
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает значение true, если оба значения эквивалентны. Возвращает значение false, если не эквивалентны.

Example

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

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

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

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

F

first

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

first('<collection>')
first([<collection>])
Parameter Required Type Description
< коллекция> Yes Строка или массив Коллекция, где нужно найти первый элемент.
Возвращаемое значение Type Description
< первый элемент коллекции> Any Первый элемент коллекции

Example

Первый элемент в данных коллекциях находится в следующих примерах:

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

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

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

float

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

float('<value>', '<locale>'?)
Parameter Required Type Description
< значение> Yes String Строка, содержащая допустимое число с плавающей запятой для преобразования. Минимальное и максимальное значения совпадают с ограничениями для типа данных с плавающей запятой.
< место действия> No String Код локали RFC 4646, который необходимо использовать.

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

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

Пример 1

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

float('10,000.333')

И возвращает этот результат: 10000.333

Пример 2

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

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

И возвращает этот результат: 10000.333

пример 3

Примеры непредвиденных допустимых входных данных:

float('12,3,4,5678')  //Returns   12345678
float('1234567,8+')   //Returns   12345678
float('12345,6,78,-') //Returns  -12345678
float('-12,345,678,') //Returns  -12345678
float('12345678.-')   //Returns  -12345678
float('.12345678')    //Returns 0.12345678

formatDateTime

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

formatDateTime('<timestamp>', '<format>'?, '<locale>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.
< место действия> No String Используемая региональная настройка. Если не задано иное, используется значение en-us. Если языковой стандарт не является допустимым, создается ошибка.
Возвращаемое значение Type Description
< переформатированную метку времени> String Обновленная метка времени в указанном формате и языковом стандарте, если они указаны.

Examples

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

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

formDataMultiValues('<actionName>', '<key>')
Parameter Required Type Description
< actionName> Yes String Действие, выходные данные которого содержат требуемое значение ключа
< ключ> Yes String Имя ключа, значение которого нужно получить
Возвращаемое значение Type Description
[<массив с ключевыми значениями>] Array Массив со всеми значениями, которые соответствуют заданному ключу

Example

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

formDataMultiValues('Send_an_email', 'Subject')

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

formDataValue

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

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

Example

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

formDataValue('Send_an_email', 'Subject')

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

formatNumber

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

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

Пример 1

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

formatNumber(1234567890, '#,##0.00', 'en-US')

*Пример 2"

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

formatNumber(1234567890, '#,##0.00', 'is-IS')

пример 3

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

formatNumber(17.35, 'C2')

Пример 4

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

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

G

getFutureTime

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

getFutureTime(<interval>, <timeUnit>, <format>?)
Parameter Required Type Description
< интервала> Yes Integer Число единиц времени для добавления
< единица времени> Yes String Единица времени, используемая с интервалом ,: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< формата> No String Либо один описатель формата, либо пользовательский шаблон формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

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

Пример 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>?)
Parameter Required Type Description
< интервала> Yes Integer Число указанных единиц времени для вычитания
< единица времени> Yes String Единица времени, используемая с интервалом ,: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< формата> No String Либо один описатель формата, либо пользовательский шаблон формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

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

Пример 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"

greater

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

greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
Parameter Required Type Description
< значение> Yes Целое число, float или String Первое значение для проверки того, превышает ли второе значение.
< CompareTo> Yes Целое число, число с плавающей запятой или строка соответственно Значение сравнения
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает значение true, если первое значение больше второго значения. Возвращает значение false, если первое значение равно или меньше второго значения.

Example

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

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

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

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

greaterOrEquals

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

greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
Parameter Required Type Description
< значение> Yes Целое число, float или String Первое значение для проверки того, больше ли или равно второму значению
< CompareTo> Yes Целое число, число с плавающей запятой или строка соответственно Значение сравнения
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает значение true, если первое значение больше или равно второму значению. Возвращает значение false, если первое значение меньше второго значения.

Example

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

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

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

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

guid

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

guid()

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

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

Example

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

guid('P')

И возвращает этот результат: "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"

I

if

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

if(<expression>, <valueIfTrue>, <valueIfFalse>)
Parameter Required Type Description
< выражения> Yes Boolean Выражение для проверки
< значениеЕслиTrue> Yes Any Значение, возвращаемое при истинности выражения
< значениеЕслиЛожь> Yes Any Возвращаемое значение, если выражение ложно
Возвращаемое значение Type Description
< указанное возвращаемое значение> Any Указанное значение, возвращаемое в зависимости от того, является ли выражение true или false

Example

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

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

indexOf

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

indexOf('<text>', '<searchText>')
Parameter Required Type Description
< текст> Yes String Строка, которая содержит подстроку для поиска
< поискТекст> Yes String Подстрока для поиска
Возвращаемое значение Type Description
< значение индекса> Integer Начальное положение или значение индекса для указанной подстроки.

Если строка не найдена, верните номер -1.

Example

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

indexOf('hello world', 'world')

И возвращает этот результат: 6

int

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

int('<value>')
Parameter Required Type Description
< значение> Yes String Строковая версия для преобразуемого целого числа. Минимальное и максимальное значения совпадают с ограничениями для типа данных целого числа.
Возвращаемое значение Type Description
< целочисленный результат> Integer Целочисленная версия указанной строки. Минимальное и максимальное значения совпадают с ограничениями для типа данных целого числа.

Example

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

int('10')

И возвращает этот результат: 10

isFloat

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

isFloat('<string>', '<locale>'?)
Parameter Required Type Description
< значение> Yes String Строка для анализа
< место действия> No String Код языкового стандарта RFC 4646 для использования
Возвращаемое значение Type Description
< логический результат> Boolean Логическое значение, указывающее, является ли строка числом с плавающей запятой

Пример 1

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

isFloat('10,000.00')

И возвращает этот результат: true

Пример 2

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

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

И возвращает этот результат: true

isInt

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

isInt('<string>')
Parameter Required Type Description
< струна> Yes String Строка для анализа
Возвращаемое значение Type Description
< логический результат> Boolean Логическое значение, указывающее, является ли строка целочисленной.

Example

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

isInt('10')

И возвращает этот результат: true

item

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

item()
Возвращаемое значение Type Description
< current-array-item> Any Текущий элемент в массиве для текущей итерации действия

Example

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

item().body

items

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

items('<loopName>')
Parameter Required Type Description
< loopНазвание> Yes String Имя для цикла for-each
Возвращаемое значение Type Description
< пункт> Any Элемент из текущего цикла в указанном операторе for-each

Example

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

items('myForEachLoopName')

iterationIndexes

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

iterationIndexes('<loopName>')
Parameter Required Type Description
< loopНазвание> Yes String Имя для цикла Until
Возвращаемое значение Type Description
< индекс> Integer Значение индекса для текущей итерации в указанном цикле Until.

Example

В этом примере создается переменная счетчика, которая увеличивается на один во время каждой итерации в цикле 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

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

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

Important

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

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

Parameter Required Type Description
< значение> Yes Строка или XML Строка или XML для преобразования
Возвращаемое значение Type Description
< результат 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

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

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

Example

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

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

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

join

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

join([<collection>], '<delimiter>')
Parameter Required Type Description
< коллекция> Yes Array Массив, имеющий элементы для соединения
< разделитель> Yes String Разделитель, который отображается между каждым символом в результирующей строке
Возвращаемое значение Type Description
< char1><разделитель><char2><разделитель>... String Полученная строка, созданная из всех элементов в указанном массиве.



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

Example

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

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

И возвращает этот результат: "a.b.c"

L

last

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

last('<collection>')
last([<collection>])
Parameter Required Type Description
< коллекция> Yes Строка или массив Коллекция, в которой нужно найти последний элемент
Возвращаемое значение Type Description
< последний элемент коллекции> Строка или массив соответственно Последний элемент коллекции

Example

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

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

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

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

lastIndexOf

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

lastIndexOf('<text>', '<searchText>')
Parameter Required Type Description
< текст> Yes String Строка, которая содержит подстроку для поиска
< поискТекст> Yes String Подстрока для поиска
Возвращаемое значение Type Description
< конечное значение индекса> Integer Начальная позиция или индекс для последнего вхождения указанной подстроки.

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

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

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

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

Examples

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

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

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

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

length

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

length('<collection>')
length([<collection>])
Parameter Required Type Description
< коллекция> Yes Строка или массив Коллекция с элементами для подсчета
Возвращаемое значение Type Description
< длину или число> Integer Количество элементов в коллекции

Example

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

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

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

less

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

less(<value>, <compareTo>)
less('<value>', '<compareTo>')
Parameter Required Type Description
< значение> Yes Целое число, float или String Первое значение для проверки того, меньше ли второе значение
< CompareTo> Yes Целое число, число с плавающей запятой или строка соответственно Элемент сравнения
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает значение true, если первое значение меньше второго значения. Возвращает значение false, если первое значение равно или больше второго значения.

Example

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

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

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

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

lessOrEquals

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

lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
Parameter Required Type Description
< значение> Yes Целое число, float или String Первое значение для проверки того, меньше ли или равно второму значению
< CompareTo> Yes Целое число, число с плавающей запятой или строка соответственно Элемент сравнения
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает значение true, если первое значение меньше или равно второму значению. Возвращает значение false, если первое значение больше второго значения.

Example

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

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

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

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

listCallbackUrl

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

listCallbackUrl()
Возвращаемое значение Type Description
< обратный вызов URL-адрес> String URL-адрес обратного вызова для действия или триггера

Example

В этом примере показан пример 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*>"

M

max

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

max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
Parameter Required Type Description
< число1>, <число2>, ... Yes Целое число, float или оба Набор чисел, из которого требуется получить наибольшее значение
[<число1>, <число2>, ...] Yes Массив — целое число, float или оба Массив чисел, из которого требуется получить наибольшее значение
Возвращаемое значение Type Description
< максимальное значение> Целое число или число с плавающей запятой Наибольшее значение в указанном массиве или наборе чисел

Example

Эти примеры получают наибольшее значение из набора чисел и массива:

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

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

min

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

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

Example

Эти примеры получают наименьшее значение в наборе чисел и массиве:

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

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

mod

Возвращает остаток результата деления двух чисел. Сведения о получении целочисленного результата см. в разделе div().

mod(<dividend>, <divisor>)
Parameter Required Type Description
< дивиденд> Yes Целое число или число с плавающей запятой Число, которое делится на делитель
< делитель> Yes Целое число или число с плавающей запятой Число, разделяющее дивиденды, но не может быть нулевым.
Возвращаемое значение Type Description
< по модулю> Целое число или число с плавающей запятой Остаток от деления первого числа на второе число.

Пример 1

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

mod(3, 2)

И возвращает этот результат: 1

Пример 2

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

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

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

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

mul

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

mul(<multiplicand1>, <multiplicand2>)
Parameter Required Type Description
< множитель1> Yes Целое число или число с плавающей запятой Число, умножаемое на умножением на
< множимое 2> Yes Целое число или число с плавающей запятой Число, которое умножается умножением1
Возвращаемое значение Type Description
< результат продукта> Целое число или число с плавающей запятой Произведение от умножения первого числа на второе

Example

В этих примерах умножают первое число на второе число.

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

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

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

multipartBody

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

multipartBody('<actionName>', <index>)
Parameter Required Type Description
< actionName> Yes String Имя действия, которое содержит выходные данные, состоящие из нескольких частей
< индекс> Yes Integer Значение индекса необходимой части
Возвращаемое значение Type Description
< тело> String Корпус указанной части

N

not

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

not(<expression>)
Parameter Required Type Description
< выражения> Yes Boolean Выражение для проверки
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает значение 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>)
Parameter Required Type Description
< текст> Yes String Строка, содержащая подстроку для поиска
< поискТекст> Yes String Подстрока для поиска
< происшествие> Yes Integer Число, указывающее n-евхождение подстроки для поиска. Если вхождение отрицательное, начните поиск с конца.
Возвращаемое значение Type Description
< значение индекса> Integer Начальное положение или значение индекса для n-говхождения указанной подстроки. Если подстрока не найдена или меньше n вхождения подстроки существует, возвращается -1.

Examples

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

O

or

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

or(<expression1>, <expression2>, ...)
Parameter Required Type Description
< выражение1>, <выражение2>, ... Yes Boolean Выражения, которые нужно проверить
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает истину, если по крайней мере одно выражение истинно. Возвращает значение 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

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

outputs('<actionName>')
Parameter Required Type Description
< actionName> Yes String Имя выходных данных действия, которое вы хотите.
Возвращаемое значение Type Description
< выпуск> String Выходные данные указанного действия

Example

Этот пример получает выходные данные из действия 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"
  }
}

P

parameters

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

parameters('<parameterName>')
Parameter Required Type Description
< параметрИмя> Yes String Имя параметра, значение которого нужно получить
Возвращаемое значение Type Description
< значение параметра> Any Значение указанного параметра

Example

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

{
  "fullName": "Sophia Owen"
}

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

parameters('fullName')

И возвращает этот результат: "Sophia Owen"

parseDateTime

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

parseDateTime('<timestamp>', '<locale>'?, '<format>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< место действия> No String Используемая региональная настройка.

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

Если языковой стандарт не является допустимым, создается ошибка.
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат не указан, попробуйте выполнить синтаксический анализ с несколькими форматами, совместимыми с указанным языковым стандартом. Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Type Description
< Синтаксический метка времени> String Метка времени синтаксического анализа в формате O (гггг-ММ-ддTHH:мм:ss.fffffffK), которая соответствует стандарту ISO 8601 и сохраняет сведения о часовом поясе.

Examples

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'.

R

rand

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

rand(<minValue>, <maxValue>)
Parameter Required Type Description
< минимальное значение> Yes Integer Наименьшее целое число в диапазоне
< maxValue> Yes Integer Целое число, следующее за самым высоким целым числом в диапазоне, который функция может возвращать.
Возвращаемое значение Type Description
< случайный результат> Integer Случайное целое число, возвращаемое из указанного диапазона

Example

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

rand(1, 5)

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

range

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

range(<startIndex>, <count>)
Parameter Required Type Description
< startIndex> Yes Integer Целочисленное значение, которое запускает массив в качестве первого элемента
< количество> Yes Integer Количество целых чисел в массиве. Значение параметра count должно быть положительным целым числом, не превышающим 100 000.



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

Example

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

range(1, 4)

И возвращает этот результат: [1, 2, 3, 4]

removeProperty

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

removeProperty(<object>, '<property>')
Parameter Required Type Description
< объект> Yes Object Объект JSON, из которого вы хотите удалить свойство
< свойство> Yes String Имя удаляемого свойства
Возвращаемое значение Type Description
< обновленный объект> Object Обновленный объект JSON без указанного свойства

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

removeProperty(<object>['<parent-property>'], '<child-property>')
Parameter Required Type Description
< объект> Yes Object Объект JSON, свойство которого вы хотите удалить
< родительское свойство> Yes String Имя родительского свойства, из которого необходимо удалить дочернее свойство
< дочернее свойство> Yes String Имя удаляемого дочернего свойства
Возвращаемое значение Type Description
< обновленный объект> Object Обновленный объект 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

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

replace('<text>', '<oldText>', '<newText>')
Parameter Required Type Description
< текст> Yes String Строка, которая содержит подстроку для замены
< oldText> Yes String Часть строки для замены
< newText> Yes String замещающая строка
Возвращаемое значение Type Description
< обновленный текст> String Обновленная строка после замены подстроки

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

Example

Этот пример находит подстроку "old" в "старой строке" и заменяет "старый" на "new":

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

И возвращает этот результат: "the new string"

result

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

Note

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

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

result('<scopedActionName>')
Parameter Required Type Description
< scopedActionName> Yes String Имя действия в пределах области, где вы хотите получить входные и выходные данные из действий этой области верхнего уровня.
Возвращаемое значение Type Description
< массив-объект> Объект Array Массив, содержащий массивы входных и выходных данных для каждого действия верхнего уровня в пределах указанной области.

Example

Этот пример возвращает входные и выходные данные каждой итерации действия 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

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

reverse([<collection>])
Parameter Required Type Description
< коллекция> Yes Array Коллекция для обратного изменения
Возвращаемое значение Type Description
[<обновленной коллекции>] Array Инвертированная коллекция

Example

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

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

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

S

setProperty

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

setProperty(<object>, '<property>', <value>)
Parameter Required Type Description
< объект> Yes Object Объект JSON, свойство которого вы хотите установить.
< свойство> Yes String Имя существующего или нового задаваемого свойства
< значение> Yes Any Значение, задаваемое для указанного свойства

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

setProperty(<object>, '<parent-property>', setProperty(<object>['parentProperty'], '<child-property>', <value>))
Parameter Required Type Description
< объект> Yes Object Объект JSON, свойство которого вы хотите установить.
< родительское свойство> Yes String Имя родительского свойства с дочерним свойством, которое нужно установить
< дочернее свойство> Yes String Имя свойства дочернего объекта, которое нужно задать
< значение> Yes Any Значение, задаваемое для указанного свойства
Возвращаемое значение Type Description
< обновленный объект> Object Обновленный объект 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

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

skip([<collection>], <count>)
Parameter Required Type Description
< коллекция> Yes Array Коллекция, элементы которой требуется удалить
< количество> Yes Integer Положительное целое число для количества элементов, которые нужно удалить на передней части
Возвращаемое значение Type Description
[<обновленной коллекции>] Array Обновленная коллекция после удаления указанных элементов

Example

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

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

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

slice

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

slice('<text>', <startIndex>, <endIndex>?)
Parameter Required Type Description
< текст> Yes String Строка, содержащая подстроку для поиска
< startIndex> Yes Integer Отсчитываемое от нуля начальное положение или значение для начала поиска подстроки

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

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

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

— Если endIndex является отрицательным, выполните поиск по значению индекса, который суммирует длину строки и endIndex.
Возвращаемое значение Type Description
< Результирующий срез> String Новая строка, содержащая найденную подстроку

Examples

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

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

sort([<collection>], <sortBy>?)
Parameter Required Type Description
< коллекция> Yes Array Коллекция с элементами для сортировки
< sortАвтор> No String Ключ, используемый для сортировки объектов коллекции
Возвращаемое значение Type Description
[<обновленной коллекции>] Array Отсортированная коллекция

Пример 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

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

split('<text>', '<delimiter>')
Parameter Required Type Description
< текст> Yes String Строка для разделения на подстроки в зависимости от указанного разделителя в исходной строке
< разделитель> Yes String Символ в исходной строке, используемый в качестве разделителя
Возвращаемое значение Type Description
[<подстрока1>,<подстрока2>,...] Array Массив, содержащий подстроки из исходной строки, разделенный запятыми

Пример 1

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

split('a_b_c', '_')

И возвращает этот массив в качестве результата: ["a","b","c"]

Пример 2

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

split('a_b_c', ' ')

И возвращает этот массив в качестве результата: ["a_b_c"]

startOfDay

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

startOfDay('<timestamp>', '<format>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Type Description
< обновленной метки времени> String Указанная метка времени, но начиная с нуля часов дня.

Example

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

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

И возвращает этот результат: "2018-03-15T00:00:00.0000000Z"

startOfHour

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

startOfHour('<timestamp>', '<format>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

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

Example

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

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

И возвращает этот результат: "2018-03-15T13:00:00.0000000Z"

startOfMonth

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

startOfMonth('<timestamp>', '<format>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

Если формат имеет недопустимое значение, генерируется ошибка.
Возвращаемое значение Type Description
< обновленной метки времени> String Указанная метка времени, но начиная с нулевого часа первого дня месяца

Пример 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"

startsWith

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

startsWith('<text>', '<searchText>')
Parameter Required Type Description
< текст> Yes String Проверяемая строка
< поискТекст> Yes String Начальная строка для поиска
Возвращаемое значение Type Description
истина или ложь Boolean Возвращает значение true при обнаружении начальной подстроки. Возвращает false, если не найдено.

Пример 1

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

startsWith('hello world', 'hello')

И возвращает этот результат: true

Пример 2

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

startsWith('hello world', 'greetings')

И возвращает этот результат: false

string

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

string(<value>)
Parameter Required Type Description
< значение> Yes Any Преобразуемое значение . Если значение равно NULL или оценивается как NULL, то оно преобразуется в пустую строку ("").



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

Пример 1

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

string(10)

И возвращает этот результат: "10"

Пример 2

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

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

И возвращает этот результат: "{ \\"name\\": \\"Sophie Owen\\" }"

sub

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

sub(<minuend>, <subtrahend>)
Parameter Required Type Description
< уменьшаемое> Yes Целое число или число с плавающей запятой Число , из которого вычитается уменьшаемое
< подтраченные> Yes Целое число или число с плавающей запятой Число, вычитаемое из minuend
Возвращаемое значение Type Description
< результат> Целое число или число с плавающей запятой Результат вычитания второго числа из первого числа

Example

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

sub(10.3, .3)

И возвращает этот результат: 10

substring

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

substring('<text>', <startIndex>, <length>)
Parameter Required Type Description
< текст> Yes String Строка, символы которой вы хотите
< startIndex> Yes Integer Положительное число, равное или больше 0, которое вы хотите использовать в качестве начальной позиции или значения индекса
< длину> No Integer Положительное число символов, которые вы хотите иметь в подстроке

Note

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

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

Example

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

substring('hello world', 6, 5)

И возвращает этот результат: "world"

subtractFromTime

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

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Parameter Required Type Description
< временная метка> Yes String Строка, содержащая метку времени
< интервала> Yes Integer Число указанных единиц времени для вычитания
< единица времени> Yes String Единица времени, используемая с интервалом ,: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

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

Пример 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"

T

take

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

take('<collection>', <count>)
take([<collection>], <count>)
Parameter Required Type Description
< коллекция> Yes Строка или массив Коллекция, элементы которой вы хотите
< количество> Yes Integer Положительное целое число для количества элементов, которые вы хотите с начала.
Возвращаемое значение Type Description
< подмножество> или [ подмножество<>] Строка или массив соответственно Строка или массив с указанным числом элементов, взятых из передней части исходной коллекции

Example

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

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

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

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

ticks

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

ticks('<timestamp>')
Parameter Required Type Description
< временная метка> Yes String Строка для метки времени
Возвращаемое значение Type Description
< > чисел Integer Число тактов с указанной метки времени

toLower

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

toLower('<text>')
Parameter Required Type Description
< текст> Yes String Строка, которую нужно вернуть в нижнем регистре.
Возвращаемое значение Type Description
< строчные-текст> String Исходная строка в нижнем регистре

Example

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

toLower('Hello World')

И возвращает этот результат: "hello world"

toUpper

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

toUpper('<text>')
Parameter Required Type Description
< текст> Yes String Строка, которую нужно вернуть в верхнем регистре
Возвращаемое значение Type Description
< > текст в верхнем регистре String Исходная строка в формате верхнего регистра

Example

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

toUpper('Hello World')

И возвращает этот результат: "HELLO WORLD"

trigger

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

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

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

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

trigger()
Возвращаемое значение Type Description
< триггер-выходные данные> String Выходные данные из триггера во время выполнения

triggerBody

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

triggerBody()
Возвращаемое значение Type Description
< триггер-body-output> String Выходные данные body из триггера

triggerFormDataMultiValues

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

triggerFormDataMultiValues('<key>')
Parameter Required Type Description
< ключ> Yes String Имя ключа, значение которого нужно получить
Возвращаемое значение Type Description
[<массив с ключевыми значениями>] Array Массив со всеми значениями, которые соответствуют заданному ключу

Example

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

triggerFormDataMultiValues('feedUrl')

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

triggerFormDataValue

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

triggerFormDataValue('<key>')
Parameter Required Type Description
< ключ> Yes String Имя ключа, значение которого нужно получить
Возвращаемое значение Type Description
< ключевое значение> String Значение в указанном ключе

Example

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

triggerFormDataValue('feedUrl')

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

triggerMultipartBody

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

triggerMultipartBody(<index>)
Parameter Required Type Description
< индекс> Yes Integer Значение индекса необходимой части
Возвращаемое значение Type Description
< тело> String Текст указанной части выходных данных триггера, которые состоят из нескольких частей

triggerOutputs

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

triggerOutputs()
Возвращаемое значение Type Description
< триггер-выходные данные> String Выходные данные из триггера во время выполнения

trim

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

trim('<text>')
Parameter Required Type Description
< текст> Yes String Строка с начальными и конечными пробелами, которые нужно удалить
Возвращаемое значение Type Description
< обновлен> текст String Обновленная версия исходной строки без начальных или конечных пробелов

Example

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

trim(' Hello World  ')

И возвращает этот результат: "Hello World"

U

union

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

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

Example

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

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

И возвращает этот результат: [1, 2, 3, 10, 101]

uriComponent

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

uriComponent('<value>')
Parameter Required Type Description
< значение> Yes String Строка для преобразования в формат с кодировкой URI
Возвращаемое значение Type Description
< кодированного кода ресурса (URI)> String Строка с закодированным URI, содержащая экранирующие символы

Example

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

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

И возвращает этот результат: "https%3A%2F%2Fcontoso.com"

uriComponentToBinary

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

uriComponentToBinary('<value>')
Parameter Required Type Description
< значение> Yes String Строка, закодированная в формате URI, для преобразования
Возвращаемое значение Type Description
< binary-for-encoded-URI> String Двоичная версия для строки в кодировке URI. Двоичное содержимое закодировано в Base64 и представлено в виде $content.

Example

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

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

И возвращает этот результат: "aHR0cHM6Ly9jb250b3NvLmNvbQ=="

uriComponentToString

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

uriComponentToString('<value>')
Parameter Required Type Description
< значение> Yes String Строка, закодированная в формате URI, для декодирования
Возвращаемое значение Type Description
< декодированного кода ресурса (URI)> String Декодированная версия для строки в кодировке URI

Example

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

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

И возвращает этот результат: "https://contoso.com"

uriHost

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

uriHost('<uri>')
Parameter Required Type Description
< ури> Yes String URI, значение host которого вы хотите получить
Возвращаемое значение Type Description
< Host-value> String Значение host для указанного URI.

Example

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

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

И возвращает этот результат: "www.localhost.com"

uriPath

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

uriPath('<uri>')
Parameter Required Type Description
< ури> Yes String URI, значение path которого вы хотите получить
Возвращаемое значение Type Description
< Значение пути> String Значение path для указанного URI. Если path не имеет значения, вернется символ "/".

Example

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

uriPath('https://www.contoso.com/catalog/shownew.htm?date=today')

И возвращает этот результат: "/catalog/shownew.htm"

uriPathAndQuery

Возвращает значения path и query для URI.

uriPathAndQuery('<uri>')
Parameter Required Type Description
< ури> Yes String URI, значения path и query которого требуется извлечь
Возвращаемое значение Type Description
< path-query-value> String Значения path и query для указанного URI. Если path не указывает значение, вернется символ "/".

Example

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

uriPathAndQuery('https://www.contoso.com/catalog/shownew.htm?date=today')

И возвращает этот результат: "/catalog/shownew.htm?date=today"

uriPort

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

uriPort('<uri>')
Parameter Required Type Description
< ури> Yes String URI, значение port которого вы хотите получить
Возвращаемое значение Type Description
< Значение порта> Integer Значение port для указанного URI. Если port не указывает значение, возвращается порт по умолчанию для протокола.

Example

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

uriPort('https://www.localhost:8080')

И возвращает этот результат: 8080

uriQuery

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

uriQuery('<uri>')
Parameter Required Type Description
< ури> Yes String URI, значение query которого вы хотите получить
Возвращаемое значение Type Description
< значение запроса> String Значение query для указанного URI.

Example

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

uriQuery('https://www.contoso.com/catalog/shownew.htm?date=today')

И возвращает этот результат: "?date=today"

uriScheme

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

uriScheme('<uri>')
Parameter Required Type Description
< ури> Yes String URI, значение scheme которого вы хотите получить
Возвращаемое значение Type Description
< схема-значение> String Значение scheme для указанного URI.

Example

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

uriScheme('https://www.contoso.com/catalog/shownew.htm?date=today')

И возвращает этот результат: "http"

utcNow

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

utcNow('<format>')

При необходимости можно указать другой формат с параметром <формата>.

Parameter Required Type Description
< формата> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе.

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

Examples

utcNow()                  // Returns 2025-09-25T05:18:31.3384797Z
utcNow('u')               // Returns 2025-09-25 05:18:31Z
utcNow('U')               // Returns Thursday, September 25, 2025 5:18:31 AM
utcNow('d')               // Returns 9/25/2025
utcNow('D')               // Returns Thursday, September 25, 2025
utcNow('t')               // Returns 5:18 AM
utcNow('T')               // Returns 5:18:31 AM
utcNow('y')               // Returns September 2025
utcNow('yyyy')            // Returns 2025
utcNow('ddd, d MMM yyyy') // Returns Thu, 25 Sep 2025

V

variables

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

variables('<variableName>')
Parameter Required Type Description
< variableName> Yes String Имя переменной, значение которой нужно получить
Возвращаемое значение Type Description
< переменная-значение> Any Значение указанной переменной

Example

Предположим, что текущее значение для переменной "numItems" — 20. В этом примере извлекается целочисленное значение этой переменной:

variables('numItems')

И возвращает этот результат: 20

W

workflow

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

workflow().<property>
Parameter Required Type Description
< свойство> No String Имя свойства рабочего процесса, значение которого требуется



По умолчанию объект рабочего процесса имеет следующие свойства: 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>')
Parameter Required Type Description
< значение> Yes String Строка с объектом JSON для преобразования

Объект JSON должен иметь только одно корневое свойство, которое не может быть массивом.
Используйте обратную косую черту (\) как экранирующий символ для двойных кавычек (").
Возвращаемое значение Type Description
< > xml-версии Object Закодированный 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>

Пример 4

Функция xml() ожидает либо объект, либо строку, содержащую допустимый XML. Функция не принимает необработанный массив в качестве входных данных.

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

xml(
  json('{"root":{"array":[
    { "ID": 1, "Name": "James" },
    { "ID": 2, "Name": "John" },
    { "ID": 3, "Name": "Sam" }
  ]}}')
)

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

[
  { "ID": 1, "Name": "James" },
  { "ID": 2, "Name": "John" },
  { "ID": 3, "Name": "Sam" }
]

Вариант 1. Хранение массива JSON в действии Compose с именем Compose1. Затем используйте функцию outputs() для возврата объекта JSON из Compose1.

{
  "root": { "array": @{outputs('Compose1')} }
}

Сохраните возвращенный объект JSON в другом действии с именем Compose2. Затем можно использовать xml() функции и outputs() функции для создания XML из выходных данных объекта JSON из Compose2, например:

xml(outputs('Compose2'))

Вариант 2. Хранение массива JSON в действии Compose с именем Compose1. Затем используйте outputs()concat()json()функции и xml() функции для создания XML из выходных данных объекта JSON, например:

xml(
  json(
    concat(
      '{"root":{"array":',
      outputs('Compose1'),
      '}}'
    )
  )
)

Вариант 3. Хранение массива JSON в действии Compose с именем Compose1. Затем можно использовать outputs()функции и json()addProperty()xml() функции для создания XML из выходных данных объекта JSON, например:

xml(
  addProperty(
    json('{}'),
    'root',
    addProperty(
      json('{}'),
      'array',
      outputs('Compose1')
    )
  )
)

Все примеры, в том числе пример строковых данных JSON и параметры 1–3, возвращают следующий xml-результат:

<root>
  <array>
    <ID>1</ID>
    <Name>James</Name>
  </array>
  <array>
    <ID>2</ID>
    <Name>John</Name>
  </array>
  <array>
    <ID>3</ID>
    <Name>Sam</Name>
  </array>
</root>

xpath

Проверьте XML на наличие узлов или значений, которые соответствуют выражению XPath (язык путей XML), и верните соответствующие узлы или значения. Выражение XPath (или просто "XPath") помогает перемещаться по структуре документа XML, чтобы вы могли выбирать узлы или вычислять значения в содержимом XML.

Note

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

xpath('<xml>', '<xpath>')
Parameter Required Type Description
< xml> Yes Any XML-строка для поиска узлов или значений, соответствующих значению выражения XPath
< xpath> Yes Any Выражение XPath, используемое для поиска соответствующих узлов или значений XML
Возвращаемое значение Type Description
< xml-узел> XML Узел XML, где только один узел соответствует указанному выражению XPath
< значение> Any Значение из узла XML, где только одно значение соответствует указанному выражению XPath
[<xml-node1, ><, ...] -or- [><>, <value2>, ...] Array Массив с узлами 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() для получения XML-строки из '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>

Important

Если вы работаете в режиме кода, экранируйте двойные кавычки (") обратной косой чертой (\). Например, при сериализации выражения в виде строки 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

Дальнейшие шаги

Дополнительные сведения о языке определения рабочего процесса.