Бөлісу құралы:


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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

Примечание.

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

а

действие

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

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

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

actions

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

Совет

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

Примечание.

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

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

Пример

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

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

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

add

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

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

Пример

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

add(1, 1.5)

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

addDays

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

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

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

Пример 1

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

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

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

Пример 2

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

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

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

addHours

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

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

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

Пример 1

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

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

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

Пример 2

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

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

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

addMinutes

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

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

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

Пример 1

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

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

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

Пример 2

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

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

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

addProperty

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

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

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

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

Пример 1

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

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

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

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

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

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

Пример 2

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

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

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

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

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

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

addSeconds

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

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

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

Пример 1

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

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

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

Пример 2

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

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

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

addToTime

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

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

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

Пример 1

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

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

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

Пример 2

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

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

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

и

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

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

Пример 1

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

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

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

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

Пример 2

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

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

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

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

array

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

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

Пример

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

array('hello')

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

Б

base64

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

Примечание.

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

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

Пример

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

base64('hello')

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

base64ToBinary

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

Примечание.

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

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

Пример

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

base64ToBinary('aGVsbG8=')

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

base64ToString

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

Примечание.

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

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

Пример

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

base64ToString('aGVsbG8=')

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

binary

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

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

Пример

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

текст

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

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

Пример

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

body('Get_user')

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

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

bool

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

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

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

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

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

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

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

C

chunk

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

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

Пример 1

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

chunk('abcdefghijklmnopqrstuvwxyz', 10)

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

Пример 2

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

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

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

coalesce

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

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

Пример

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

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

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

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

concat

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

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



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

Примечание.

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

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

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

Пример

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

concat('Hello', 'World')

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

содержит

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

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

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

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

Пример 1

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

contains('hello world', 'world')

Пример 2

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

contains('hello world', 'universe')

convertFromUtc

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

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

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

Пример 1

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

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

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

Пример 2

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

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

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

convertTimeZone

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

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

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

Пример 1

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

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

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

Пример 2

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

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

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

convertToUtc

Преобразует метку времени с исходным часовым поясом в формат UTC.

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

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

Пример 1

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

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

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

Пример 2

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

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

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

createArray

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

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

Пример

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

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

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

D

dataUri

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

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

Пример

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

dataUri('hello')

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

dataUriToBinary

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

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

Пример

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

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

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

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

dataUriToString

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

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

Пример

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

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

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

dateDifference

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

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

Пример

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

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

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

dayOfMonth

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

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

Пример

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

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

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

dayOfWeek

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

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

Пример

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

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

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

dayOfYear

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

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

Пример

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

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

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

десятичное

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

Примечание.

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

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

Пример 1

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

decimal('1.2345678912312131') // Returns 1.234567891231213.

Пример 2

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

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

Пример 3

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

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

Пример 4

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

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

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

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

decodeDataUri

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

Примечание.

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

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

Пример

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

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

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

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

decodeUriComponent

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

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

Пример

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

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

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

div

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

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



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

Пример 1

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

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

Пример 2

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

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

E

encodeUriComponent

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

Примечание.

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

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

Пример

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

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

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

empty

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

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

Пример

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

empty('')
empty('abc')

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

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

endsWith

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

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

Пример 1

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

endsWith('hello world', 'world')

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

Пример 2

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

endsWith('hello world', 'universe')

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

равно

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

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

Пример

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

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

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

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

F

первая

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

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

Пример

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

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

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

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

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

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

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

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

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

Пример 1

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

float('10,000.333')

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

Пример 2

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

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

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

formatDateTime

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

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

Примеры

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

formDataMultiValues

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

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

Пример

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

formDataMultiValues('Send_an_email', 'Subject')

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

formDataValue

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

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

Пример

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

formDataValue('Send_an_email', 'Subject')

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

formatNumber

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

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

Пример 1

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

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

*Пример 2"

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

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

Пример 3

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

formatNumber(17.35, 'C2')

Пример 4

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

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

G

getFutureTime

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

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

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

Пример 1

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

getFutureTime(5, 'Day')

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

Пример 2

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

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

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

getPastTime

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

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

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

Пример 1

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

getPastTime(5, 'Day')

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

Пример 2

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

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

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

greater

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

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

Пример

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

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

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

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

greaterOrEquals

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

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

Пример

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

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

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

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

