Справочное руководство по функциям в выражениях рабочих процессов в 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 user
X:
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
Следующие шаги
Дополнительные сведения о языке определения рабочего процесса.