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


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

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

Для определений рабочих процессов в Azure Logic Apps в Power Automate некоторые выражения получают значения из действий среды выполнения, которые могут не существовать при запуске рабочего процесса. To reference or process the values in these expressions, you can use expression functions provided by the Workflow Definition Language.

Note

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

For example, you can calculate values by using math functions, such as the add() function, when you want the sum from integers or floats. Вот еще примеры задач, которые вы можете выполнять с помощью функций.

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

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

Чтобы найти функции, основанные на их общем назначении, просмотрите следующие таблицы. Or, for detailed information about each function, see the alphabetical list.

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

To show how to use a function in an expression, this example shows how you can get the value from the customerName parameter and assign that value to the accountName property by using the parameters() function in an expression:

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

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

Task Синтаксис функции в выражении
Выполнить операцию с элементом, передав этот элемент функции. "@<functionName>(<item>)"
1. Get the parameterName's value by using the nested parameters() function.
2. Perform work with the result by passing that value to functionName.
"@<functionName>(parameters('<parameterName>'))"
1. Get the result from the nested inner function functionName.
2. Pass the result to the outer function functionName2.
"@<functionName2>(<functionName>(<item>))"
1. Get the result from functionName.
2. Given that the result is an object with property propertyName, get that property's value.
"@<functionName>(<item>).<propertyName>"

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

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

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

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

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

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

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

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

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

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

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

    Correct: "<text>/@{<function-name>('<parameter-name>')}/<text>"

    Incorrect: "<text>/@<function-name>('<parameter-name>')/<text>"

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

The following sections organize functions based on their general purpose, or you can browse these functions in alphabetical order.

String functions

To work with strings, you can use these string functions and also some collection functions. Строковые функции работают только со строками.

String function Task
chunk Разделить строку или коллекцию на блоки равной длины.
concat Объедините две или несколько строк и верните объединенную строку.
endsWith Проверьте, заканчивается ли строка указанной подстрокой.
formatNumber Возврат числа в виде строки на основе указанного формата
guid Создайте глобальный уникальный идентификатор (GUID) в виде строки.
indexOf Вернуть начальную позицию подстроки.
isFloat Возвращает логическое значение, указывающее, является ли строка числом с плавающей запятой.
isInt Возвращает булево значение, которое указывает, является ли строка целым числом.
lastIndexOf Возвращает начальную позицию для последнего вхождения подстроки.
length Возвращает количество элементов в строке или массиве.
nthIndexOf Return the starting position or index value where the nth occurrence of a substring appears in a string.
replace Замените подстроку указанной строкой и верните обновленную строку.
slice Возвращает подстроку, указывая начальную и конечную позицию или значение. See also substring.
split Возвращает массив, содержащий подстроки, разделенные запятыми, из большей строки, основываясь на указанном символе разделителя в исходной строке.
startsWith Проверьте, начинается ли строка с определенной подстроки.
substring Возвращает символы из строки, начиная с указанной позиции. See also slice.
toLower Возвращает строку в нижнем регистре.
toUpper Верните строку в верхнем регистре.
trim Удалите начальные и конечные пробелы из строки и верните обновленную строку.

Collection functions

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

Collection function Task
chunk Разделить строку или коллекцию на блоки равной длины.
contains Проверьте, имеет ли коллекция определенный элемент.
empty Проверьте, пуста ли коллекция.
first Верните первый элемент из коллекции.
intersection Return a collection that has only the common items across the specified collections.
item Если эта функция появляется внутри повторяющегося действия в массиве, она возвращает текущий элемент массива во время текущей итерации действия.
join Return a string that has all the items from an array, separated by the specified character.
last Возвращает последний элемент из коллекции.
length Возвращает количество элементов в строке или массиве.
reverse Измените порядок элементов в массиве.
skip Удаляет элементы из начала коллекции и возвращает все остальные элементы.
sort Сортировка элементов в коллекции.
take Возвращает элементы, расположенные в начале коллекции.
union Return a collection that has all the items from the specified collections.

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

Чтобы работать с условиями, сравнивать значения и результаты выражений или оценивать различные типы логики, можно использовать следующие функции логического сравнения. For the full reference about each function, see the alphabetical list.

Note

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

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

Conversion functions

Чтобы изменить тип или формат значения, можно использовать приведенные ниже функции преобразования. Например, вы можете изменить значение с логического на целочисленное. Чтобы узнать, как приложения логики обрабатывают типы содержимого во время преобразования, см. статью Обработка типов содержимого в Azure Logic Apps. For the full reference about each function, see the alphabetical list.

Note

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

Conversion function Task
array Возвращает массив из одного указанного входного значения. For multiple inputs, see 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

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

Math functions

Для работы с целыми числами и числами с плавающей запятой можно использовать следующие математические функции. For the full reference about each function, see the alphabetical list.

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

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

Чтобы работать с датами и временем, вы можете использовать эти функции даты и времени. For the full reference about each function, see the alphabetical list.

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