guid

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

guid()

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

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

Пример

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

guid('P')

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

I

if

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

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

Пример

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

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

indexOf

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

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

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

Пример

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

indexOf('hello world', 'world')

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

INT

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

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

Пример

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

int('10')

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

isFloat

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

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

Пример 1

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

isFloat('10,000.00')

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

Пример 2

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

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

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

isInt

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

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

Пример

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

isInt('10')

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

элемент

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

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

Пример

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

item().body

items

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

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

Пример

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

items('myForEachLoopName')

iterationIndexes

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

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

Пример

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

iterationIndexes('Until_Max_Increment')

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

J

json

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

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

Внимание

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

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

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



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

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

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

Пример 1

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

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

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

Пример 2

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

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

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

{
  "fullName": "Sophia Owen"
}

Пример 3

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

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

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

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

Пример 4

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

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

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

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

intersection

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

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

Пример

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

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

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

join

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

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



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

Пример

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

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

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

L

последняя

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

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

Пример

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

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

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

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

lastIndexOf

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

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

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

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

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

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

Примеры

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

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

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

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

length

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

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

Пример

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

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

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

less

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

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

Пример

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

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

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

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

lessOrEquals

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

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

Пример

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

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

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

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

listCallbackUrl

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

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

Пример

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

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

Пн.

макс.

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

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

Пример

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

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

Возвращается результат: 3

мин

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

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

Пример

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

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

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

mod

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

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

Пример 1

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

mod(3, 2)

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

Пример 2

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

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

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

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

mul

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

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

Пример

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

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

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

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

multipartBody

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

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

N

not

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

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

Пример 1

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

not(false)
not(true)

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

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

Пример 2

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

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

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

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

nthIndexOf

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

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

Примеры

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

O

or

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

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

Пример 1

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

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

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

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

Пример 2

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

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

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

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

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

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

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

Пример

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

outputs('Get_user')

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

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

P

parameters

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

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

Пример

Предположим, что это значение JSON:

{
  "fullName": "Sophia Owen"
}

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

parameters('fullName')

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

parseDateTime

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

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

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

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

Примеры

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

R

rand

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

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

Пример

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

rand(1, 5)

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

range

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

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



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

Пример

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

range(1, 4)

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

removeProperty

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

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

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

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

Пример 1

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

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

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

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

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

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

Пример 2

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

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

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

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

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

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

replace

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

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

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

Пример

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

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

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

result

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

Примечание.

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

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

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

Пример

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

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

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

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

reverse

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

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

Пример

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

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

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

S

setProperty

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

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

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

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

Пример 1

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

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

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

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

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

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

Пример 2

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

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

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

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

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

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

skip

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

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

Пример

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

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

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

slice

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

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

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

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

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

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

Примеры

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

Пример 1

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

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

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

Пример 2

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

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

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

split

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

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

Пример 1

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

split('a_b_c', '_')

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

Пример 2

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

split('a_b_c', ' ')

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

startOfDay

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

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

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

Пример

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

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

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

startOfHour

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

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

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

Пример

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

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

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

startOfMonth

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

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

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

Пример 1

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

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

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

Пример 2

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

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

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

startsWith

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

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

Пример 1

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

startsWith('hello world', 'hello')

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

Пример 2

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

startsWith('hello world', 'greetings')

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

строка

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

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



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

Пример 1

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

string(10)

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

Пример 2

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

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

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

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

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

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

Пример

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

sub(10.3, .3)

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

substring

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

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

Примечание.

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

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

Пример

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

substring('hello world', 6, 5)

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

subtractFromTime

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

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

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

Пример 1

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

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

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

Пример 2

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

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

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

T

take

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

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

Пример

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

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>')
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка для метки времени
Возвращаемое значение Тип Описание
<число тактов> Целое Число тактов с момента в указанной метке времени

toLower

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

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

Пример

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

toLower('Hello World')

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

toUpper

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

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

Пример

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

toUpper('Hello World')

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

Azure

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

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

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

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

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

triggerBody

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

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

triggerFormDataMultiValues

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

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

Пример

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

triggerFormDataMultiValues('feedUrl')

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

triggerFormDataValue

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

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

Пример

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

triggerFormDataValue('feedUrl')

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

triggerMultipartBody

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

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

triggerOutputs

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

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