Workflow functions

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

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

Например, вы можете ссылаться на выходные данные одного действия и использовать их в действии, которое выполняется позже. For the full reference about each function, see the alphabetical list.

Workflow function Task
action Возвращает выходные данные текущего действия во время выполнения или значения из других пар "имя — значение" JSON. See also actions.
actions Возвращает выходные данные действия во время выполнения или значения из других пар "имя — значение" JSON. See also action.
body Возвращает результат действия body во время выполнения.
formDataMultiValues Create an array with the values that match a key name in form-data or form-encoded action outputs.
formDataValue Return a single value that matches a key name in an action's form-data or form-encoded output.
item Если эта функция появляется внутри повторяющегося действия в массиве, она возвращает текущий элемент массива во время текущей итерации действия.
items Если эта функция появляется внутри цикла "Foreach" или "Until", она возвращает текущий элемент из указанного цикла.
iterationIndexes Если эта функция появляется в цикле "Until", она возвращает значение индекса для текущей итерации. Эту функцию можно использовать внутри вложенных циклов Until.
listCallbackUrl Возвращает URL-адрес обратного вызова, который вызывает триггер или действие.
multipartBody Возвращает текст указанной части выходных данных действия, которые состоят из нескольких частей.
outputs Возвращает результат действия во время выполнения.
parameters Возвращает значение параметра, описанного в определении вашего рабочего процесса.
result Возвращает входные и выходные данные для всех действий верхнего уровня внутри указанного действия с ограниченной областью, такого как For_each, Until и Scope.
trigger Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. See also triggerOutputs and triggerBody.
triggerBody Возвращает выходные данные body триггера во время выполнения. See trigger.
triggerFormDataValue Return a single value matching a key name in form-data or form-encoded trigger outputs.
triggerMultipartBody Возвращает текст указанной части выходных данных триггера, которые состоят из нескольких частей.
triggerFormDataMultiValues Create an array whose values match a key name in form-data or form-encoded trigger outputs.
triggerOutputs Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. See trigger.
variables Возвращает значение для указанной переменной.
workflow Возвращает все сведения о самом рабочем процессе во время выполнения.

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

Чтобы работать с унифицированными указателями ресурсов (URI) и получать различные значения их свойств, вы можете использовать эти функции разбора URI. For the full reference about each function, see the alphabetical list.

Функция анализа 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 вы можете использовать следующие функции обработки. For the full reference about each function, see the alphabetical list.

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

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

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

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

A

action

Return the current action's output at runtime, or values from other JSON name-and-value pairs, which you can assign to an expression. По умолчанию эта функция ссылается на весь объект действия, но вы можете дополнительно указать свойство, значение которого требуется. See also actions().

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

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

actions

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

Tip

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

Note

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

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

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 или смешанное Числа, которые нужно сложить
Return value Type Description
< result-sum> Целое число или число с плавающей запятой Результат сложения указанных чисел

Example

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

add(1, 1.5)

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

addDays

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

addDays('<timestamp>', <days>, '<format>'?)
Parameter Required Type Description
< timestamp> Yes String Строка, содержащая метку времени
< days> Yes Integer Положительное или отрицательное количество дней для добавления
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example 1

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

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

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

Example 2

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

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

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

addHours

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

addHours('<timestamp>', <hours>, '<format>'?)
Parameter Required Type Description
< timestamp> Yes String Строка, содержащая метку времени
< hours> Yes Integer Положительное или отрицательное количество часов для добавления
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

Если формат имеет недопустимое значение, генерируется ошибка.
Return value Type Description
< updated-timestamp> String Метка времени и указанное число часов

Example 1

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

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

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

Example 2

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

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

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

addMinutes

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

addMinutes('<timestamp>', <minutes>, '<format>'?)
Parameter Required Type Description
< timestamp> Yes String Строка, содержащая метку времени
< minutes> Yes Integer Число минут, которое нужно добавить, может быть положительным или отрицательным.
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example 1

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

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

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

Example 2

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

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

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

addProperty

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

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

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

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

Example 1

This example adds the middleName property to a JSON object, which is converted from a string to JSON by using the JSON() function. Этот объект уже содержит свойства firstName и surName. Функция присваивает указанное значение новому свойству и возвращает обновленный объект:

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

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

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

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

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

Example 2

This example adds the middleName child property to the existing customerName property in a JSON object, which is converted from a string to JSON by using the JSON() function. Функция присваивает указанное значение новому свойству и возвращает обновленный объект:

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
< timestamp> Yes String Строка, содержащая метку времени
< seconds> Yes Integer Положительное или отрицательное число секунд для добавления
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example 1

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

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

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

Example 2

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

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

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

addToTime

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

addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Parameter Required Type Description
< timestamp> Yes String Строка, содержащая метку времени
< interval> Yes Integer Количество заданных единиц времени, которые нужно добавить
< timeUnit> Yes String The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example 1

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

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

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

Example 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
< expression1>, <expression2>, ... Yes Boolean Выражения, которые нужно проверить
Return value Type Description
истина или ложь Boolean Возвращает значение true, если все выражения имеют значение true. Возвращает значение false, если хотя бы одно выражение имеет значение false.

Example 1

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

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

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

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

Example 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

Возвращает массив из одного указанного входного значения. For multiple inputs, see createArray().

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

Example

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

array('hello')

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

B

base64

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

Note

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

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

Example

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

base64('hello')

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

base64ToBinary

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

Note

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

base64ToBinary('<value>')
Parameter Required Type Description
< value> Yes String Строка, закодированная в формате base64, для преобразования
Return value Type Description
< binary-for-base64-string> String Двоичная версия строки в кодировке Base64

Example

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

base64ToBinary('aGVsbG8=')

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

base64ToString

Возвращает строковую версию для base64-кодированной строки, эффективно декодируя эту base64-строку. Use this function rather than decodeBase64(), which is deprecated.

Note

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

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

Example

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

base64ToString('aGVsbG8=')

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

binary

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

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

Example

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

body

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

body('<actionName>')
Parameter Required Type Description
< actionName> Yes String Имя действия для требуемого результата body
Return value Type Description
< action-body-output> 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
< value> Yes Any Значение, которое необходимо преобразовать в логическое.

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

Return value Type Description
true или false Boolean Булевское значение указанного значения.

Outputs

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

Input value Type Return value
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
< collection> Yes Строка или массив Коллекция для разделения
< length> Yes Длина каждого блока
Return value Type Description
< collection> Array Массив фрагментов с указанной длиной

Example 1

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

chunk('abcdefghijklmnopqrstuvwxyz', 10)

И возвращает этот результат: ['abcdefghij', 'klmnopqrst', 'uvwxyz']

Example 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
Return value Type Description
< first-non-null-item> 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 По крайней мере две строки для объединения
Return value Type Description
< text1text2...> String Строка, созданная из объединенных входных строк



Note: The length of the result must not exceed 104,857,600 characters.

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

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

  • A string to find a substring
  • An array to find a value
  • A dictionary to find a key
Parameter Required Type Description
< collection> Yes Строка, массив или словарь Коллекция для проверки
< value> Yes Строка, массив или словарь соответственно Элемент, который нужно найти
Return value Type Description
истина или ложь Boolean Возвращает значение true при обнаружении элемента. Возвращает false, если не найдено.

Example 1

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

contains('hello world', 'world')

Example 2

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

contains('hello world', 'universe')

convertFromUtc

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

convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
Parameter Required Type Description
< timestamp> Yes String Строка, содержащая метку времени
< destinationTimeZone> Yes String Имя целевого часового пояса. Сведения об именах часовых поясов см. в разделе Часовые пояса Microsoft Windows по умолчанию.
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example 1

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

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

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

Example 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
< timestamp> Yes String Строка, содержащая метку времени
< sourceTimeZone> Yes String Имя исходного часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания).
< destinationTimeZone> Yes String Имя целевого часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания).
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example 1

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

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

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

Example 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
< timestamp> Yes String Строка, содержащая метку времени
< sourceTimeZone> Yes String Имя исходного часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания).
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

Если формат имеет недопустимое значение, генерируется ошибка.
Return value Type Description
< converted-timestamp> String Метка времени, преобразованная в UTC

Example 1

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

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

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

Example 2

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

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

И возвращает этот результат: "Monday, January 1, 2018"

createArray

Возвращает массив из нескольких входных данных. For single input arrays, see array().

createArray('<object1>', '<object2>', ...)
Parameter Required Type Description
< object1>, <object2>, ... Yes Любой, но не смешанный По крайней мере два элемента для создания массива
Return value Type Description
[<object1>, <object2>, ...] Array Массив, созданный из всех входных элементов

Example

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

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

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

D

dataUri

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

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

Example

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

dataUri('hello')

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

dataUriToBinary

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

dataUriToBinary('<value>')
Parameter Required Type Description
< value> Yes String URI данных для преобразования
Return value 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
< value> Yes String URI данных для преобразования
Return value 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
< startDate> Yes String Строка, содержащая метку времени
< endDate> Yes String Строка, содержащая метку времени
Return value Type Description
< timespan> String Разница между двумя метками времени, представленная в строковом формате меток времени. Если startDate более новое, чем endDate, результат является отрицательным значением.

Example

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

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

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

dayOfMonth

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

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

Example

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

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

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

dayOfWeek

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

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

Example

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

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

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

dayOfYear

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

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

Example

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

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

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

decimal

Возвращает десятичное число в строке в виде десятичного числа. Эту функцию можно использовать при работе с данными, требующими десятичной точности, а также в качестве входных данных для логических функций сравнения и математических функций. To capture and preserve precision when you use the result from the decimal() function, wrap any decimal output with the string function. Это использование показано в следующих примерах, в которых можно потерять точность при использовании десятичного результата в качестве числа.