trim

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

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

Пример

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

trim(' Hello World  ')

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

U

union

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

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

Пример

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

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

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

uriComponent

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

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

Пример

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

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

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

uriComponentToBinary

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

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

Пример

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

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

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

"001000100110100001110100011101000111000000100101001100 11010000010010010100110010010001100010010100110010010001 10011000110110111101101110011101000110111101110011011011 110010111001100011011011110110110100100010"

uriComponentToString

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

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

Пример

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

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

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

uriHost

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

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

Пример

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

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

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

uriPath

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

uriPath('<uri>')
Параметр Обязательное поле Type Описание
<uri> Да Строка URI, значение path которого требуется
Возвращаемое значение Тип Описание
<значение пути> Строка Значение path для указанного URI. Если path не имеет значения, вернется символ "/".

Пример

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

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

Возвращается такой результат: "/catalog/shownew.htm"

uriPathAndQuery

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

uriPathAndQuery('<uri>')
Параметр Обязательное поле Type Описание
<uri> Да Строка URI, значения path и query которого требуется извлечь
Возвращаемое значение Тип Описание
<значение запроса пути> Строка Значения path и query для указанного URI. Если path не указывает значение, вернется символ "/".

Пример

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

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

Возвращается такой результат: "/catalog/shownew.htm?date=today"

uriPort

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

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

Пример

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

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

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

uriQuery

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

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

Пример

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

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

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

uriScheme

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

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

Пример

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

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

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

utcNow

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

utcNow('<format>')

Кроме того, можно указать другой формат с помощью параметра <format>.

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

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

Пример 1

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

utcNow()

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

Пример 2

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

utcNow('D')

Возвращается такой результат: "Sunday, April 15, 2018"

V

переменные

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

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

Пример

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

variables('numItems')

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

Ср.

обновления агентов

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

workflow().<property>
Параметр Обязательное поле Type Описание
<свойство> Нет Строка Имя свойства рабочего процесса, значение которого требуется



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



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



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



Примечание. По умолчанию приложение логики не имеет тегов, но в потоке Power Automate есть теги flowDisplayName и environmentName.

Пример 1

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

workflow().run.name

Пример 2

В Power Automate можно создать выражение @workflow(), которое использует свойство выходных данных tags, чтобы получать значение из свойств потока flowDisplayName или environmentName.

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

<a href=https://flow.microsoft.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/details>Open flow @{workflow()['tags']['flowDisplayName']}</a>

X

xml

Возвращает версию XML строки, которая содержит объект JSON.