Note

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

decimal('<value>')
Parameter Required Type Description
< value> Yes String Десятичное число в строке
Return value Type Description
< decimal> Decimal Number Десятичное число для входной строки

Example 1

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

decimal('1.2345678912312131') // Returns 1.234567891231213.

Example 2

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

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

Example 3

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

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

Example 4

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

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

decodeBase64 (deprecated)

This function is deprecated, so use base64ToString() instead.

decodeDataUri

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

Note

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

decodeDataUri('<value>')
Parameter Required Type Description
< value> Yes String Строка URI данных для декодирования
Return value 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
< value> Yes String Строка с escape-символами для декодирования
Return value Type Description
< decoded-uri> String Обновленная строка с декодированными escape-символами

Example

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

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

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

div

Возвращает результат деления двух чисел. To get the remainder result, see mod().

div(<dividend>, <divisor>)
Parameter Required Type Description
< dividend> Yes Целое число или число с плавающей запятой The number to divide by the divisor
< divisor> Yes Целое число или число с плавающей запятой The number that divides the dividend, but can't be zero
Return value Type Description
< quotient-result> Целое число или число с плавающей запятой Результат от деления первого числа на второе. Если делимое или делитель имеет тип Float, то и результат имеет тот же тип.



Note: To convert the float result to an integer, try creating and calling a function in Azure from your logic app.

Example 1

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

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

Example 2

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

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

E

encodeUriComponent

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

Note

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

encodeUriComponent('<value>')
Parameter Required Type Description
< value> Yes String Строка для преобразования в формат с кодировкой URI
Return value Type Description
< encoded-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
< collection> Yes Строка, массив или объект Коллекция для проверки
Return value Type Description
истина или ложь Boolean Возвращает значение true, если коллекция пуста. Возвращает значение false, если не пусто.

Example

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

empty('')
empty('abc')

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

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

endsWith

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

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

Example 1

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

endsWith('hello world', 'world')

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

Example 2

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

endsWith('hello world', 'universe')

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

equals

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

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

Example

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

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

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

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

F

first

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

first('<collection>')
first([<collection>])
Parameter Required Type Description
< collection> Yes Строка или массив Коллекция, где нужно найти первый элемент.
Return value Type Description
< first-collection-item> 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
< value> Yes String Строка, содержащая допустимое число с плавающей запятой для преобразования. Минимальное и максимальное значения совпадают с ограничениями для типа данных с плавающей запятой.
< locale> No String Код локали RFC 4646, который необходимо использовать.

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

If locale isn't a valid value, an error is generated that the provided locale isn't valid or doesn't have an associated locale.
Return value Type Description
< float-value> Float Число с плавающей запятой для указанной строки. Минимальное и максимальное значения совпадают с ограничениями для типа данных с плавающей запятой.

Example 1

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

float('10,000.333')

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

Example 2

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

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

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

formatDateTime

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

formatDateTime('<timestamp>', '<format>'?, '<locale>'?)
Parameter Required Type Description
< timestamp> Yes String Строка, содержащая метку времени
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.
< locale> No String Используемая региональная настройка. Если не задано иное, используется значение en-us. If locale isn't a valid value, an error is generated.
Return value Type Description
< reformatted-timestamp> 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

Return an array with values that match a key name in an action's form-data or form-encoded output.

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

Example

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

formDataMultiValues('Send_an_email', 'Subject')

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

formDataValue

Return a single value that matches a key name in an action's form-data or form-encoded output. Если функция обнаруживает более одного совпадения, она выдает ошибку.

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

Example

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

formDataValue('Send_an_email', 'Subject')

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

formatNumber

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

formatNumber(<number>, <format>, <locale>?)
Parameter Required Type Description
< number> Yes Целое число или дубль Значение, которое нужно отформатировать.
< format> Yes String Строка составного формата, указывающая формат, который необходимо использовать. Сведения о поддерживаемых строках числового формата см. в разделе Стандартные строки числового формата, которые поддерживаются number.ToString(<format>, <locale>).
< locale> No String Локаль для использования, поддерживаемая number.ToString(<format>, <locale>). Если не задано иное, используется значение en-us. If locale isn't a valid value, an error is generated.
Return value Type Description
< formatted-number> String Указанное число в виде строки в указанном формате. Это возвращаемое значение можно привести к int или float.

Example 1

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

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

*Example 2"

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

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

Example 3

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

formatNumber(17.35, 'C2')

Example 4

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

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

G

getFutureTime

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

getFutureTime(<interval>, <timeUnit>, <format>?)
Parameter Required Type Description
< interval> Yes Integer Число единиц времени для добавления
< timeUnit> Yes String The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< format> No String Либо один описатель формата, либо пользовательский шаблон формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example 1

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

getFutureTime(5, 'Day')

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

Example 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
< interval> Yes Integer Число указанных единиц времени для вычитания
< timeUnit> Yes String The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< format> No String Либо один описатель формата, либо пользовательский шаблон формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example 1

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

getPastTime(5, 'Day')

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

Example 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
< value> Yes Целое число, float или String Первое значение для проверки того, превышает ли второе значение.
< compareTo> Yes Целое число, число с плавающей запятой или строка соответственно Значение сравнения
Return value 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
< value> Yes Целое число, float или String Первое значение для проверки того, больше ли или равно второму значению
< compareTo> Yes Целое число, число с плавающей запятой или строка соответственно Значение сравнения
Return value 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
< format> No String A single format specifier for the returned GUID. По умолчанию формат — "D", но можно использовать "N", "D", "B", "P" или "X".
Return value Type Description
< GUID-value> String Случайным образом созданный GUID

Example

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

guid('P')

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

I

if

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

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

Example

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

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

indexOf

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

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

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

Example

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

indexOf('hello world', 'world')

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

int

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

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

Example

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

int('10')

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

isFloat

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

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

Example 1

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

isFloat('10,000.00')

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

Example 2

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

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

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

isInt

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

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

Example

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

isInt('10')

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

item

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

item()
Return value 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
< loopName> Yes String Имя для цикла for-each
Return value Type Description
< item> Any Элемент из текущего цикла в указанном операторе for-each

Example

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

items('myForEachLoopName')

iterationIndexes

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

iterationIndexes('<loopName>')
Parameter Required Type Description
< loopName> Yes String Имя для цикла Until
Return value Type Description
< index> 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
< value> Yes Строка или XML Строка или XML для преобразования
Return value Type Description
< JSON-result> Собственный тип JSON, объект или массив Значение собственного типа JSON, объект или массив объектов из входной строки или XML.



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

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

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

Example 1

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

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

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

Example 2

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

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

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

{
  "fullName": "Sophia Owen"
}

Example 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"
      }
   }
}

Example 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

Return a collection that has only the common items across the specified collections. Чтобы появиться в результатах, элемент должен находиться во всех коллекциях, переданных этой функции. Если один или несколько элементов имеют одинаковое имя, в результатах появляется последний элемент с таким именем.

intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
Parameter Required Type Description
< collection1>, <collection2>, ... Yes Массив или объект, но не оба The collections from where you want only the common items
Return value Type Description
< common-items> Массив или объект соответственно Коллекция, которая содержит только общие элементы в указанных коллекциях

Example

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

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

And returns an array with only these items: [1, 2]

join

Return a string that has all the items from an array and has each character separated by a delimiter.

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



Note: The length of the result must not exceed 104,857,600 characters.

Example

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

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

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

L

last

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

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

Example

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

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

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

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

lastIndexOf

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

lastIndexOf('<text>', '<searchText>')
Parameter Required Type Description
< text> Yes String Строка, которая содержит подстроку для поиска
< searchText> Yes String Подстрока для поиска
Return value Type Description
< ending-index-value> 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
< collection> Yes Строка или массив Коллекция с элементами для подсчета
Return value Type Description
< length-or-count> Integer Количество элементов в коллекции

Example

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

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

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

less

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

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

Example

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

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

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

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

listCallbackUrl

Возвращает URL-адрес обратного вызова, который вызывает триггер или действие. This function works only with triggers and actions for the HttpWebhook and ApiConnectionWebhook connector types, but not the Manual, Recurrence, HTTP, and APIConnection types.

listCallbackUrl()
Return value Type Description
< callback-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
< number1>, <number2>, ... Yes Целое число, float или оба Набор чисел, из которого требуется получить наибольшее значение
[<number1>, <number2>, ...] Yes Массив — целое число, float или оба Массив чисел, из которого требуется получить наибольшее значение
Return value Type Description
< max-value> Целое число или число с плавающей запятой Наибольшее значение в указанном массиве или наборе чисел

Example

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

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

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

min

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

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

Example

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

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

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

mod

Возвращает остаток результата деления двух чисел. To get the integer result, see div().

mod(<dividend>, <divisor>)
Parameter Required Type Description
< dividend> Yes Целое число или число с плавающей запятой The number to divide by the divisor
< divisor> Yes Целое число или число с плавающей запятой The number that divides the dividend, but can't be zero
Return value Type Description
< modulo-result> Целое число или число с плавающей запятой Остаток от деления первого числа на второе число.

Example 1

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

mod(3, 2)

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

Example 2

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

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

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

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

mul

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

mul(<multiplicand1>, <multiplicand2>)
Parameter Required Type Description
< multiplicand1> Yes Целое число или число с плавающей запятой The number to multiply by multiplicand2
< multiplicand2> Yes Целое число или число с плавающей запятой The number that multiples multiplicand1
Return value Type Description
< product-result> Целое число или число с плавающей запятой Произведение от умножения первого числа на второе