xml('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Строка с объектом JSON для преобразования

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

Пример 1

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

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

Возвращается следующий XML:

<name>Sophia Owen</name>

Пример 2

В этом примере создается версия XML для этой строки, которая содержит объект JSON:

xml(json('{ "name": "Sophia Owen" }'))

Возвращается следующий XML:

<name>Sophia Owen</name>

Пример 3

Предположим, что у вас есть этот объект JSON:

{
  "person": {
    "name": "Sophia Owen",
    "city": "Seattle"
  }
}

В этом примере создается XML для строки, содержащей этот объект JSON:

xml(json('{"person": {"name": "Sophia Owen", "city": "Seattle"}}'))

Возвращается следующий XML:

<person>
  <name>Sophia Owen</name>
  <city>Seattle</city>
<person>

xpath

Проверяет XML на наличие узлов или значений, которые соответствуют выражению XPath, и возвращает соответствующие узлы или значения. Выражение XPath (или просто "XPath") помогает перемещаться по структуре документа XML, чтобы вы могли выбирать узлы или вычислять значения в содержимом XML.

Примечание.

В приложениях логики "Потребление" и "Стандартный" все выражения функций используют библиотеку .NET XPath. Выражения XPath совместимы с базовой библиотекой .NET и поддерживают только выражение, поддерживаемое базовой библиотекой .NET.

xpath('<xml>', '<xpath>')
Параметр Обязательное поле Type Описание
<xml> Да Любое Строка XML для поиска узлов и значений, которые соответствуют значению выражения XPath
<xpath> Да Любое Выражение XPath, используемое для поиска соответствующих узлов или значений XML
Возвращаемое значение Тип Описание
<узел XML> XML Узел XML, где только один узел соответствует указанному выражению XPath
<значение> Любое Значение из узла XML, где только одно значение соответствует указанному выражению XPath
[<xml-node1>, <xml-node2>, ...] -или- [<значение1>, <значение2>, ...] Массив Массив с узлами XML или значениями, которые соответствуют указанному выражению XPath

Пример 1

Предположим, что у вас есть следующая строка XML 'items':

<?xml version="1.0"?>
<produce>
  <item>
    <name>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

В этом примере передается выражение XPath '/produce/item/name/text()', чтобы найти узлы, соответствующие узлу <name></name> в строке XML 'items', а затем возвращается массив со значениями узла:

xpath(xml(parameters('items')), '/produce/item/name/text()')

Здесь также используется функция parameters(), с помощью которой строка передается из 'items', а также функция xml(), которая преобразует строку в формат XML.

Вот массив результатов, заполненный значениями узлов, которые соответствуют <name></name>:

[ Gala, Honeycrisp ]

Пример 2

За основу взять пример 1. Здесь передается выражение XPath '/produce/item/name[1]', чтобы найти первый элемент name, который является дочерним для item.

xpath(xml(parameters('items')), '/produce/item/name[1]')

Ниже приведен результат: Gala

Пример 3

За основу взять пример 1. Здесь передается выражение XPath '/produce/item/name[last()]', чтобы найти последний элемент name, который является дочерним для item.

xpath(xml(parameters('items')), '/produce/item/name[last()]')

Ниже приведен результат: Honeycrisp

Пример 4

Предположим, что строка XML items также содержит атрибуты expired='true' и expired='false':

<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name expired='false'>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

В этом примере передается выражение XPath '//name[@expired]', чтобы найти все элементы name с атрибутом expired:

xpath(xml(parameters('items')), '//name[@expired]')

Ниже приведен результат: [ Gala, Honeycrisp ]

Пример 5

Предположим, что строка XML items содержит только атрибут expired = 'true':

<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

В этом примере передается выражение XPath '//name[@expired = 'true']', чтобы найти все элементы name с атрибутом expired = 'true':

xpath(xml(parameters('items')), '//name[@expired = 'true']')

Ниже приведен результат: [ Gala ]

Пример 6

Предположим, что строка XML items также содержит следующие атрибуты:

  • expired='true' price='12'
  • expired='false' price='40'
<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true' price='12'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name expired='false' price='40'>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

В этом примере передается выражение XPath '//name[@price>35]', чтобы найти все элементы name с атрибутом price > 35:

xpath(xml(parameters('items')), '//name[@price>35]')

Ниже приведен результат: Honeycrisp

Пример 7

Предположим, что строка XML items та же, что и в примере 1:

<?xml version="1.0"?>
<produce>
  <item>
    <name>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

В этом примере находятся узлы, которые соответствуют узлу <count></count>, а их значения передаются с помощью функции sum():

xpath(xml(parameters('items')), 'sum(/produce/item/count)')

Ниже приведен результат: 30

Пример 8

Предположим, что строка XML включает пространство имен XML xmlns="https://contoso.com":

<?xml version="1.0"?><file xmlns="https://contoso.com"><location>Paris</location></file>

Эти выражения используют выражение XPath /*[name()="file"]/*[name()="location"] или /*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"], чтобы найти узлы, соответствующие узлу <location></location>. В этих примерах показан синтаксис, который используется в конструкторе или в редакторе выражений:

  • xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')
  • xpath(xml(body('Http')), '/*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"]')

Ниже приведен узел, соответствующий узлу <location></location>:

<location xmlns="https://contoso.com">Paris</location>

Внимание

Если вы работаете в представлении кода, изолируйте двойные кавычки (") символом обратной косой черты (\). Например, при сериализации выражения в виде строки JSON необходимо использовать escape-символы. В конструкторе или в редакторе выражений не нужно изолировать двойные кавычки, поскольку символ обратной косой черты добавляется определениям автоматически:

  • Представление кода: xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')

  • Редактор выражений: xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')

Пример 9

За основу взят пример 8. Здесь используется выражение XPath 'string(/*[name()="file"]/*[name()="location"])', чтобы найти значение узла <location></location>:

xpath(xml(body('Http')), 'string(/*[name()="file"]/*[name()="location"])')

Ниже приведен результат: Paris

Следующие шаги

Дополнительные сведения о языке определения рабочего процесса.