Example

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

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

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

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

multipartBody

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

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

N

not

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

not(<expression>)
Parameter Required Type Description
< expression> Yes Boolean Выражение для проверки
Return value Type Description
истина или ложь Boolean Возвращает значение true, если выражение ложно. Возвращает значение false, если выражение истинно.

Example 1

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

not(false)
not(true)

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

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

Example 2

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

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

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

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

nthIndexOf

Return the starting position or index value where the nth occurrence of a substring appears in a string.

nthIndexOf('<text>', '<searchText>', <occurrence>)
Parameter Required Type Description
< text> Yes String Строка, содержащая подстроку для поиска
< searchText> Yes String Подстрока для поиска
< occurrence> Yes Integer A number that specifies the nth occurrence of the substring to find. If occurrence is negative, start searching from the end.
Return value Type Description
< index-value> Integer The starting position or index value for the nth occurrence of the specified substring. If the substring isn't found or fewer than n occurrences of the substring exist, return -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
< expression1>, <expression2>, ... Yes Boolean Выражения, которые нужно проверить
Return value Type Description
истина или ложь Boolean Возвращает истину, если по крайней мере одно выражение истинно. Возвращает значение false, если все выражения ложны.

Example 1

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

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

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

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

Example 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 Имя выходных данных действия, которое вы хотите.
Return value Type Description
< output> 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
< parameterName> Yes String Имя параметра, значение которого нужно получить
Return value Type Description
< parameter-value> Any Значение указанного параметра

Example

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

{
  "fullName": "Sophia Owen"
}

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

parameters('fullName')

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

parseDateTime

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

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

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

If locale isn't a valid value, an error is generated.
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат не указан, попробуйте выполнить синтаксический анализ с несколькими форматами, совместимыми с указанным языковым стандартом. Если формат имеет недопустимое значение, генерируется ошибка.
Return value Type Description
< parsed-timestamp> String The parsed timestamp in "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) format, which complies with ISO 8601 and preserves time zone information.

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
< minValue> Yes Integer Наименьшее целое число в диапазоне
< maxValue> Yes Integer Целое число, следующее за самым высоким целым числом в диапазоне, который функция может возвращать.
Return value Type Description
< random-result> Integer Случайное целое число, возвращаемое из указанного диапазона

Example

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

rand(1, 5)

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

range

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

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



Note: The sum of the startIndex and count values must not exceed 2,147,483,647.
Return value Type Description
[<range-result>] Array Массив с целыми числами, который начинается с указанного индекса

Example

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

range(1, 4)

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

removeProperty

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

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

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

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

Example 1

This example removes the middleName property from a JSON object, which is converted from a string to JSON by using the JSON() function, and returns the updated object:

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

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

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

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

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

Example 2

This example removes the middleName child property from a customerName parent property in a JSON object, which is converted from a string to JSON by using the JSON() function, and returns the updated object:

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
< text> Yes String Строка, которая содержит подстроку для замены
< oldText> Yes String Часть строки для замены
< newText> Yes String замещающая строка
Return value Type Description
< updated-text> String Обновленная строка после замены подстроки

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

Example

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

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

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

result

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

Note

This function returns information only from the first-level actions in the scoped action and not from deeper nested actions such as switch or condition actions.

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

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

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

Измените порядок элементов в коллекции. When you use this function with sort(), you can sort a collection in descending order.

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

Example

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

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

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

S

setProperty

Задает значение свойства объекта JSON и возвращает обновленный объект. Если свойство, которое вы пытаетесь задать, не существует, свойство добавляется в объект. To add a new property, use the addProperty() function.

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

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

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

Example 1

This example sets the surName property in a JSON object, which is converted from a string to JSON by using the JSON() function. Функция присваивает указанное значение новому свойству и возвращает обновленный объект:

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

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

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

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

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

Example 2

This example sets the surName child property for the customerName parent property in a JSON object, which is converted from a string to JSON by using the JSON() function. Функция присваивает указанное значение новому свойству и возвращает обновленный объект:

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
< collection> Yes Array Коллекция, элементы которой требуется удалить
< count> Yes Integer Положительное целое число для количества элементов, которые нужно удалить на передней части
Return value Type Description
[<updated-collection>] Array Обновленная коллекция после удаления указанных элементов

Example

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

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

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

slice

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

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

- If startIndex is greater than the string length, return an empty string.

- If startIndex is negative, start searching at the index value that's the sum of the string length and startIndex.
< endIndex> No Integer Отсчитываемое от нуля конечное положение или значение, по которому заканчивается поиск подстроки. Символ, расположенный в конце значения индекса, не включается в поиск.

- If endIndex isn't specified or greater than the string length, search up to the end of the string.

- If endIndex is negative, end searching at the index value that the sum of the string length and endIndex.
Return value Type Description
< slice-result> 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

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

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

Example 1

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

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

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

Example 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
< text> Yes String Строка для разделения на подстроки в зависимости от указанного разделителя в исходной строке
< delimiter> Yes String Символ в исходной строке, используемый в качестве разделителя
Return value Type Description
[<substring1>,<substring2>,...] Array Массив, содержащий подстроки из исходной строки, разделенный запятыми

Example 1

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

split('a_b_c', '_')

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

Example 2

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

split('a_b_c', ' ')

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

startOfDay

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

startOfDay('<timestamp>', '<format>'?)
Parameter Required Type Description
< timestamp> Yes String Строка, содержащая метку времени
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

Если формат имеет недопустимое значение, генерируется ошибка.
Return value Type Description
< updated-timestamp> String Указанная метка времени, но начиная с нуля часов дня.

Example

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

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

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

startOfHour

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

startOfHour('<timestamp>', '<format>'?)
Parameter Required Type Description
< timestamp> Yes String Строка, содержащая метку времени
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example

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

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

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

startOfMonth

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

startOfMonth('<timestamp>', '<format>'?)
Parameter Required Type Description
< timestamp> Yes String Строка, содержащая метку времени
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example 1

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

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

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

Example 2

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

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

И возвращает этот результат: "2018-03-01"

startsWith

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

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

Example 1

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

startsWith('hello world', 'hello')

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

Example 2

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

startsWith('hello world', 'greetings')

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

string

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

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



Например, если присвоить переменную строки к несуществующему свойству, к которому можно получить доступ через оператор ?, то значение NULL будет преобразовано в пустую строку. При этом сравнение со значением NULL отличается от сравнения с пустой строкой.
Return value Type Description
< string-value> String Версия строки для указанного значения. If the value parameter is null or evaluates to null, this value is returned as an empty string ("") value.

Example 1

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

string(10)

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

Example 2

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

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

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

sub

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

sub(<minuend>, <subtrahend>)
Parameter Required Type Description
< minuend> Yes Целое число или число с плавающей запятой The number from which to subtract the subtrahend
< subtrahend> Yes Целое число или число с плавающей запятой The number to subtract from the minuend
Return value Type Description
< result> Целое число или число с плавающей запятой Результат вычитания второго числа из первого числа

Example

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

sub(10.3, .3)

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

substring

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

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

Note

Make sure that the sum from adding the startIndex and length parameter values is less than the length of the string that you provide for the text parameter. Otherwise, you get an error, unlike similar functions in other languages where the result is the substring from the startIndex to the end of the string. The length parameter is optional and if not provided, the substring() function takes all the characters beginning from startIndex to the end of the string.

Return value Type Description
< substring-result> String Подстрока с указанным числом символов, начиная с указанной позиции индекса в исходной строке

Example

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

substring('hello world', 6, 5)

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

subtractFromTime

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

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Parameter Required Type Description
< timestamp> Yes String Строка, содержащая метку времени
< interval> Yes Integer Число указанных единиц времени для вычитания
< timeUnit> Yes String The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example 1

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

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

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

Example 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
< collection> Yes Строка или массив Коллекция, элементы которой вы хотите
< count> Yes Integer Положительное целое число для количества элементов, которые вы хотите с начала.
Return value Type Description
< subset> or [<subset>] Строка или массив соответственно Строка или массив с указанным числом элементов, взятых из передней части исходной коллекции

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
< timestamp> Yes String Строка для метки времени
Return value Type Description
< ticks-number> Integer Число тактов с указанной метки времени

toLower

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

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

Example

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

toLower('Hello World')

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

toUpper

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

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

Example

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

toUpper('Hello World')

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

trigger

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

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

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

По умолчанию эта функция ссылается на весь объект триггера, но вы можете дополнительно указать свойство, значение которого требуется. Also, this function has shorthand versions available, see triggerOutputs() and triggerBody().

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

triggerBody

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

triggerBody()
Return value Type Description
< trigger-body-output> String Выходные данные body из триггера

triggerFormDataMultiValues

Return an array with values that match a key name in a trigger's form-data or form-encoded output.

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

Example

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

triggerFormDataMultiValues('feedUrl')

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

triggerFormDataValue

Return a string with a single value that matches a key name in a trigger's form-data or form-encoded output. Если функция обнаруживает более одного совпадения, она выдает ошибку.

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

Example

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

triggerFormDataValue('feedUrl')

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

triggerMultipartBody

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

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

triggerOutputs

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

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

trim

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

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

Example

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

trim(' Hello World  ')

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

U

union

Return a collection that has all the items from the specified collections. Чтобы появиться в результатах, элемент должен содержаться в любой коллекции, переданной этой функции. Если один или несколько элементов имеют одинаковое имя, в результатах появляется последний элемент с таким именем.

union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
Parameter Required Type Description
< collection1>, <collection2>, ... Yes Массив или объект, но не оба The collections from where you want all the items
Return value Type Description
< updatedCollection> Массив или объект соответственно Коллекция со всеми элементами из указанных коллекций — без дубликатов

Example

This example gets all the items from these collections:

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

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

uriComponent

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

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

Example

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

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

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

uriComponentToBinary

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

uriComponentToBinary('<value>')
Parameter Required Type Description
< value> Yes String Строка, закодированная в формате URI, для преобразования
Return value 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
< value> Yes String Строка, закодированная в формате URI, для декодирования
Return value Type Description
< decoded-uri> String Декодированная версия для строки в кодировке URI

Example

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

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

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

uriHost

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

uriHost('<uri>')
Parameter Required Type Description
< uri> Yes String URI, значение host которого вы хотите получить
Return value 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
< uri> Yes String URI, значение path которого вы хотите получить
Return value Type Description
< path-value> 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
< uri> Yes String URI, значения path и query которого требуется извлечь
Return value 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
< uri> Yes String URI, значение port которого вы хотите получить
Return value Type Description
< port-value> Integer Значение port для указанного URI. Если port не указывает значение, возвращается порт по умолчанию для протокола.

Example

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

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

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

uriQuery

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

uriQuery('<uri>')
Parameter Required Type Description
< uri> Yes String URI, значение query которого вы хотите получить
Return value Type Description
< query-value> 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
< uri> Yes String URI, значение scheme которого вы хотите получить
Return value Type Description
< scheme-value> String Значение scheme для указанного URI.

Example

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

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

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

utcNow

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

utcNow('<format>')

Optionally, you can specify a different format with the <format> parameter.

Parameter Required Type Description
< format> No String Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

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

Example 1

Предположим, сегодня 15 апреля 2018 г. в 1:00:00 вечера. Пример демонстрирует получение текущей метки времени:

utcNow()

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

Example 2

Предположим, сегодня 15 апреля 2018 г. в 1:00:00 вечера. В этом примере текущая метка времени получается с помощью необязательного формата "D":

utcNow('D')

И возвращает этот результат: "Sunday, April 15, 2018"

V

variables

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

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

Example

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

variables('numItems')

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

W

workflow

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

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



По умолчанию объект рабочего процесса имеет следующие свойства: name, type, id, location, run и tags.



– Значение свойства run — это объект JSON, который включает следующие свойства: name, type и id.



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



Note: By default, a logic app has no tags, but a Power Automate flow has the flowDisplayName and environmentName tags.

Example 1

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

workflow().run.name

Example 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
< value> Yes String Строка с объектом JSON для преобразования

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

Example 1

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

xml('<name>Sophia Owen</name>')

И возвращает xml-код результата:

<name>Sophia Owen</name>

Example 2

В этом примере создается XML-версия для этой строки, которая содержит объект JSON:

xml(json('{ "name": "Sophia Owen" }'))

И возвращает xml-код результата:

<name>Sophia Owen</name>

Example 3

Предположим, у вас есть этот объект JSON:

{
  "person": {
    "name": "Sophia Owen",
    "city": "Seattle"
  }
}

В этом примере создается XML-код для строки, содержащей этот объект JSON:

xml(json('{"person": {"name": "Sophia Owen", "city": "Seattle"}}'))

И возвращает xml-код результата:

<person>
  <name>Sophia Owen</name>
  <city>Seattle</city>
<person>

xpath

Проверьте XML на наличие узлов или значений, которые соответствуют выражению XPath (язык путей 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
Return value Type Description
< xml-node> XML Узел XML, где только один узел соответствует указанному выражению XPath
< value> Any Значение из узла XML, где только одно значение соответствует указанному выражению XPath
[<xml-node1>, <xml-node2>, ...] -or- [<value1>, <value2>, ...] Array Массив с узлами XML или значениями, которые соответствуют указанному выражению XPath

Example 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()')

The example also uses the parameters() function to get the XML string from 'items' and convert the string to XML format by using the xml() function.

Вот массив результатов, заполненный значениями узлов, которые соответствуют <name></name>:

[ Gala, Honeycrisp ]

Example 2

За основу взять пример 1. Здесь передается выражение XPath '/produce/item/name[1]', чтобы найти первый элемент name, который является дочерним для item.

xpath(xml(parameters('items')), '/produce/item/name[1]')

Ниже приведен результат: Gala

Example 3

Следуя примеру 1, в этом примере используется выражение XPath '/produce/item/name[last()]', чтобы найти последний элемент name, который является дочерним для элемента item.

xpath(xml(parameters('items')), '/produce/item/name[last()]')

Ниже приведен результат: Honeycrisp

Example 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 ]

Example 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 ]

Example 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

Example 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

Example 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"]')

Example 9

За основу взят пример 8. Здесь используется выражение XPath 'string(/*[name()="file"]/*[name()="location"])', чтобы найти значение узла <location></location>:

xpath(xml(body('Http')), 'string(/*[name()="file"]/*[name()="location"])')

Ниже приведен результат: Paris

Next steps

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