Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется к: Azure Logic Apps (Расход + Стандарт)
Для определений рабочих процессов в Azure Logic Apps в Power Automate некоторые выражения получают значения из действий среды выполнения, которые могут не существовать при запуске рабочего процесса. To reference or process the values in these expressions, you can use expression functions provided by the Workflow Definition Language.
Note
Это справочное руководство относится как к Azure Logic Apps, так и к Power Automate, но существует в документации по Azure Logic Apps. Хотя руководство относится специально к рабочим процессам приложения логики, эти функции работают как для потоков в Power Automate, так и для рабочих процессов в Azure Logic Apps. Дополнительные сведения о функциях и выражениях в Power Automate см. в разделе "Использование выражений в условиях".
For example, you can calculate values by using math functions, such as the add() function, when you want the sum from integers or floats. Вот еще примеры задач, которые вы можете выполнять с помощью функций.
Task | Function syntax | Result |
---|---|---|
Возвращает строку в нижнем регистре. | toLower('<text>') Например, toLower('Hello'). |
"hello" |
Возвращение глобального уникального идентификатора (GUID). | guid() | "c2ecc88d-88c8-4096-912c-d6f2e2b138ce" |
Чтобы найти функции, основанные на их общем назначении, просмотрите следующие таблицы. Or, for detailed information about each function, see the alphabetical list.
Функции в выражениях
To show how to use a function in an expression, this example shows how you can get the value from the customerName
parameter and assign that value to the accountName
property by using the parameters() function in an expression:
"accountName": "@parameters('customerName')"
Вот некоторые другие общие способы использования функций в выражениях:
Task | Синтаксис функции в выражении |
---|---|
Выполнить операцию с элементом, передав этот элемент функции. | "@<functionName>(<item>)" |
1. Get the parameterName's value by using the nested parameters() function. 2. Perform work with the result by passing that value to functionName. |
"@<functionName>(parameters('<parameterName>'))" |
1. Get the result from the nested inner function functionName. 2. Pass the result to the outer function functionName2. |
"@<functionName2>(<functionName>(<item>))" |
1. Get the result from functionName. 2. Given that the result is an object with property propertyName, get that property's value. |
"@<functionName>(<item>).<propertyName>" |
Например, функция concat()
может принимать два или более строковых значения в качестве параметров. Эта функция объединяет эти строки в одну. Вы можете передать строковые литералы, например "Sophia" и "Owen", чтобы получить комбинированную строку "SophiaOwen":
"customerName": "@concat('Sophia', 'Owen')"
Или можно получить строковые значения параметров. В этом примере используется функция parameters()
в каждом параметре concat()
и параметры firstName
и lastName
. Затем передайте полученные строки в функцию concat()
, чтобы получить комбинированную строку, например "SophiaOwen":
"customerName": "@concat(parameters('firstName'), parameters('lastName'))"
В любом случае в обоих примерах присвойте результат свойству customerName
.
Рекомендации по использованию функций
Конструктор не вычисляет выражения среды выполнения, которые используются в качестве параметров функции во время разработки. Конструктор требует, чтобы все выражения можно было полностью оценивать во время разработки.
Параметры функций оцениваются слева направо.
В синтаксисе для определения параметров знак вопроса (?), который расположен после параметра, означает, что параметр является необязательным. For example, see getFutureTime().
Функциональные выражения, которые вставляются в строку с обычным текстом, необходимо заключить в фигурные скобки ({}), чтобы использовать интерполированный формат выражения. Этот формат помогает избежать проблем с синтаксическим анализом. Если выражение функции не отображается в виде обычного текста, фигурные скобки не требуются.
В следующем примере показан правильный и неправильный синтаксис:
Correct:
"<text>/@{<function-name>('<parameter-name>')}/<text>"
Incorrect:
"<text>/@<function-name>('<parameter-name>')/<text>"
OK:
"@<function-name>('<parameter-name>')"
The following sections organize functions based on their general purpose, or you can browse these functions in alphabetical order.
String functions
To work with strings, you can use these string functions and also some collection functions. Строковые функции работают только со строками.
String function | Task |
---|---|
chunk | Разделить строку или коллекцию на блоки равной длины. |
concat | Объедините две или несколько строк и верните объединенную строку. |
endsWith | Проверьте, заканчивается ли строка указанной подстрокой. |
formatNumber | Возврат числа в виде строки на основе указанного формата |
guid | Создайте глобальный уникальный идентификатор (GUID) в виде строки. |
indexOf | Вернуть начальную позицию подстроки. |
isFloat | Возвращает логическое значение, указывающее, является ли строка числом с плавающей запятой. |
isInt | Возвращает булево значение, которое указывает, является ли строка целым числом. |
lastIndexOf | Возвращает начальную позицию для последнего вхождения подстроки. |
length | Возвращает количество элементов в строке или массиве. |
nthIndexOf | Return the starting position or index value where the nth occurrence of a substring appears in a string. |
replace | Замените подстроку указанной строкой и верните обновленную строку. |
slice | Возвращает подстроку, указывая начальную и конечную позицию или значение. See also substring. |
split | Возвращает массив, содержащий подстроки, разделенные запятыми, из большей строки, основываясь на указанном символе разделителя в исходной строке. |
startsWith | Проверьте, начинается ли строка с определенной подстроки. |
substring | Возвращает символы из строки, начиная с указанной позиции. See also slice. |
toLower | Возвращает строку в нижнем регистре. |
toUpper | Верните строку в верхнем регистре. |
trim | Удалите начальные и конечные пробелы из строки и верните обновленную строку. |
Collection functions
Для работы с коллекциями, обычно массивами, строками, а иногда и словарями, вы можете использовать следующие функции.
Collection function | Task |
---|---|
chunk | Разделить строку или коллекцию на блоки равной длины. |
contains | Проверьте, имеет ли коллекция определенный элемент. |
empty | Проверьте, пуста ли коллекция. |
first | Верните первый элемент из коллекции. |
intersection | Return a collection that has only the common items across the specified collections. |
item | Если эта функция появляется внутри повторяющегося действия в массиве, она возвращает текущий элемент массива во время текущей итерации действия. |
join | Return a string that has all the items from an array, separated by the specified character. |
last | Возвращает последний элемент из коллекции. |
length | Возвращает количество элементов в строке или массиве. |
reverse | Измените порядок элементов в массиве. |
skip | Удаляет элементы из начала коллекции и возвращает все остальные элементы. |
sort | Сортировка элементов в коллекции. |
take | Возвращает элементы, расположенные в начале коллекции. |
union | Return a collection that has all the items from the specified collections. |
Функции логического сравнения
Чтобы работать с условиями, сравнивать значения и результаты выражений или оценивать различные типы логики, можно использовать следующие функции логического сравнения. For the full reference about each function, see the alphabetical list.
Note
Если вы используете логические функции или условия для сравнения значений, то значения NULL преобразуются в пустые строки (""
). При сравнении с пустой строкой, а не значением NULL, условия ведут себя по-другому. For more information, see the string() function.
Функция логического сравнения | Task |
---|---|
and | Проверьте, являются ли все выражения истинными. |
equals | Проверьте, эквивалентны ли оба значения. |
greater | Проверяет, является ли первое значение большим, чем второе. |
greaterOrEquals | Проверяет, является ли первое значение большим, чем второе, или равным ему. |
if | Проверьте, какое значение имеет выражение: true или false. В зависимости от результата возвращается указанное значение. |
isFloat | Возвращает логическое значение, указывающее, является ли строка числом с плавающей запятой. |
isInt | Возвращает булево значение, которое указывает, является ли строка целым числом. |
less | Проверяет, является ли первое значение меньшим, чем второе. |
lessOrEquals | Проверяет, является ли первое значение меньшим, чем второе, или равным ему. |
not | Проверьте, является ли выражение ложным. |
or | Проверьте, является ли по крайней мере одно выражение истинным. |
Conversion functions
Чтобы изменить тип или формат значения, можно использовать приведенные ниже функции преобразования. Например, вы можете изменить значение с логического на целочисленное. Чтобы узнать, как приложения логики обрабатывают типы содержимого во время преобразования, см. статью Обработка типов содержимого в Azure Logic Apps. For the full reference about each function, see the alphabetical list.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Неявное преобразование типов данных.
Conversion function | Task |
---|---|
array | Возвращает массив из одного указанного входного значения. For multiple inputs, see createArray. |
base64 | Возвращает версию в кодировке Base64 для строки. |
base64ToBinary | Возвращает двоичную версию строки с кодировкой base64. |
base64ToString | Возвращает строковую версию строки с кодировкой base64. |
binary | Возвращает двоичную версию входного значения. |
bool | Возвращает логическую версию входного значения. |
createArray | Возвращает массив из нескольких входных данных. |
dataUri | Возвращает URI данных для входного значения. |
dataUriToBinary | Верните двоичную версию для URI-данных. |
dataUriToString | Возвращает строковую версию URI данных. |
decimal | Возвращает десятичное число для десятичной строки. |
decodeBase64 | Возвращает строковую версию строки с кодировкой base64. |
decodeDataUri | Верните двоичную версию для URI-данных. |
decodeUriComponent | Возвращает строку, в которой escape-символы заменяются на их декодированные версии. |
encodeUriComponent | Верните строку, в которой символы, небезопасные для URL-адреса, заменены экранирующими символами. |
float | Возвращает число с плавающей запятой для входного значения. |
int | Возвращает целочисленную версию строки. |
json | Возвращает значение типа нотации объектов JavaScript (JSON) или объект для строки или XML. |
string | Возвращает строковую версию входного значения. |
uriComponent | Возвращает кодированную версию URI для входного значения, заменив символы, опасные для URL-адреса, на escape-символы. |
uriComponentToBinary | Возвращает двоичную версию для строки в кодировке URI. |
uriComponentToString | Возвращает строковую версию строки с закодированным URI. |
xml | Возвращает XML-версию строки. |
Неявные преобразования типов данных
Azure Logic Apps автоматически или неявно преобразовывает некоторые типы данных, поэтому вручную это делать не нужно. Например, если используются нестроковые значения, где строки ожидаются в качестве входных данных, Azure Logic Apps автоматически преобразует нестроковые значения в строки.
Например, предположим, что триггер возвращает числовое значение в качестве выходных данных:
triggerBody()?['123']
Если используются эти числовые выходные данные там, где ожидается ввод строк, например URL-адресов, Azure Logic Apps автоматически преобразует значение в строку с помощью нотации фигурных скобок ({}
):
@{triggerBody()?['123']}
Кодирование и декодирование Base64
Azure Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих функций:
base64(<value>)
base64ToBinary(<value>)
base64ToString(<value>)
base64(decodeDataUri(<value>))
concat('data:;base64,',<value>)
concat('data:,',encodeUriComponent(<value>))
decodeDataUri(<value>)
Note
Если вы вручную добавите любую из этих функций при использовании конструктора, либо непосредственно в триггер или действие, либо с помощью редактора выражений, перейдете из конструктора, а затем вернетесь в него, функция исчезнет из конструктора, оставив только значения параметров. Так происходит, когда вы выбираете триггер или действие, которые используют эту функцию, без редактирования значений ее параметров. В результате изменения касаются только отображения функции, но не ее эффекта. В представлении кода функция не изменяется. Но если вы изменяете значения параметров функции, то ее отображение и эффект удаляются из представления кода. Остаются только значения параметров.
Math functions
Для работы с целыми числами и числами с плавающей запятой можно использовать следующие математические функции. For the full reference about each function, see the alphabetical list.
Math function | Task |
---|---|
add | Возвращает результат сложения двух чисел. |
div | Возвращает результат деления двух чисел. |
max | Возвращает наибольшее значение из набора чисел или массива. |
min | Возвращает наименьшее значение из набора чисел или массива. |
mod | Возвращает остаток результата деления двух чисел. |
mul | Возвращает результат умножения двух чисел. |
rand | Возвращает случайное целое число из указанного диапазона. |
range | Возвращает массив целых чисел, который начинается с заданного целого числа. |
sub | Возвращает результат вычитания второго числа из первого числа. |
Функции даты и времени
Чтобы работать с датами и временем, вы можете использовать эти функции даты и времени. For the full reference about each function, see the alphabetical list.
Функция даты или времени | Task |
---|---|
addDays | Добавляет дни в метку времени. |
addHours | Добавьте часы к метке времени. |
addMinutes | Добавляет минуты к метке времени. |
addSeconds | Добавьте секунды к метке времени. |
addToTime | Добавляет указанное количество единиц времени в метку времени. See also getFutureTime. |
convertFromUtc | Преобразуйте метку времени из универсального часового пояса (UTC) в целевой часовой пояс. |
convertTimeZone | Преобразуйте метку времени из исходного часового пояса в целевой часовой пояс. |
convertToUtc | Преобразуйте метку времени из исходного часового пояса во Всемирное координированное время (UTC). |
dateDifference | Возвращает разницу между двумя датами в виде интервала времени. |
dayOfMonth | Возвращает компонент "день месяца" из метки времени. |
dayOfWeek | Возвращает компонент дня недели из временной отметки. |
dayOfYear | Возвращает компонент дня года из метки времени. |
formatDateTime | Возвращает дату из метки времени. |
getFutureTime | Возвращает текущую метку времени и указанные единицы времени. See also addToTime. |
getPastTime | Возвращает текущую метку времени минус указанные единицы времени. See also subtractFromTime. |
parseDateTime | Возвращает метку времени из строки, содержащей метку времени. |
startOfDay | Верните начало дня для отметки времени. |
startOfHour | Возвратите начало часа для метки времени. |
startOfMonth | Возвращает начало месяца для временной метки. |
subtractFromTime | Вычтите некоторое количество единиц времени из метки времени. See also getPastTime. |
ticks | Возвращает значение свойства ticks для указанной метки времени. |
utcNow | Возвращает текущую метку времени в виде строки. |
Workflow functions
Эти функции рабочего процесса могут помочь:
- Получить информацию об экземпляре рабочего процесса в режиме выполнения.
- Работайте с входными данными, которые используются для создания экземпляров логических приложений или потоков.
- Обращаться к выходным данным триггеров и действий.
Например, вы можете ссылаться на выходные данные одного действия и использовать их в действии, которое выполняется позже. For the full reference about each function, see the alphabetical list.
Workflow function | Task |
---|---|
action | Возвращает выходные данные текущего действия во время выполнения или значения из других пар "имя — значение" JSON. See also actions. |
actions | Возвращает выходные данные действия во время выполнения или значения из других пар "имя — значение" JSON. See also action. |
body | Возвращает результат действия body во время выполнения. |
formDataMultiValues | Create an array with the values that match a key name in form-data or form-encoded action outputs. |
formDataValue | Return a single value that matches a key name in an action's form-data or form-encoded output. |
item | Если эта функция появляется внутри повторяющегося действия в массиве, она возвращает текущий элемент массива во время текущей итерации действия. |
items | Если эта функция появляется внутри цикла "Foreach" или "Until", она возвращает текущий элемент из указанного цикла. |
iterationIndexes | Если эта функция появляется в цикле "Until", она возвращает значение индекса для текущей итерации. Эту функцию можно использовать внутри вложенных циклов Until. |
listCallbackUrl | Возвращает URL-адрес обратного вызова, который вызывает триггер или действие. |
multipartBody | Возвращает текст указанной части выходных данных действия, которые состоят из нескольких частей. |
outputs | Возвращает результат действия во время выполнения. |
parameters | Возвращает значение параметра, описанного в определении вашего рабочего процесса. |
result | Возвращает входные и выходные данные для всех действий верхнего уровня внутри указанного действия с ограниченной областью, такого как For_each , Until и Scope . |
trigger | Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. See also triggerOutputs and triggerBody. |
triggerBody | Возвращает выходные данные body триггера во время выполнения. See trigger. |
triggerFormDataValue | Return a single value matching a key name in form-data or form-encoded trigger outputs. |
triggerMultipartBody | Возвращает текст указанной части выходных данных триггера, которые состоят из нескольких частей. |
triggerFormDataMultiValues | Create an array whose values match a key name in form-data or form-encoded trigger outputs. |
triggerOutputs | Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. See trigger. |
variables | Возвращает значение для указанной переменной. |
workflow | Возвращает все сведения о самом рабочем процессе во время выполнения. |
Функции анализа URI
Чтобы работать с унифицированными указателями ресурсов (URI) и получать различные значения их свойств, вы можете использовать эти функции разбора URI. For the full reference about each function, see the alphabetical list.
Функция анализа URI | Task |
---|---|
uriHost | Верните значение host для унифицированного указателя ресурса (URI). |
uriPath | Верните значение path для унифицированного указателя ресурса (URI). |
uriPathAndQuery | Возвращает значения path и query для URI. |
uriPort | Верните значение port для унифицированного указателя ресурса (URI). |
uriQuery | Верните значение query для унифицированного указателя ресурса (URI). |
uriScheme | Верните значение scheme для унифицированного указателя ресурса (URI). |
Функции обработки. JSON и язык XML
Для работы с объектами JSON и узлами XML вы можете использовать следующие функции обработки. For the full reference about each function, see the alphabetical list.
Manipulation function | Task |
---|---|
addProperty | Добавляет свойство и его значения или пару "имя — значение" в объект JSON и возвращает обновленный объект. |
coalesce | Возвращает первое значение, отличное от NULL, из одного или нескольких параметров. |
removeProperty | Удаляет свойство из объекта JSON и возвращает обновленный объект. |
setProperty | Задает значение свойства объекта JSON и возвращает обновленный объект. |
xpath | Проверьте XML на наличие узлов или значений, которые соответствуют выражению XPath (язык путей XML), и верните соответствующие узлы или значения. |
---------------------------------
Все функции — алфавитный список
В этом разделе перечислены все доступные функции в алфавитном порядке.
A
action
Return the current action's output at runtime, or values from other JSON name-and-value pairs, which you can assign to an expression. По умолчанию эта функция ссылается на весь объект действия, но вы можете дополнительно указать свойство, значение которого требуется. See also actions().
Вы можете использовать функцию action()
только со следующими объектами:
- Свойство
unsubscribe
для действия веб-перехватчика, чтобы вы могли получить результат из исходного запросаsubscribe
. - Свойство
trackedProperties
для действия. - Условие цикла
do-until
для действия.
action()
action().outputs.body.<property>
Parameter | Required | Type | Description |
---|---|---|---|
< property> | No | String | The name for the action object's property whose value you want: name, startTime, endTime, inputs, outputs, status, code, trackingId, and clientTrackingId. На портале Azure вы можете найти эти свойства, просмотрев подробности в конкретном журнале выполнения. Дополнительные сведения см. в статье с действиями запуска рабочего процесса в REST API. |
Return value | Type | Description |
---|---|---|
< action-output> | String | Выходные данные текущего действия или свойства |
actions
Возвращает выходные данные действия во время выполнения или значения из других пар "имя — значение" JSON, которые вы можете назначить выражению. По умолчанию эта функция ссылается на весь объект действия, но вы можете дополнительно указать свойство, значение которого требуется. For shorthand versions, see body(). For the current action, see action().
Tip
Функция actions()
возвращает выходные данные в виде строки. Если вы хотите использовать возвращаемое значение в виде объекта JSON, то сначала преобразуйте строку. Это можно сделать с помощью действия Parse JSON.
Note
Раньше вы могли использовать функцию actions()
или элемент conditions
при указании того, что действие выполнялось на основе результата другого действия. Однако, чтобы явно объявить зависимости между действиями, вы должны использовать свойство runAfter
зависимого действия.
Дополнительные сведения о свойстве runAfter
см. в статье Отлавливание и обработка ошибок с помощью свойства runAfter.
actions('<actionName>')
actions('<actionName>').outputs.body.<property>
Parameter | Required | Type | Description |
---|---|---|---|
< actionName> | Yes | String | Имя объекта действия, выходные данные которого требуется получить. |
< property> | No | String | The name for the action object's property whose value you want: name, startTime, endTime, inputs, outputs, status, code, trackingId, and clientTrackingId. На портале Azure вы можете найти эти свойства, просмотрев подробности в конкретном журнале выполнения. Дополнительные сведения см. в статье с действиями запуска рабочего процесса в REST API. |
Return value | Type | Description |
---|---|---|
< action-output> | String | Выходные данные указанного действия или свойства. |
Example
В этом примере возвращается status
значение свойства из действия Get user
X во время выполнения:
actions('Get_user').outputs.body.status
И возвращает этот результат: "Succeeded"
add
Возвращает результат сложения двух чисел.
add(<summand_1>, <summand_2>)
Parameter | Required | Type | Description |
---|---|---|---|
< summand_1>, <summand_2> | Yes | Целое число, float или смешанное | Числа, которые нужно сложить |
Return value | Type | Description |
---|---|---|
< result-sum> | Целое число или число с плавающей запятой | Результат сложения указанных чисел |
Example
В этом примере добавляются указанные числа:
add(1, 1.5)
И возвращает этот результат: 2.5
addDays
Добавляет дни в метку времени.
addDays('<timestamp>', <days>, '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< days> | Yes | Integer | Положительное или отрицательное количество дней для добавления |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< updated-timestamp> | String | Метка времени и указанное число дней |
Example 1
В этом примере к указанной метке времени добавляются 10 дней:
addDays('2018-03-15T00:00:00Z', 10)
И возвращает этот результат: "2018-03-25T00:00:00.0000000Z"
Example 2
В этом примере от указанной метки времени отнимается пять дней:
addDays('2018-03-15T00:00:00Z', -5)
И возвращает этот результат: "2018-03-10T00:00:00.0000000Z"
addHours
Добавьте часы к метке времени.
addHours('<timestamp>', <hours>, '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< hours> | Yes | Integer | Положительное или отрицательное количество часов для добавления |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< updated-timestamp> | String | Метка времени и указанное число часов |
Example 1
В этом примере к указанной метке времени добавляется 10 часов:
addHours('2018-03-15T00:00:00Z', 10)
И возвращает этот результат: "2018-03-15T10:00:00.0000000Z"
Example 2
В этом примере от указанной метки времени отнимается пять часов:
addHours('2018-03-15T15:00:00Z', -5)
И возвращает этот результат: "2018-03-15T10:00:00.0000000Z"
addMinutes
Добавляет минуты к метке времени.
addMinutes('<timestamp>', <minutes>, '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< minutes> | Yes | Integer | Число минут, которое нужно добавить, может быть положительным или отрицательным. |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< updated-timestamp> | String | Временная метка плюс указанное количество минут |
Example 1
В этом примере к указанной метке времени добавляется 10 минут:
addMinutes('2018-03-15T00:10:00Z', 10)
И возвращает этот результат: "2018-03-15T00:20:00.0000000Z"
Example 2
В этом примере от указанной метки времени отнимается пять минут:
addMinutes('2018-03-15T00:20:00Z', -5)
И возвращает этот результат: "2018-03-15T00:15:00.0000000Z"
addProperty
Добавляет свойство и его значения или пару "имя — значение" в объект JSON и возвращает обновленный объект. Если свойство уже существует во время выполнения, функция терпит сбой и выдает ошибку.
addProperty(<object>, '<property>', <value>)
Parameter | Required | Type | Description |
---|---|---|---|
< object> | Yes | Object | Объект JSON, в который вы хотите добавить свойство |
< property> | Yes | String | Имя добавляемого свойства |
< value> | Yes | Any | Значение для свойства |
Return value | Type | Description |
---|---|---|
< updated-object> | Object | Обновленный объект JSON с указанным свойством |
Чтобы добавить родительское свойство к существующему, используйте функцию setProperty()
, а не addProperty()
. В противном случае функция возвращает только дочерний объект в качестве выходных данных.
setProperty(<object>, '<parent-property>', addProperty(<object>['<parent-property>'], '<child-property>', <value>)
Parameter | Required | Type | Description |
---|---|---|---|
< object> | Yes | Object | Объект JSON, в который вы хотите добавить свойство |
< parent-property> | Yes | String | Имя родительского свойства, в которое необходимо добавить дочернее свойство |
< child-property> | Yes | String | Имя дочернего свойства, которое нужно добавить |
< value> | Yes | Any | Значение, задаваемое для указанного свойства |
Return value | Type | Description |
---|---|---|
< updated-object> | Object | Обновленный объект JSON, свойство которого задается |
Example 1
This example adds the middleName
property to a JSON object, which is converted from a string to JSON by using the JSON() function. Этот объект уже содержит свойства firstName
и surName
. Функция присваивает указанное значение новому свойству и возвращает обновленный объект:
addProperty(json('{ "firstName": "Sophia", "lastName": "Owen" }'), 'middleName', 'Anne')
Вот текущий объект JSON:
{
"firstName": "Sophia",
"surName": "Owen"
}
Вот обновленный объект JSON:
{
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
Example 2
This example adds the middleName
child property to the existing customerName
property in a JSON object, which is converted from a string to JSON by using the JSON() function. Функция присваивает указанное значение новому свойству и возвращает обновленный объект:
setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }'), 'customerName', addProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }')['customerName'], 'middleName', 'Anne'))
Вот текущий объект JSON:
{
"customerName": {
"firstName": "Sophia",
"surName": "Owen"
}
}
Вот обновленный объект JSON:
{
"customerName": {
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
}
addSeconds
Добавьте секунды к метке времени.
addSeconds('<timestamp>', <seconds>, '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< seconds> | Yes | Integer | Положительное или отрицательное число секунд для добавления |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< updated-timestamp> | String | Метка времени плюс указанное количество секунд |
Example 1
В этом примере к указанной метке времени добавляется 10 секунд:
addSeconds('2018-03-15T00:00:00Z', 10)
И возвращает этот результат: "2018-03-15T00:00:10.0000000Z"
Example 2
В этом примере вычитаем пять секунд от указанной временной метки.
addSeconds('2018-03-15T00:00:30Z', -5)
И возвращает этот результат: "2018-03-15T00:00:25.0000000Z"
addToTime
Добавляет указанное количество единиц времени в метку времени. See also getFutureTime().
addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< interval> | Yes | Integer | Количество заданных единиц времени, которые нужно добавить |
< timeUnit> | Yes | String | The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year" |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< updated-timestamp> | String | Метка времени и указанное количество единиц времени |
Example 1
В этом примере к указанной метке времени добавляется 1 день:
addToTime('2018-01-01T00:00:00Z', 1, 'Day')
И возвращает этот результат: "2018-01-02T00:00:00.0000000Z"
Example 2
В этом примере к указанной метке времени добавляется 1 день:
addToTime('2018-01-01T00:00:00Z', 1, 'Day', 'D')
И возвращает результат, используя необязательный формат "D": "Tuesday, January 2, 2018"
and
Проверьте, являются ли все выражения истинными. Возвращает true, если все выражения истинны, или false, если хотя бы одно выражение ложно.
and(<expression1>, <expression2>, ...)
Parameter | Required | Type | Description |
---|---|---|---|
< expression1>, <expression2>, ... | Yes | Boolean | Выражения, которые нужно проверить |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает значение true, если все выражения имеют значение true. Возвращает значение false, если хотя бы одно выражение имеет значение false. |
Example 1
В этих примерах проверяется, все ли указанные логические значения верны:
and(true, true)
and(false, true)
and(false, false)
И возвращает следующие результаты:
- В первом примере оба выражения истинны, так что возвращает
true
. - Во втором примере одно из выражений имеет значение false, поэтому возвращается
false
. - Третий пример: оба выражения имеют значение false, поэтому возвращается
false
.
Example 2
В этих примерах проверяется, все ли указанные выражения верны:
and(equals(1, 1), equals(2, 2))
and(equals(1, 1), equals(1, 2))
and(equals(1, 2), equals(1, 3))
И возвращает следующие результаты:
- В первом примере оба выражения истинны, так что возвращает
true
. - Во втором примере одно из выражений имеет значение false, поэтому возвращается
false
. - Третий пример: оба выражения имеют значение false, поэтому возвращается
false
.
array
Возвращает массив из одного указанного входного значения. For multiple inputs, see createArray().
array('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка для создания массива |
Return value | Type | Description |
---|---|---|
[<value>] | Array | Массив, содержащий один экземпляр указанных входных данных |
Example
В этом примере создается массив из строки "hello":
array('hello')
И возвращает этот результат: ["hello"]
B
base64
Возвращает версию в кодировке Base64 для строки.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в, то могут возникать неожиданные события рендеринга в конструкторе. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
base64('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Входная строка |
Return value | Type | Description |
---|---|---|
< base64-string> | String | Версия строки входных данных с кодировкой base64 |
Example
В этом примере строка "hello" преобразуется в строку с кодировкой base64:
base64('hello')
И возвращает этот результат: "aGVsbG8="
base64ToBinary
Возвращает двоичную версию строки с кодировкой base64.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
base64ToBinary('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка, закодированная в формате base64, для преобразования |
Return value | Type | Description |
---|---|---|
< binary-for-base64-string> | String | Двоичная версия строки в кодировке Base64 |
Example
В этом примере строка "aGVsbG8=" в кодировке base64 преобразуется в двоичную строку:
base64ToBinary('aGVsbG8=')
Например, предположим, что вы используете действие HTTP для отправки запроса. Можно использовать base64ToBinary()
для преобразования строки в кодировке Base64 в двоичные данные и отправки этих данных с помощью типа содержимого application/octet-stream
в запросе.
base64ToString
Возвращает строковую версию для base64-кодированной строки, эффективно декодируя эту base64-строку. Use this function rather than decodeBase64(), which is deprecated.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
base64ToString('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка в формате base64 для декодирования. |
Return value | Type | Description |
---|---|---|
< decoded-base64-string> | String | Строковое представление для строки, закодированной в Base64 |
Example
В этом примере строка "aGVsbG8=" в кодировке base64 преобразуется в простую строку:
base64ToString('aGVsbG8=')
И возвращает этот результат: "hello"
binary
Возвращает двоичную версию строки в кодировке base64.
binary('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка для преобразования |
Return value | Type | Description |
---|---|---|
< binary-for-input-value> | String | Двоичная версия в кодировке base64 для указанной строки |
Example
Например, вы используете действие HTTP, которое возвращает изображение или видеофайл. Вы можете использовать binary()
для преобразования значения в модель конверта содержимого в кодировке base-64. Затем конверт содержимого можно повторно использовать в других действиях, таких как Compose
.
Это выражение функции можно использовать для отправки байтов строки с типом содержимого application/octet-stream
в запросе.
body
Возвращает результат действия body
во время выполнения. Сокращение для actions('<actionName>').outputs.body
. See actions().
body('<actionName>')
Parameter | Required | Type | Description |
---|---|---|---|
< actionName> | Yes | String | Имя действия для требуемого результата body |
Return value | Type | Description |
---|---|---|
< action-body-output> | String | Выходные данные body указанного действия |
Example
Этот пример получает выходные body
данные из Get user
действия X:
body('Get_user')
И возвращает следующий результат:
"body": {
"FullName": "Contoso Corporation",
"Location": "Generic Town, USA",
"Id": 283541717,
"UserName": "ContosoInc",
"FollowersCount": 172,
"Description": "Leading the way in transforming the digital workplace.",
"StatusesCount": 93,
"FriendsCount": 126,
"FavouritesCount": 46,
"ProfileImageUrl": "https://pbs.twimg.com/profile_images/908820389907722240/gG9zaHcd_400x400.jpg"
}
bool
Возвращает булевскую версию значения.
bool(<value>)
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | Any | Значение, которое необходимо преобразовать в логическое. |
Если вы используете bool()
с объектом, значение объекта должно быть строкой или целым числом, которое может быть преобразовано в логический формат.
Return value | Type | Description |
---|---|---|
true или false |
Boolean | Булевское значение указанного значения. |
Outputs
В этих примерах показаны различные поддерживаемые типы входных данных для bool()
:
Input value | Type | Return value |
---|---|---|
bool(1) |
Integer | true |
bool(0) |
Integer | false |
bool(-1) |
Integer | true |
bool('true') |
String | true |
bool('false') |
String | false |
C
chunk
Разделение строки или массива на блоки равной длины.
chunk('<collection>', '<length>')
chunk([<collection>], '<length>')
Parameter | Required | Type | Description |
---|---|---|---|
< collection> | Yes | Строка или массив | Коллекция для разделения |
< length> | Yes | Длина каждого блока |
Return value | Type | Description |
---|---|---|
< collection> | Array | Массив фрагментов с указанной длиной |
Example 1
В этом примере строка разбивается на блоки длиной 10:
chunk('abcdefghijklmnopqrstuvwxyz', 10)
И возвращает этот результат: ['abcdefghij', 'klmnopqrst', 'uvwxyz']
Example 2
В этом примере массив разбивается на блоки длиной 5.
chunk(createArray(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), 5)
И возвращает этот результат: [ [1,2,3,4,5], [6,7,8,9,10], [11,12] ]
coalesce
Возвращает первое значение, отличное от NULL, из одного или нескольких параметров. Пустые строки, пустые массивы и пустые объекты не являются null.
coalesce(<object_1>, <object_2>, ...)
Parameter | Required | Type | Description |
---|---|---|---|
< object_1>, <object_2>, ... | Yes | Любой из них может смешивать типы | Один или несколько элементов для проверки значения NULL |
Return value | Type | Description |
---|---|---|
< first-non-null-item> | Any | Первый элемент или значение, которое не равно NULL. Если все параметры имеют значение NULL, эта функция возвращает значение NULL. |
Example
Эти примеры возвращают первое значение, не равное NULL, из указанных значений или равное NULL, когда все значения равны NULL:
coalesce(null, true, false)
coalesce(null, 'hello', 'world')
coalesce(null, null, null)
И возвращает следующие результаты:
- Первый пример:
true
- Второй пример:
"hello"
- Третий пример:
null
concat
Объедините две или несколько строк и верните объединенную строку.
concat('<text1>', '<text2>', ...)
Parameter | Required | Type | Description |
---|---|---|---|
< text1>, <text2>, ... | Yes | String | По крайней мере две строки для объединения |
Return value | Type | Description |
---|---|---|
< text1text2...> | String | Строка, созданная из объединенных входных строк Note: The length of the result must not exceed 104,857,600 characters. |
Note
Azure Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции, если вы используете функцию concat()
с данными:
concat('data:;base64,',<value>)
concat('data:,',encodeUriComponent(<value>))
Однако если вы все равно используете эту функцию в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций и при этом удаляете их из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
Example
В этом примере объединяются строки Hello и World:
concat('Hello', 'World')
И возвращает этот результат: "HelloWorld"
contains
Проверьте, имеет ли коллекция определенный элемент. Возвращает значение true при обнаружении элемента или возвращает значение false, если он не найден. Эта функция чувствительна к регистру.
contains('<collection>', '<value>')
contains([<collection>], '<value>')
В частности, эта функция работает с этими типами коллекций:
- A string to find a substring
- An array to find a value
- A dictionary to find a key
Parameter | Required | Type | Description |
---|---|---|---|
< collection> | Yes | Строка, массив или словарь | Коллекция для проверки |
< value> | Yes | Строка, массив или словарь соответственно | Элемент, который нужно найти |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает значение true при обнаружении элемента. Возвращает false, если не найдено. |
Example 1
В этом примере строка "hello world" проверяется на наличие подстроки "world" и возвращается значение true:
contains('hello world', 'world')
Example 2
В этом примере строка "hello world" проверяется на наличие подстроки "universe" и возвращается значение false:
contains('hello world', 'universe')
convertFromUtc
Преобразуйте метку времени из универсального часового пояса (UTC) в целевой часовой пояс.
convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< destinationTimeZone> | Yes | String | Имя целевого часового пояса. Сведения об именах часовых поясов см. в разделе Часовые пояса Microsoft Windows по умолчанию. |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< converted-timestamp> | String | Метка времени, преобразованная в целевой часовой пояс без учёта смещения UTC. |
Example 1
В этом примере метка времени преобразуется в указанный часовой пояс:
convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time')
И возвращает этот результат: "2018-01-01T00:00:00.0000000"
Example 2
В этом примере метка времени преобразуется в указанный часовой пояс и формат:
convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time', 'D')
И возвращает этот результат: "Monday, January 1, 2018"
convertTimeZone
Преобразуйте метку времени из исходного часового пояса в целевой часовой пояс.
convertTimeZone('<timestamp>', '<sourceTimeZone>', '<destinationTimeZone>', '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< sourceTimeZone> | Yes | String | Имя исходного часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания). |
< destinationTimeZone> | Yes | String | Имя целевого часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания). |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< converted-timestamp> | String | Метка времени, преобразованная в целевой часовой пояс |
Example 1
В этом примере исходный часовой пояс преобразуется в целевой часовой пояс:
convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time')
И возвращает этот результат: "2018-01-01T00:00:00.0000000"
Example 2
В этом примере часовой пояс преобразуется в указанный часовой пояс и формат:
convertTimeZone('2018-01-01T80:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')
И возвращает этот результат: "Monday, January 1, 2018"
convertToUtc
Преобразуйте метку времени из исходного часового пояса во Всемирное координированное время (UTC).
convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< sourceTimeZone> | Yes | String | Имя исходного часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания). |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< converted-timestamp> | String | Метка времени, преобразованная в UTC |
Example 1
В этом примере метка времени преобразуется в формат UTC:
convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time')
И возвращает этот результат: "2018-01-01T08:00:00.0000000Z"
Example 2
В этом примере метка времени преобразуется в формат UTC:
convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time', 'D')
И возвращает этот результат: "Monday, January 1, 2018"
createArray
Возвращает массив из нескольких входных данных. For single input arrays, see array().
createArray('<object1>', '<object2>', ...)
Parameter | Required | Type | Description |
---|---|---|---|
< object1>, <object2>, ... | Yes | Любой, но не смешанный | По крайней мере два элемента для создания массива |
Return value | Type | Description |
---|---|---|
[<object1>, <object2>, ...] | Array | Массив, созданный из всех входных элементов |
Example
В этом примере создается массив из этих входных данных:
createArray('h', 'e', 'l', 'l', 'o')
И возвращает этот результат: ["h", "e", "l", "l", "o"]
D
dataUri
Возвращает универсальный идентификатор ресурса (URI) данных для строки.
dataUri('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка для преобразования |
Return value | Type | Description |
---|---|---|
< data-uri> | String | URI данных для входной строки |
Example
В этом примере создается URI данных для строки "hello":
dataUri('hello')
И возвращает этот результат: "data:text/plain;charset=utf-8;base64,aGVsbG8="
dataUriToBinary
Возвратите двоичную версию идентификатора унифицированного ресурса (URI) для данных.
Use this function rather than decodeDataUri().
Хотя обе функции работают одинаково, dataUriBinary()
предпочтительнее.
dataUriToBinary('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | URI данных для преобразования |
Return value | Type | Description |
---|---|---|
< binary-for-data-uri> | String | Двоичная версия URI данных |
Example
В этом примере создается двоичная версия этого URI данных:
dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')
И возвращает следующий результат:
"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"
dataUriToString
Возвращает строковую версию унифицированного идентификатора ресурса (URI) данных.
dataUriToString('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | URI данных для преобразования |
Return value | Type | Description |
---|---|---|
< string-for-data-uri> | String | Строковая версия URI данных |
Example
В этом примере создается строка для данного URI данных.
dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')
И возвращает этот результат: "hello"
dateDifference
Возвращает разницу между двумя метками времени в виде интервала времени. Эта функция вычитает startDate
из endDate
, и возвращает результат в виде метки времени в строковом формате.
dateDifference('<startDate>', '<endDate>')
Parameter | Required | Type | Description |
---|---|---|---|
< startDate> | Yes | String | Строка, содержащая метку времени |
< endDate> | Yes | String | Строка, содержащая метку времени |
Return value | Type | Description |
---|---|---|
< timespan> | String | Разница между двумя метками времени, представленная в строковом формате меток времени. Если startDate более новое, чем endDate , результат является отрицательным значением. |
Example
В этом примере вычитается первое значение из второго значения:
dateDifference('2015-02-08', '2018-07-30')
И возвращает этот результат: "1268.00:00:00"
dayOfMonth
Возвращает день месяца из метки времени.
dayOfMonth('<timestamp>')
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
Return value | Type | Description |
---|---|---|
< day-of-month> | Integer | День месяца, полученный из указанной метки времени |
Example
В этом примере возвращается число дня месяца из этой временной метки:
dayOfMonth('2018-03-15T13:27:36Z')
И возвращает этот результат: 15
dayOfWeek
Возвращает день недели из временной метки.
dayOfWeek('<timestamp>')
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
Return value | Type | Description |
---|---|---|
< day-of-week> | Integer | День недели из указанной метки времени, где воскресенье имеет значение 0, понедельник — 1 и т. д. |
Example
В этом примере возвращается номер дня недели из этой временной метки:
dayOfWeek('2018-03-15T13:27:36Z')
И возвращает этот результат: 4
dayOfYear
Возвращает день года из временной метки.
dayOfYear('<timestamp>')
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
Return value | Type | Description |
---|---|---|
< day-of-year> | Integer | День года, полученный из указанной метки времени |
Example
В этом примере возвращается число дня года из этой временной метки.
dayOfYear('2018-03-15T13:27:36Z')
И возвращает этот результат: 74
decimal
Возвращает десятичное число в строке в виде десятичного числа. Эту функцию можно использовать при работе с данными, требующими десятичной точности, а также в качестве входных данных для логических функций сравнения и математических функций. To capture and preserve precision when you use the result from the decimal() function, wrap any decimal output with the string function. Это использование показано в следующих примерах, в которых можно потерять точность при использовании десятичного результата в качестве числа.
Note
Десятичная точность, обсуждаемая в контексте для этой функции и среды выполнения Azure Logic Apps, совпадает с десятичной точностью .NET.
decimal('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Десятичное число в строке |
Return value | Type | Description |
---|---|---|
< decimal> | Decimal Number | Десятичное число для входной строки |
Example 1
В этом примере создается десятичное число, которое используется в качестве числа:
decimal('1.2345678912312131') // Returns 1.234567891231213.
Example 2
В этом примере создается десятичное число, а результат преобразуется в строку для сохранения точности:
string(decimal('1.2345678912312131')) // Returns "1.2345678912312131".
Example 3
В этом примере математическая функция используется с двумя десятичными числами и в качестве числа используется результат:
add(decimal('1.2345678912312131'), decimal('1.2345678912312131')) // Returns 2.469135782462426.
Example 4
В этом примере используется математическая функция для двух десятичных чисел и результат преобразуется в строку для сохранения точности:
string(add(decimal('1.2345678912312131'), decimal('1.2345678912312131'))) // Returns "2.4691357824624262".
decodeBase64 (deprecated)
This function is deprecated, so use base64ToString() instead.
decodeDataUri
Возвратите двоичную версию идентификатора унифицированного ресурса (URI) для данных. Consider using dataUriToBinary(), rather than decodeDataUri()
. Хотя обе функции работают одинаково, dataUriToBinary()
предпочтительнее.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
decodeDataUri('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка URI данных для декодирования |
Return value | Type | Description |
---|---|---|
< binary-for-data-uri> | String | Двоичная версия строки URI данных |
Example
В этом примере возвращается двоичная версия этого URI данных:
decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')
И возвращает этот результат: "hello"
decodeUriComponent
Возвращает строку, в которой escape-символы заменяются на их декодированные версии.
decodeUriComponent('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка с escape-символами для декодирования |
Return value | Type | Description |
---|---|---|
< decoded-uri> | String | Обновленная строка с декодированными escape-символами |
Example
В этом примере escape-символы в этой строке заменяются декодированными версиями:
decodeUriComponent('https%3A%2F%2Fcontoso.com')
И возвращает этот результат: "https://contoso.com"
div
Возвращает результат деления двух чисел. To get the remainder result, see mod().
div(<dividend>, <divisor>)
Parameter | Required | Type | Description |
---|---|---|---|
< dividend> | Yes | Целое число или число с плавающей запятой | The number to divide by the divisor |
< divisor> | Yes | Целое число или число с плавающей запятой | The number that divides the dividend, but can't be zero |
Return value | Type | Description |
---|---|---|
< quotient-result> | Целое число или число с плавающей запятой | Результат от деления первого числа на второе. Если делимое или делитель имеет тип Float, то и результат имеет тот же тип. Note: To convert the float result to an integer, try creating and calling a function in Azure from your logic app. |
Example 1
Оба примера возвращают это значение в виде целого числа: 2
div(10,5)
div(11,5)
Example 2
Оба примера возвращают это значение в формате float: 2.2
div(11,5.0)
div(11.0,5)
E
encodeUriComponent
Возвращает кодированную версию URI для строки, заменив символы, опасные для URL-адреса, на escape-символы. Consider using uriComponent(), rather than encodeUriComponent()
. Хотя обе функции работают одинаково, uriComponent()
предпочтительнее.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
encodeUriComponent('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка для преобразования в формат с кодировкой URI |
Return value | Type | Description |
---|---|---|
< encoded-uri> | String | Строка с закодированным URI, содержащая экранирующие символы |
Example
В этом примере создается версия в кодировке URI для этой строки:
encodeUriComponent('https://contoso.com')
И возвращает этот результат: "https%3A%2F%2Fcontoso.com"
empty
Проверьте, пуста ли коллекция. Возвращает значение true, если коллекция пуста или возвращает значение false, если не пусто.
empty('<collection>')
empty([<collection>])
Parameter | Required | Type | Description |
---|---|---|---|
< collection> | Yes | Строка, массив или объект | Коллекция для проверки |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает значение true, если коллекция пуста. Возвращает значение false, если не пусто. |
Example
В этих примерах проверяется, являются ли указанные коллекции пустыми:
empty('')
empty('abc')
И возвращает следующие результаты:
- Первый пример: передает пустую строку, поэтому функция возвращает
true
. - Второй пример: передает строку abc, поэтому функция возвращает
false
.
endsWith
Проверьте, заканчивается ли строка определенной подстрокой. Возвращает true, если подстрока найдена, или возвращает false, если нет. Эта функция не учитывает регистр.
endsWith('<text>', '<searchText>')
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Проверяемая строка |
< searchText> | Yes | String | Конечная подстрока для поиска |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает значение true при обнаружении конечной подстроки. Возвращает false, если не найдено. |
Example 1
В этом примере проверяется, заканчивается ли строка "hello world" строкой "world":
endsWith('hello world', 'world')
И возвращает этот результат: true
Example 2
В этом примере проверяется, заканчивается ли строка hello world строкой "вселенная":
endsWith('hello world', 'universe')
И возвращает этот результат: false
equals
Проверьте, эквивалентны ли оба значения, выражения или объекты. Возвращает значение true, если оба значения эквивалентны или возвращают значение false, если они не эквивалентны.
equals('<object1>', '<object2>')
Parameter | Required | Type | Description |
---|---|---|---|
< object1>, <object2> | Yes | Various | Значения, выражения или объекты для сравнения |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает значение true, если оба значения эквивалентны. Возвращает значение false, если не эквивалентны. |
Example
В этих примерах проверяется, эквивалентны ли указанные входные данные.
equals(true, 1)
equals('abc', 'abcd')
И возвращает следующие результаты:
- В первом примере оба значения эквивалентны, поэтому функция возвращает
true
. - Второй пример: оба значения не эквивалентны, поэтому функция возвращает
false
.
F
first
Возвращает первый элемент из строки или массива.
first('<collection>')
first([<collection>])
Parameter | Required | Type | Description |
---|---|---|---|
< collection> | Yes | Строка или массив | Коллекция, где нужно найти первый элемент. |
Return value | Type | Description |
---|---|---|
< first-collection-item> | Any | Первый элемент коллекции |
Example
Первый элемент в данных коллекциях находится в следующих примерах:
first('hello')
first(createArray(0, 1, 2))
И верните следующие результаты:
- Первый пример:
"h"
- Второй пример:
0
float
Преобразует строковую версию числа с плавающей запятой в фактическое число с плавающей запятой. Эту функцию можно использовать только при передаче пользовательских параметров в приложение, например, рабочий процесс Logic Apps или поток в Power Automate. Чтобы преобразовать строки с плавающей запятой, представленные в специфичных для разных культур форматах, можно также указать код локали по стандарту RFC 4646.
float('<value>', '<locale>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка, содержащая допустимое число с плавающей запятой для преобразования. Минимальное и максимальное значения совпадают с ограничениями для типа данных с плавающей запятой. |
< locale> | No | String | Код локали RFC 4646, который необходимо использовать. Если не указано, используется локаль по умолчанию. If locale isn't a valid value, an error is generated that the provided locale isn't valid or doesn't have an associated locale. |
Return value | Type | Description |
---|---|---|
< float-value> | Float | Число с плавающей запятой для указанной строки. Минимальное и максимальное значения совпадают с ограничениями для типа данных с плавающей запятой. |
Example 1
В этом примере создается строковая версия для этого числа с плавающей запятой:
float('10,000.333')
И возвращает этот результат: 10000.333
Example 2
В этом примере создается строковая версия для этого номера с плавающей запятой в немецком стиле:
float('10.000,333', 'de-DE')
И возвращает этот результат: 10000.333
formatDateTime
Возвращает метку времени в указанном формате.
formatDateTime('<timestamp>', '<format>'?, '<locale>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. |
< locale> | No | String | Используемая региональная настройка. Если не задано иное, используется значение en-us . If locale isn't a valid value, an error is generated. |
Return value | Type | Description |
---|---|---|
< reformatted-timestamp> | String | Обновленная метка времени в указанном формате и языковом стандарте, если они указаны. |
Examples
formatDateTime('03/15/2018') // Returns '2018-03-15T00:00:00.0000000'.
formatDateTime('03/15/2018 12:00:00', 'yyyy-MM-ddTHH:mm:ss') // Returns '2018-03-15T12:00:00'.
formatDateTime('01/31/2016', 'dddd MMMM d') // Returns 'Sunday January 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'fr-fr') // Returns 'dimanche janvier 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'fr-FR') // Returns 'dimanche janvier 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'es-es') // Returns 'domingo enero 31'.
formDataMultiValues
Return an array with values that match a key name in an action's form-data or form-encoded output.
formDataMultiValues('<actionName>', '<key>')
Parameter | Required | Type | Description |
---|---|---|---|
< actionName> | Yes | String | Действие, выходные данные которого содержат требуемое значение ключа |
< key> | Yes | String | Имя ключа, значение которого нужно получить |
Return value | Type | Description |
---|---|---|
[<array-with-key-values>] | Array | Массив со всеми значениями, которые соответствуют заданному ключу |
Example
Этот пример создаёт массив из значения ключа «Subject» в выходных данных действия, которые представлены в виде form-data или form-encoded.
formDataMultiValues('Send_an_email', 'Subject')
И возвращается текст темы в массиве, например: ["Hello world"]
.
formDataValue
Return a single value that matches a key name in an action's form-data or form-encoded output. Если функция обнаруживает более одного совпадения, она выдает ошибку.
formDataValue('<actionName>', '<key>')
Parameter | Required | Type | Description |
---|---|---|---|
< actionName> | Yes | String | Действие, выходные данные которого содержат требуемое значение ключа |
< key> | Yes | String | Имя ключа, значение которого нужно получить |
Return value | Type | Description |
---|---|---|
< key-value> | String | Значение в указанном ключе |
Example
В этом примере строка создается из значения ключа "Subject" в выходных данных form-data или form-encoded для указанного действия.
formDataValue('Send_an_email', 'Subject')
И возвращается текст темы в виде строки, например: "Hello world"
formatNumber
Возврат числа в виде строки на основе указанного формата.
formatNumber(<number>, <format>, <locale>?)
Parameter | Required | Type | Description |
---|---|---|---|
< number> | Yes | Целое число или дубль | Значение, которое нужно отформатировать. |
< format> | Yes | String | Строка составного формата, указывающая формат, который необходимо использовать. Сведения о поддерживаемых строках числового формата см. в разделе Стандартные строки числового формата, которые поддерживаются number.ToString(<format>, <locale>) . |
< locale> | No | String | Локаль для использования, поддерживаемая number.ToString(<format>, <locale>) . Если не задано иное, используется значение en-us . If locale isn't a valid value, an error is generated. |
Return value | Type | Description |
---|---|---|
< formatted-number> | String | Указанное число в виде строки в указанном формате. Это возвращаемое значение можно привести к int или float . |
Example 1
Предположим, что нужно отформатировать число 1234567890
. В этом примере данное число форматируется как строка "1 234 567 890,00".
formatNumber(1234567890, '0,0.00', 'en-us')
*Example 2"
Предположим, что нужно отформатировать число 1234567890
. В этом примере число форматируется как строка "1 234 567 890,00".
formatNumber(1234567890, '0,0.00', 'is-is')
Example 3
Предположим, что нужно отформатировать число 17.35
. В этом примере число форматируется как строка "$17,35".
formatNumber(17.35, 'C2')
Example 4
Предположим, что нужно отформатировать число 17.35
. В этом примере данное число форматируется как строка "17,35 кр".
formatNumber(17.35, 'C2', 'is-is')
G
getFutureTime
Возвращает текущую метку времени и указанные единицы времени.
getFutureTime(<interval>, <timeUnit>, <format>?)
Parameter | Required | Type | Description |
---|---|---|---|
< interval> | Yes | Integer | Число единиц времени для добавления |
< timeUnit> | Yes | String | The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year" |
< format> | No | String | Либо один описатель формата, либо пользовательский шаблон формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат не является допустимым, появляется соответствующая ошибка с информацией о том, что он должен быть в виде строки с числовым форматом. |
Return value | Type | Description |
---|---|---|
< updated-timestamp> | String | Текущая метка времени плюс указанное количество единиц времени |
Example 1
Допустим, текущая метка времени такая: "2018-03-01T00:00:00.0000000Z". В этом примере к этой метке времени добавляется пять дней:
getFutureTime(5, 'Day')
И возвращает этот результат: "2018-03-06T00:00:00.0000000Z"
Example 2
Допустим, текущая метка времени такая: "2018-03-01T00:00:00.0000000Z". Этот пример добавляет пять дней и преобразует результат в формат D:
getFutureTime(5, 'Day', 'D')
И возвращает этот результат: "Tuesday, March 6, 2018"
getPastTime
Возвращает текущую метку времени минус указанные единицы времени.
getPastTime(<interval>, <timeUnit>, <format>?)
Parameter | Required | Type | Description |
---|---|---|---|
< interval> | Yes | Integer | Число указанных единиц времени для вычитания |
< timeUnit> | Yes | String | The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year" |
< format> | No | String | Либо один описатель формата, либо пользовательский шаблон формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат не является допустимым, появляется соответствующая ошибка с информацией о том, что он должен быть в виде строки с числовым форматом. |
Return value | Type | Description |
---|---|---|
< updated-timestamp> | String | Текущая метка времени минус указанное количество единиц времени |
Example 1
Допустим, текущая метка времени такая: "2018-02-01T00:00:00.0000000Z". В этом примере вычитается пять дней из этой временной метки.
getPastTime(5, 'Day')
И возвращает этот результат: "2018-01-27T00:00:00.0000000Z"
Example 2
Допустим, текущая метка времени такая: "2018-02-01T00:00:00.0000000Z". В этом примере вычитается пять дней и преобразуется результат в формат D:
getPastTime(5, 'Day', 'D')
И возвращает этот результат: "Saturday, January 27, 2018"
greater
Проверяет, является ли первое значение большим, чем второе. Возвращает значение true, если первое значение больше или возвращает значение false, если меньше.
greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | Целое число, float или String | Первое значение для проверки того, превышает ли второе значение. |
< compareTo> | Yes | Целое число, число с плавающей запятой или строка соответственно | Значение сравнения |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает значение true, если первое значение больше второго значения. Возвращает значение false, если первое значение равно или меньше второго значения. |
Example
В этих примерах проверяется, является ли первое значение большим, чем второе.
greater(10, 5)
greater('apple', 'banana')
И верните следующие результаты:
- Первый пример:
true
- Второй пример:
false
greaterOrEquals
Проверяет, является ли первое значение большим, чем второе, или равным ему. Возвращает true, если первое значение больше или равно, или возвращает false, если первое значение меньше.
greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | Целое число, float или String | Первое значение для проверки того, больше ли или равно второму значению |
< compareTo> | Yes | Целое число, число с плавающей запятой или строка соответственно | Значение сравнения |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает значение true, если первое значение больше или равно второму значению. Возвращает значение false, если первое значение меньше второго значения. |
Example
В этих примерах проверяется, является ли первое значение большим чем второе, или равным ему.
greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')
И верните следующие результаты:
- Первый пример:
true
- Второй пример:
false
guid
Создайте глобальный уникальный идентификатор (GUID) в виде строки, например "c2ecc88d-88c8-4096-912c-d6f2e2e2b138ce":
guid()
Кроме того, можно указать другой формат GUID, отличный от формата по умолчанию "D", который составляет 32 цифры, разделенные дефисом.
guid('<format>')
Parameter | Required | Type | Description |
---|---|---|---|
< format> | No | String | A single format specifier for the returned GUID. По умолчанию формат — "D", но можно использовать "N", "D", "B", "P" или "X". |
Return value | Type | Description |
---|---|---|
< GUID-value> | String | Случайным образом созданный GUID |
Example
В этом примере создается тот же идентификатор GUID, но в виде 32 цифр, разделенных дефисом и заключенных в круглые скобки:
guid('P')
И возвращает этот результат: "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"
I
if
Проверьте, какое значение имеет выражение: true или false. В зависимости от результата возвращается указанное значение. Параметры оцениваются слева направо.
if(<expression>, <valueIfTrue>, <valueIfFalse>)
Parameter | Required | Type | Description |
---|---|---|---|
< expression> | Yes | Boolean | Выражение для проверки |
< valueIfTrue> | Yes | Any | Значение, возвращаемое при истинности выражения |
< valueIfFalse> | Yes | Any | Возвращаемое значение, если выражение ложно |
Return value | Type | Description |
---|---|---|
< specified-return-value> | Any | Указанное значение, возвращаемое в зависимости от того, является ли выражение true или false |
Example
В этом примере возвращается "yes"
, так как указанное выражение возвращает значение true.
В противном случае в примере возвращается "no"
:
if(equals(1, 1), 'yes', 'no')
indexOf
Возвращает начальную позицию или значение индекса для подстроки. Эта функция не учитывает регистр, и индексы начинаются с числа 0.
indexOf('<text>', '<searchText>')
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Строка, которая содержит подстроку для поиска |
< searchText> | Yes | String | Подстрока для поиска |
Return value | Type | Description |
---|---|---|
< index-value> | Integer | Начальное положение или значение индекса для указанной подстроки. Если строка не найдена, верните номер -1. |
Example
Этот пример находит начальное значение индекса для подстроки "world" в строке hello world:
indexOf('hello world', 'world')
И возвращает этот результат: 6
int
Преобразует строковую версию целого числа в фактическое целое число.
int('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строковая версия для преобразуемого целого числа. Минимальное и максимальное значения совпадают с ограничениями для типа данных целого числа. |
Return value | Type | Description |
---|---|---|
< integer-result> | Integer | Целочисленная версия указанной строки. Минимальное и максимальное значения совпадают с ограничениями для типа данных целого числа. |
Example
В этом примере создается целочисленная версия строки "10":
int('10')
И возвращает этот результат: 10
isFloat
Возвращает логическое значение, указывающее, является ли строка числом с плавающей запятой. По умолчанию эта функция использует инвариантную культуру для формата с плавающей точкой. Чтобы определить числа с плавающей запятой, представленные в других форматах языкового стандарта, можно также указать код языкового стандарта RFC 4646.
isFloat('<string>', '<locale>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка для анализа |
< locale> | No | String | Код языкового стандарта RFC 4646 для использования |
Return value | Type | Description |
---|---|---|
< boolean-result> | Boolean | Логическое значение, указывающее, является ли строка числом с плавающей запятой |
Example 1
В этом примере проверяется, является ли строка числом с плавающей запятой в инвариантной культуре.
isFloat('10,000.00')
И возвращает этот результат: true
Example 2
В этом примере проверяется, является ли строка числом с плавающей запятой в немецком языковом стандарте:
isFloat('10.000,00', 'de-DE')
И возвращает этот результат: true
isInt
Возвращает булево значение, которое указывает, является ли строка целым числом.
isInt('<string>')
Parameter | Required | Type | Description |
---|---|---|---|
< string> | Yes | String | Строка для анализа |
Return value | Type | Description |
---|---|---|
< boolean-result> | Boolean | Логическое значение, указывающее, является ли строка целочисленной. |
Example
В этом примере проверяется, является ли строка целым числом:
isInt('10')
И возвращает этот результат: true
item
При использовании внутри повторяющегося действия, выполняемого с массивом, функция возвращает текущий элемент массива во время текущей итерации действия. Вы также можете получить значения свойств этого элемента.
item()
Return value | Type | Description |
---|---|---|
< current-array-item> | Any | Текущий элемент в массиве для текущей итерации действия |
Example
В этом примере извлекается элемент body
из текущего сообщения для действия "Send_an_email" внутри текущей итерации цикла for-each:
item().body
items
Возвращает текущий элемент из каждого цикла в цикле for-each. Используйте эту функцию внутри цикла for-each.
items('<loopName>')
Parameter | Required | Type | Description |
---|---|---|---|
< loopName> | Yes | String | Имя для цикла for-each |
Return value | Type | Description |
---|---|---|
< item> | Any | Элемент из текущего цикла в указанном операторе for-each |
Example
В этом примере извлекается текущий элемент из указанного цикла for-each:
items('myForEachLoopName')
iterationIndexes
Возвращает значение индекса для текущей итерации в цикле Until. Эту функцию можно использовать внутри вложенных циклов Until.
iterationIndexes('<loopName>')
Parameter | Required | Type | Description |
---|---|---|---|
< loopName> | Yes | String | Имя для цикла Until |
Return value | Type | Description |
---|---|---|
< index> | Integer | Значение индекса для текущей итерации в указанном цикле Until. |
Example
В этом примере создается переменная счетчика, которая увеличивается на один во время каждой итерации в цикле Until, пока значение счетчика не достигнет пяти. В этом примере также создается переменная, которая отслеживает текущий индекс для каждой итерации. Во время каждой итерации в цикле Until этот пример увеличивает значение счетчика, затем значение счетчика присваивается текущему значению индекса, а затем увеличивается значение счетчика. В цикле этот пример ссылается на индекс текущей итерации с помощью функции iterationIndexes
:
iterationIndexes('Until_Max_Increment')
{
"actions": {
"Create_counter_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myCounter",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {}
},
"Create_current_index_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myCurrentLoopIndex",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {
"Create_counter_variable": [ "Succeeded" ]
}
},
"Until_Max_Increment": {
"type": "Until",
"actions": {
"Assign_current_index_to_counter": {
"type": "SetVariable",
"inputs": {
"name": "myCurrentLoopIndex",
"value": "@variables('myCounter')"
},
"runAfter": {
"Increment_variable": [ "Succeeded" ]
}
},
"Compose": {
"inputs": "'Current index: ' @{iterationIndexes('Until_Max_Increment')}",
"runAfter": {
"Assign_current_index_to_counter": [
"Succeeded"
]
},
"type": "Compose"
},
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "myCounter",
"value": 1
},
"runAfter": {}
}
},
"expression": "@equals(variables('myCounter'), 5)",
"limit": {
"count": 60,
"timeout": "PT1H"
},
"runAfter": {
"Create_current_index_variable": [ "Succeeded" ]
}
}
}
}
J
json
Возвращает значение типа нотации объектов JSON, объект или массив с объектами для строки или XML.
json('<value>')
json(xml('value'))
Important
Без схемы XML, определяющей структуру вывода, и в зависимости от входных данных функция может возвращать результаты, значительно отличающиеся от ожидаемых.
Поэтому эту функцию нельзя использовать в тех случаях, когда выходные данные должны соответствовать четким условиям, например в важных бизнес-системах и решениях.
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | Строка или XML | Строка или XML для преобразования |
Return value | Type | Description |
---|---|---|
< JSON-result> | Собственный тип JSON, объект или массив | Значение собственного типа JSON, объект или массив объектов из входной строки или XML. – Если вы передаете XML с одним дочерним элементом в корневом, то функция возвращает для него один объект JSON. – Если вы передаете XML с несколькими дочерними элементами в корневом, то функция возвращает массив с объектами JSON для этих дочерних элементов. – Если строка имеет значение NULL, функция возвращает пустой объект. |
Example 1
В этом примере строка преобразуется в значение JSON:
json('[1, 2, 3]')
И возвращает этот результат: [1, 2, 3]
Example 2
В этом примере строка преобразуется в JSON:
json('{"fullName": "Sophia Owen"}')
И возвращает следующий результат:
{
"fullName": "Sophia Owen"
}
Example 3
В этом примере используются функции json()
и xml()
для преобразования XML с одним дочерним элементом в корневом в объект JSON под названием person
:
json(xml('<?xml version="1.0"?> <root> <person id="1"> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> </root>'))
И возвращает следующий результат:
{
"?xml": {
"@version": "1.0"
},
"root": {
"person": {
"@id": "1",
"name": "Sophia Owen",
"occupation": "Engineer"
}
}
}
Example 4
В этом примере используются функции json()
и xml()
для преобразования XML с несколькими дочерними элементами в корневом в массив под названием person
, который содержит объекты JSON:
json(xml('<?xml version="1.0"?> <root> <person id="1"> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> <person id="2"> <name>John Doe</name> <occupation>Engineer</occupation> </person> </root>'))
И возвращает следующий результат:
{
"?xml": {
"@version": "1.0"
},
"root": {
"person": [
{
"@id": "1",
"name": "Sophia Owen",
"occupation": "Engineer"
},
{
"@id": "2",
"name": "John Doe",
"occupation": "Engineer"
}
]
}
}
intersection
Return a collection that has only the common items across the specified collections. Чтобы появиться в результатах, элемент должен находиться во всех коллекциях, переданных этой функции. Если один или несколько элементов имеют одинаковое имя, в результатах появляется последний элемент с таким именем.
intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
Parameter | Required | Type | Description |
---|---|---|---|
< collection1>, <collection2>, ... | Yes | Массив или объект, но не оба | The collections from where you want only the common items |
Return value | Type | Description |
---|---|---|
< common-items> | Массив или объект соответственно | Коллекция, которая содержит только общие элементы в указанных коллекциях |
Example
В этом примере находятся общие элементы в этих массивах:
intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))
And returns an array with only these items: [1, 2]
join
Return a string that has all the items from an array and has each character separated by a delimiter.
join([<collection>], '<delimiter>')
Parameter | Required | Type | Description |
---|---|---|---|
< collection> | Yes | Array | Массив, имеющий элементы для соединения |
< delimiter> | Yes | String | Разделитель, который отображается между каждым символом в результирующей строке |
Return value | Type | Description |
---|---|---|
< char1><delimiter><char2><delimiter>... | String | Полученная строка, созданная из всех элементов в указанном массиве. Note: The length of the result must not exceed 104,857,600 characters. |
Example
В этом примере создается строка из всех элементов этого массива с указанным символом в качестве разделителя:
join(createArray('a', 'b', 'c'), '.')
И возвращает этот результат: "a.b.c"
L
last
Возвращает последний элемент из коллекции.
last('<collection>')
last([<collection>])
Parameter | Required | Type | Description |
---|---|---|---|
< collection> | Yes | Строка или массив | Коллекция, в которой нужно найти последний элемент |
Return value | Type | Description |
---|---|---|
< last-collection-item> | Строка или массив соответственно | Последний элемент коллекции |
Example
В этих примерах показано, как найти последний элемент в этих коллекциях.
last('abcd')
last(createArray(0, 1, 2, 3))
И возвращает следующие результаты:
- Первый пример:
"d"
- Второй пример:
3
lastIndexOf
Возвращает начальную позицию или индекс для последнего случая, когда подстрока появляется. Эта функция не учитывает регистр, и индексы начинаются с числа 0.
lastIndexOf('<text>', '<searchText>')
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Строка, которая содержит подстроку для поиска |
< searchText> | Yes | String | Подстрока для поиска |
Return value | Type | Description |
---|---|---|
< ending-index-value> | Integer | Начальная позиция или индекс для последнего вхождения указанной подстроки. |
Если значение строки или подстроки пустое, то происходит следующее:
Если пустое только значение строки, то функция возвращает
-1
.Если значения строки и подстроки пустые, то функция возвращает
0
.Если только значение подстроки пусто, функция возвращает длину строки на единицу меньше.
Examples
В этом примере находится начальное значение индекса для последнего вхождения подстроки world
в строке hello world hello world
. В результате возвращается значение 18
:
lastIndexOf('hello world hello world', 'world')
В этом примере отсутствует параметр подстроки и возвращается значение 22
, потому что значение входной строки (23
) за вычетом единицы больше нуля.
lastIndexOf('hello world hello world', '')
length
Возвращает число элементов в коллекции.
length('<collection>')
length([<collection>])
Parameter | Required | Type | Description |
---|---|---|---|
< collection> | Yes | Строка или массив | Коллекция с элементами для подсчета |
Return value | Type | Description |
---|---|---|
< length-or-count> | Integer | Количество элементов в коллекции |
Example
В этих примерах подсчитывается количество элементов в этих коллекциях:
length('abcd')
length(createArray(0, 1, 2, 3))
Верните этот результат: 4
less
Проверяет, является ли первое значение меньшим, чем второе. Возвращает значение true, если первое значение меньше или возвращает значение false, если первое значение больше.
less(<value>, <compareTo>)
less('<value>', '<compareTo>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | Целое число, float или String | Первое значение для проверки того, меньше ли второе значение |
< compareTo> | Yes | Целое число, число с плавающей запятой или строка соответственно | Элемент сравнения |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает значение true, если первое значение меньше второго значения. Возвращает значение false, если первое значение равно или больше второго значения. |
Example
В этих примерах проверяется, является ли первое значение меньшим, чем второе.
less(5, 10)
less('banana', 'apple')
И верните следующие результаты:
- Первый пример:
true
- Второй пример:
false
lessOrEquals
Проверяет, является ли первое значение меньшим, чем второе, или равным ему. Возвращает значение true, если первое значение меньше или равно, или возвращает значение false, если первое значение больше.
lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | Целое число, float или String | Первое значение для проверки того, меньше ли или равно второму значению |
< compareTo> | Yes | Целое число, число с плавающей запятой или строка соответственно | Элемент сравнения |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает значение true, если первое значение меньше или равно второму значению. Возвращает значение false, если первое значение больше второго значения. |
Example
В этих примерах проверяется, является ли первое значение меньше или равно второму значению.
lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')
И верните следующие результаты:
- Первый пример:
true
- Второй пример:
false
listCallbackUrl
Возвращает URL-адрес обратного вызова, который вызывает триггер или действие. This function works only with triggers and actions for the HttpWebhook and ApiConnectionWebhook connector types, but not the Manual, Recurrence, HTTP, and APIConnection types.
listCallbackUrl()
Return value | Type | Description |
---|---|---|
< callback-URL> | String | URL-адрес обратного вызова для действия или триггера |
Example
В этом примере показан пример URL-адреса обратного вызова, который может вернуть эта функция:
"https://prod-01.westus.logic.azure.com:443/workflows/<*workflow-ID*>/triggers/manual/run?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<*signature-ID*>"
M
max
Верните наибольшее значение из списка или массива чисел, включая начальное и конечное значения.
max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
Parameter | Required | Type | Description |
---|---|---|---|
< number1>, <number2>, ... | Yes | Целое число, float или оба | Набор чисел, из которого требуется получить наибольшее значение |
[<number1>, <number2>, ...] | Yes | Массив — целое число, float или оба | Массив чисел, из которого требуется получить наибольшее значение |
Return value | Type | Description |
---|---|---|
< max-value> | Целое число или число с плавающей запятой | Наибольшее значение в указанном массиве или наборе чисел |
Example
Эти примеры получают наибольшее значение из набора чисел и массива:
max(1, 2, 3)
max(createArray(1, 2, 3))
Верните этот результат: 3
min
Возвращает наименьшее значение из набора чисел или массива.
min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
Parameter | Required | Type | Description |
---|---|---|---|
< number1>, <number2>, ... | Yes | Целое число, float или оба | Набор чисел, из которых требуется наименьшее значение |
[<number1>, <number2>, ...] | Yes | Массив — целое число, float или оба | Массив чисел, из которого требуется получить наименьшее значение |
Return value | Type | Description |
---|---|---|
< min-value> | Целое число или число с плавающей запятой | Наименьшее значение указанного набора чисел или указанного массива |
Example
Эти примеры получают наименьшее значение в наборе чисел и массиве:
min(1, 2, 3)
min(createArray(1, 2, 3))
Верните этот результат: 1
mod
Возвращает остаток результата деления двух чисел. To get the integer result, see div().
mod(<dividend>, <divisor>)
Parameter | Required | Type | Description |
---|---|---|---|
< dividend> | Yes | Целое число или число с плавающей запятой | The number to divide by the divisor |
< divisor> | Yes | Целое число или число с плавающей запятой | The number that divides the dividend, but can't be zero |
Return value | Type | Description |
---|---|---|
< modulo-result> | Целое число или число с плавающей запятой | Остаток от деления первого числа на второе число. |
Example 1
В этом примере первое число делится на второе:
mod(3, 2)
И возвращает этот результат: 1
Example 2
В этом примере показано, что результат соответствует знаку делимого, если одно или оба значения являются отрицательными.
mod(-5, 2)
mod(4, -3)
Пример возвращает следующие результаты:
- Первый пример:
-1
- Второй пример:
1
mul
Возвращает результат умножения двух чисел.
mul(<multiplicand1>, <multiplicand2>)
Parameter | Required | Type | Description |
---|---|---|---|
< multiplicand1> | Yes | Целое число или число с плавающей запятой | The number to multiply by multiplicand2 |
< multiplicand2> | Yes | Целое число или число с плавающей запятой | The number that multiples multiplicand1 |
Return value | Type | Description |
---|---|---|
< product-result> | Целое число или число с плавающей запятой | Произведение от умножения первого числа на второе |
Example
В этих примерах умножают первое число на второе число.
mul(1, 2)
mul(1.5, 2)
И верните следующие результаты:
- Первый пример:
2
- Второй пример
3
multipartBody
Возвращает текст указанной части выходных данных действия, которые состоят из нескольких частей.
multipartBody('<actionName>', <index>)
Parameter | Required | Type | Description |
---|---|---|---|
< actionName> | Yes | String | Имя действия, которое содержит выходные данные, состоящие из нескольких частей |
< index> | Yes | Integer | Значение индекса необходимой части |
Return value | Type | Description |
---|---|---|
< body> | String | Корпус указанной части |
N
not
Проверьте, является ли выражение ложным. Возвращает значение true, если выражение ложно, или значение false, если значение истинно.
not(<expression>)
Parameter | Required | Type | Description |
---|---|---|---|
< expression> | Yes | Boolean | Выражение для проверки |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает значение true, если выражение ложно. Возвращает значение false, если выражение истинно. |
Example 1
В этих примерах проверяется, являются ли указанные выражения ложными:
not(false)
not(true)
И верните следующие результаты:
- В первом примере выражение имеет значение false, поэтому функция возвращает
true
. - Во втором примере выражение имеет значение true, поэтому функция возвращает
false
.
Example 2
В этих примерах проверяется, являются ли указанные выражения ложными:
not(equals(1, 2))
not(equals(1, 1))
И верните следующие результаты:
- В первом примере выражение имеет значение false, поэтому функция возвращает
true
. - Во втором примере выражение имеет значение true, поэтому функция возвращает
false
.
nthIndexOf
Return the starting position or index value where the nth occurrence of a substring appears in a string.
nthIndexOf('<text>', '<searchText>', <occurrence>)
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Строка, содержащая подстроку для поиска |
< searchText> | Yes | String | Подстрока для поиска |
< occurrence> | Yes | Integer | A number that specifies the nth occurrence of the substring to find. If occurrence is negative, start searching from the end. |
Return value | Type | Description |
---|---|---|
< index-value> | Integer | The starting position or index value for the nth occurrence of the specified substring. If the substring isn't found or fewer than n occurrences of the substring exist, return -1 . |
Examples
nthIndexOf('123456789123465789', '1', 1) // Returns `0`.
nthIndexOf('123456789123465789', '1', 2) // Returns `9`.
nthIndexOf('123456789123465789', '12', 2) // Returns `9`.
nthIndexOf('123456789123465789', '6', 4) // Returns `-1`.
O
or
Проверьте, является ли по крайней мере одно выражение истинным. Возвращает значение true, если хотя бы одно выражение истинно, или значение false, когда все являются ложными.
or(<expression1>, <expression2>, ...)
Parameter | Required | Type | Description |
---|---|---|---|
< expression1>, <expression2>, ... | Yes | Boolean | Выражения, которые нужно проверить |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает истину, если по крайней мере одно выражение истинно. Возвращает значение false, если все выражения ложны. |
Example 1
В этих примерах проверяется, является ли хотя бы одно выражение истинным:
or(true, false)
or(false, false)
И верните следующие результаты:
- В первом примере по крайней мере одно выражение имеет значение true, поэтому функция возвращает
true
. - Во втором примере оба выражения имеют значения false, поэтому функция возвращает
false
.
Example 2
В этих примерах проверяется, является ли хотя бы одно выражение истинным:
or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))
И верните следующие результаты:
- В первом примере по крайней мере одно выражение имеет значение true, поэтому функция возвращает
true
. - Во втором примере оба выражения имеют значения false, поэтому функция возвращает
false
.
outputs
Возвращает результаты действия во время выполнения.
outputs('<actionName>')
Parameter | Required | Type | Description |
---|---|---|---|
< actionName> | Yes | String | Имя выходных данных действия, которое вы хотите. |
Return value | Type | Description |
---|---|---|
< output> | String | Выходные данные указанного действия |
Example
Этот пример получает выходные данные из действия Get 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>')
Parameter | Required | Type | Description |
---|---|---|---|
< parameterName> | Yes | String | Имя параметра, значение которого нужно получить |
Return value | Type | Description |
---|---|---|
< parameter-value> | Any | Значение указанного параметра |
Example
Предположим, что у вас есть следующее значение JSON:
{
"fullName": "Sophia Owen"
}
Этот пример получает значение указанного параметра:
parameters('fullName')
И возвращает этот результат: "Sophia Owen"
parseDateTime
Возвращает метку времени из строки, содержащей метку времени.
parseDateTime('<timestamp>', '<locale>'?, '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< locale> | No | String | Используемая региональная настройка. Если не указано, по умолчанию используется локаль en-us . If locale isn't a valid value, an error is generated. |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат не указан, попробуйте выполнить синтаксический анализ с несколькими форматами, совместимыми с указанным языковым стандартом. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< parsed-timestamp> | String | The parsed timestamp in "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) format, which complies with ISO 8601 and preserves time zone information. |
Examples
parseDateTime('20/10/2014', 'fr-fr') // Returns '2014-10-20T00:00:00.0000000'.
parseDateTime('20 octobre 2010', 'fr-FR') // Returns '2010-10-20T00:00:00.0000000'.
parseDateTime('martes 20 octubre 2020', 'es-es') // Returns '2020-10-20T00:00:00.0000000'.
parseDateTime('21052019', 'fr-fr', 'ddMMyyyy') // Returns '2019-05-21T00:00:00.0000000'.
parseDateTime('20190521', 'fr-fr', 'yyyyMMdd') // Returns '2019-05-21T00:00:00.0000000'.
parseDateTime('10/20/2014 15h', 'en-US', 'MM/dd/yyyy HH\h') // Returns '2014-10-20T15:00:00.0000000'.
R
rand
Возвращает случайное целое число из указанного диапазона, включая только начальное значение.
rand(<minValue>, <maxValue>)
Parameter | Required | Type | Description |
---|---|---|---|
< minValue> | Yes | Integer | Наименьшее целое число в диапазоне |
< maxValue> | Yes | Integer | Целое число, следующее за самым высоким целым числом в диапазоне, который функция может возвращать. |
Return value | Type | Description |
---|---|---|
< random-result> | Integer | Случайное целое число, возвращаемое из указанного диапазона |
Example
В этом примере возвращается случайное целое число из указанного диапазона, за исключением максимального значения:
rand(1, 5)
И возвращает в виде результата одно из этих чисел: 1
, 2
, 3
или 4
.
range
Возвращает массив целых чисел, который начинается с заданного целого числа.
range(<startIndex>, <count>)
Parameter | Required | Type | Description |
---|---|---|---|
< startIndex> | Yes | Integer | Целочисленное значение, которое запускает массив в качестве первого элемента |
< count> | Yes | Integer | Количество целых чисел в массиве. Значение параметра count должно быть положительным целым числом, не превышающим 100 000. Note: The sum of the startIndex and count values must not exceed 2,147,483,647. |
Return value | Type | Description |
---|---|---|
[<range-result>] | Array | Массив с целыми числами, который начинается с указанного индекса |
Example
В этом примере создается целочисленный массив, который начинается с указанного индекса и имеет указанное число целых чисел:
range(1, 4)
И возвращает этот результат: [1, 2, 3, 4]
removeProperty
Удаляет свойство из объекта и возвращает обновленный объект. Если свойство, которое вы пытаетесь удалить, не существует, функция возвращает исходный объект.
removeProperty(<object>, '<property>')
Parameter | Required | Type | Description |
---|---|---|---|
< object> | Yes | Object | Объект JSON, из которого вы хотите удалить свойство |
< property> | Yes | String | Имя удаляемого свойства |
Return value | Type | Description |
---|---|---|
< updated-object> | Object | Обновленный объект JSON без указанного свойства |
Чтобы удалить дочернее свойство существующего свойства, используйте следующий синтаксис:
removeProperty(<object>['<parent-property>'], '<child-property>')
Parameter | Required | Type | Description |
---|---|---|---|
< object> | Yes | Object | Объект JSON, свойство которого вы хотите удалить |
< parent-property> | Yes | String | Имя родительского свойства, из которого необходимо удалить дочернее свойство |
< child-property> | Yes | String | Имя удаляемого дочернего свойства |
Return value | Type | Description |
---|---|---|
< updated-object> | Object | Обновленный объект JSON, чьё дочернее свойство было удалено |
Example 1
This example removes the middleName
property from a JSON object, which is converted from a string to JSON by using the JSON() function, and returns the updated object:
removeProperty(json('{ "firstName": "Sophia", "middleName": "Anne", "surName": "Owen" }'), 'middleName')
Вот текущий объект JSON:
{
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
Вот обновленный объект JSON:
{
"firstName": "Sophia",
"surName": "Owen"
}
Example 2
This example removes the middleName
child property from a customerName
parent property in a JSON object, which is converted from a string to JSON by using the JSON() function, and returns the updated object:
removeProperty(json('{ "customerName": { "firstName": "Sophia", "middleName": "Anne", "surName": "Owen" } }')['customerName'], 'middleName')
Вот текущий объект JSON:
{
"customerName": {
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
}
Вот обновленный объект JSON:
{
"customerName": {
"firstName": "Sophia",
"surName": "Owen"
}
}
replace
Замените подстроку указанной строкой и верните строку результата. Эта функция чувствительна к регистру.
replace('<text>', '<oldText>', '<newText>')
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Строка, которая содержит подстроку для замены |
< oldText> | Yes | String | Часть строки для замены |
< newText> | Yes | String | замещающая строка |
Return value | Type | Description |
---|---|---|
< updated-text> | String | Обновленная строка после замены подстроки Если подстрока не найдена, верните исходную строку. |
Example
Этот пример находит подстроку "old" в "старой строке" и заменяет "старый" на "new":
replace('the old string', 'old', 'new')
И возвращает этот результат: "the new string"
result
Возвращаются результаты действий верхнего уровня в рамках заданных действий, например For_each
, Until
или Scope
. Функция result()
принимает один параметр — название области — и возвращает массив с информацией из действий первого уровня этой области. Объекты действия включают в себя те же атрибуты, что возвращает функция actions()
, например время начала и окончания действия, его состояние, входные и выходные данные, а также идентификаторы корреляции.
Note
This function returns information only from the first-level actions in the scoped action and not from deeper nested actions such as switch or condition actions.
С помощью этой функции можно получать результаты невыполненных действий, чтобы проводить анализ и настраивать обработку исключений. Дополнительные сведения см. в Получение контекста и результатов сбоев.
result('<scopedActionName>')
Parameter | Required | Type | Description |
---|---|---|---|
< scopedActionName> | Yes | String | Имя действия в пределах области, где вы хотите получить входные и выходные данные из действий этой области верхнего уровня. |
Return value | Type | Description |
---|---|---|
< array-object> | Array object | Массив, содержащий массивы входных и выходных данных для каждого действия верхнего уровня в пределах указанной области. |
Example
Этот пример возвращает входные и выходные данные каждой итерации действия HTTP внутри цикла For_each
с помощью функции result()
в действии Compose
:
{
"actions": {
"Compose": {
"inputs": "@result('For_each')",
"runAfter": {
"For_each": [
"Succeeded"
]
},
"type": "compose"
},
"For_each": {
"actions": {
"HTTP": {
"inputs": {
"method": "GET",
"uri": "https://httpstat.us/200"
},
"runAfter": {},
"type": "Http"
}
},
"foreach": "@triggerBody()",
"runAfter": {},
"type": "Foreach"
}
}
}
Вот как может выглядеть пример возвращаемого массива, где внешний объект outputs
содержит входные и выходные данные каждой итерации действий внутри действия For_each
.
[
{
"name": "HTTP",
"outputs": [
{
"name": "HTTP",
"inputs": {
"uri": "https://httpstat.us/200",
"method": "GET"
},
"outputs": {
"statusCode": 200,
"headers": {
"X-AspNetMvc-Version": "5.1",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "private",
"Date": "Tue, 20 Aug 2019 22:15:37 GMT",
"Set-Cookie": "ARRAffinity=0285cfbea9f2ee7",
"Server": "Microsoft-IIS/10.0",
"X-AspNet-Version": "4.0.30319",
"X-Powered-By": "ASP.NET",
"Content-Length": "0"
},
"startTime": "2019-08-20T22:15:37.6919631Z",
"endTime": "2019-08-20T22:15:37.95762Z",
"trackingId": "6bad3015-0444-4ccd-a971-cbb0c99a7.....",
"clientTrackingId": "085863526764.....",
"code": "OK",
"status": "Succeeded"
}
},
{
"name": "HTTP",
"inputs": {
"uri": "https://httpstat.us/200",
"method": "GET"
},
"outputs": {
"statusCode": 200,
"headers": {
"X-AspNetMvc-Version": "5.1",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "private",
"Date": "Tue, 20 Aug 2019 22:15:37 GMT",
"Set-Cookie": "ARRAffinity=0285cfbea9f2ee7",
"Server": "Microsoft-IIS/10.0",
"X-AspNet-Version": "4.0.30319",
"X-Powered-By": "ASP.NET",
"Content-Length": "0"
},
"startTime": "2019-08-20T22:15:37.6919631Z",
"endTime": "2019-08-20T22:15:37.95762Z",
"trackingId": "9987e889-981b-41c5-aa27-f3e0e59bf69.....",
"clientTrackingId": "085863526764.....",
"code": "OK",
"status": "Succeeded"
}
}
]
}
]
reverse
Измените порядок элементов в коллекции. When you use this function with sort(), you can sort a collection in descending order.
reverse([<collection>])
Parameter | Required | Type | Description |
---|---|---|---|
< collection> | Yes | Array | Коллекция для обратного изменения |
Return value | Type | Description |
---|---|---|
[<updated-collection>] | Array | Инвертированная коллекция |
Example
В этом примере выполняется обратный массив целых чисел:
reverse(createArray(0, 1, 2, 3))
И возвращает этот массив: [3,2,1,0]
S
setProperty
Задает значение свойства объекта JSON и возвращает обновленный объект. Если свойство, которое вы пытаетесь задать, не существует, свойство добавляется в объект. To add a new property, use the addProperty() function.
setProperty(<object>, '<property>', <value>)
Parameter | Required | Type | Description |
---|---|---|---|
< object> | Yes | Object | Объект JSON, свойство которого вы хотите установить. |
< property> | Yes | String | Имя существующего или нового задаваемого свойства |
< value> | Yes | Any | Значение, задаваемое для указанного свойства |
Чтобы задать дочернее свойство в дочернем объекте, используйте вместо него вложенный вызов setProperty()
. В противном случае функция возвращает только дочерний объект в качестве выходных данных.
setProperty(<object>, '<parent-property>', setProperty(<object>['parentProperty'], '<child-property>', <value>))
Parameter | Required | Type | Description |
---|---|---|---|
< object> | Yes | Object | Объект JSON, свойство которого вы хотите установить. |
< parent-property> | Yes | String | Имя родительского свойства с дочерним свойством, которое нужно установить |
< child-property> | Yes | String | Имя свойства дочернего объекта, которое нужно задать |
< value> | Yes | Any | Значение, задаваемое для указанного свойства |
Return value | Type | Description |
---|---|---|
< updated-object> | Object | Обновленный объект JSON, свойство которого задается |
Example 1
This example sets the surName
property in a JSON object, which is converted from a string to JSON by using the JSON() function. Функция присваивает указанное значение новому свойству и возвращает обновленный объект:
setProperty(json('{ "firstName": "Sophia", "surName": "Owen" }'), 'surName', 'Hartnett')
Вот текущий объект JSON:
{
"firstName": "Sophia",
"surName": "Owen"
}
Вот обновленный объект JSON:
{
"firstName": "Sophia",
"surName": "Hartnett"
}
Example 2
This example sets the surName
child property for the customerName
parent property in a JSON object, which is converted from a string to JSON by using the JSON() function. Функция присваивает указанное значение новому свойству и возвращает обновленный объект:
setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }'), 'customerName', setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }')['customerName'], 'surName', 'Hartnett'))
Вот текущий объект JSON:
{
"customerName": {
"firstName": "Sophie",
"surName": "Owen"
}
}
Вот обновленный объект JSON:
{
"customerName": {
"firstName": "Sophie",
"surName": "Hartnett"
}
}
skip
Удаляет элементы из начала коллекции и возвращает все остальные элементы.
skip([<collection>], <count>)
Parameter | Required | Type | Description |
---|---|---|---|
< collection> | Yes | Array | Коллекция, элементы которой требуется удалить |
< count> | Yes | Integer | Положительное целое число для количества элементов, которые нужно удалить на передней части |
Return value | Type | Description |
---|---|---|
[<updated-collection>] | Array | Обновленная коллекция после удаления указанных элементов |
Example
В этом примере удаляется один элемент, число 0, из передней части указанного массива:
skip(createArray(0, 1, 2, 3), 1)
И возвращает этот массив с оставшимися элементами: [1,2,3]
slice
Возвращает подстроку, указывая начальную и конечную позицию или значение. See also substring().
slice('<text>', <startIndex>, <endIndex>?)
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Строка, содержащая подстроку для поиска |
< startIndex> | Yes | Integer | Отсчитываемое от нуля начальное положение или значение для начала поиска подстроки - If startIndex is greater than the string length, return an empty string. - If startIndex is negative, start searching at the index value that's the sum of the string length and startIndex. |
< endIndex> | No | Integer | Отсчитываемое от нуля конечное положение или значение, по которому заканчивается поиск подстроки. Символ, расположенный в конце значения индекса, не включается в поиск. - If endIndex isn't specified or greater than the string length, search up to the end of the string. - If endIndex is negative, end searching at the index value that the sum of the string length and endIndex. |
Return value | Type | Description |
---|---|---|
< slice-result> | String | Новая строка, содержащая найденную подстроку |
Examples
slice('Hello World', 2) // Returns 'llo World'.
slice('Hello World', 30) // Returns ''.
slice('Hello World', 10, 2) // Returns ''.
slice('Hello World', 0) // Returns 'Hello World'.
slice('Hello World', 2, 5) // Returns 'llo'.
slice('Hello World', 6, 20) // Returns 'World'.
slice('Hello World', -2) // Returns 'ld'.
slice('Hello World', 3, -1) // Returns 'lo Worl'.
slice('Hello World', 3, 3) // Returns ''.
sort
Сортировка элементов в коллекции. Объекты коллекции можно сортировать с помощью любого ключа, содержащего простой тип.
sort([<collection>], <sortBy>?)
Parameter | Required | Type | Description |
---|---|---|---|
< collection> | Yes | Array | Коллекция с элементами для сортировки |
< sortBy> | No | String | Ключ, используемый для сортировки объектов коллекции |
Return value | Type | Description |
---|---|---|
[<updated-collection>] | Array | Отсортированная коллекция |
Example 1
В этом примере выполняется сортировка массива целых чисел:
sort(createArray(2, 1, 0, 3))
И возвращает этот массив: [0,1,2,3]
Example 2
В этом примере выполняется сортировка массива объектов по ключу:
sort(createArray(json('{ "first": "Amalie", "last": "Rose" }'), json('{ "first": "Elise", "last": "Renee" }')), 'last')
И возвращает этот массив: [{ "first": "Elise", "last": "Renee" }, {"first": "Amalie", "last": "Rose" }')]
split
Возвращает массив, содержащий подстроки, разделенные запятыми, основываясь на указанном символе разделителя в исходной строке.
split('<text>', '<delimiter>')
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Строка для разделения на подстроки в зависимости от указанного разделителя в исходной строке |
< delimiter> | Yes | String | Символ в исходной строке, используемый в качестве разделителя |
Return value | Type | Description |
---|---|---|
[<substring1>,<substring2>,...] | Array | Массив, содержащий подстроки из исходной строки, разделенный запятыми |
Example 1
В этом примере создается массив подстрок из указанной строки с использованием заданного символа в качестве разделителя.
split('a_b_c', '_')
И возвращает этот массив в качестве результата: ["a","b","c"]
Example 2
В этом примере создается массив с одним элементом, если в строке нет разделителя:
split('a_b_c', ' ')
И возвращает этот массив в качестве результата: ["a_b_c"]
startOfDay
Верните начало дня для отметки времени.
startOfDay('<timestamp>', '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< updated-timestamp> | String | Указанная метка времени, но начиная с нуля часов дня. |
Example
Этот пример находит начало дня для этой временной метки.
startOfDay('2018-03-15T13:30:30Z')
И возвращает этот результат: "2018-03-15T00:00:00.0000000Z"
startOfHour
Возвратите начало часа для метки времени.
startOfHour('<timestamp>', '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< updated-timestamp> | String | Указанная метка времени, которая начинается с нулевой минуты часа |
Example
Этот пример определяет начало часа для этой временной метки.
startOfHour('2018-03-15T13:30:30Z')
И возвращает этот результат: "2018-03-15T13:00:00.0000000Z"
startOfMonth
Возвращает начало месяца для временной метки.
startOfMonth('<timestamp>', '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< updated-timestamp> | String | Указанная метка времени, но начиная с нулевого часа первого дня месяца |
Example 1
Этот пример возвращает начало месяца для этой временной метки:
startOfMonth('2018-03-15T13:30:30Z')
И возвращает этот результат: "2018-03-01T00:00:00.0000000Z"
Example 2
Этот пример возвращает начало месяца в указанном формате для этой отметки времени:
startOfMonth('2018-03-15T13:30:30Z', 'yyyy-MM-dd')
И возвращает этот результат: "2018-03-01"
startsWith
Проверьте, начинается ли строка с определенной подстроки. Возвращает true, если подстрока найдена, или возвращает false, если нет. Эта функция не учитывает регистр.
startsWith('<text>', '<searchText>')
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Проверяемая строка |
< searchText> | Yes | String | Начальная строка для поиска |
Return value | Type | Description |
---|---|---|
истина или ложь | Boolean | Возвращает значение true при обнаружении начальной подстроки. Возвращает false, если не найдено. |
Example 1
В этом примере проверяется, начинается ли строка hello world со подстроки hello:
startsWith('hello world', 'hello')
И возвращает этот результат: true
Example 2
В этом примере проверяется, начинается ли строка hello world со подстроки приветствия:
startsWith('hello world', 'greetings')
И возвращает этот результат: false
string
Возвращает строковую версию значения.
string(<value>)
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | Any | Преобразуемое значение . Если значение равно NULL или оценивается как NULL, то оно преобразуется в пустую строку ("" ). Например, если присвоить переменную строки к несуществующему свойству, к которому можно получить доступ через оператор ? , то значение NULL будет преобразовано в пустую строку. При этом сравнение со значением NULL отличается от сравнения с пустой строкой. |
Return value | Type | Description |
---|---|---|
< string-value> | String | Версия строки для указанного значения. If the value parameter is null or evaluates to null, this value is returned as an empty string ("" ) value. |
Example 1
В этом примере создается строковая версия для этого числа:
string(10)
И возвращает этот результат: "10"
Example 2
В этом примере создается строка для указанного объекта JSON, и символ обратной косой черты (\) используется как экранирующий символ для двойных кавычек (").
string( { "name": "Sophie Owen" } )
И возвращает этот результат: "{ \\"name\\": \\"Sophie Owen\\" }"
sub
Возвращает результат вычитания второго числа из первого числа.
sub(<minuend>, <subtrahend>)
Parameter | Required | Type | Description |
---|---|---|---|
< minuend> | Yes | Целое число или число с плавающей запятой | The number from which to subtract the subtrahend |
< subtrahend> | Yes | Целое число или число с плавающей запятой | The number to subtract from the minuend |
Return value | Type | Description |
---|---|---|
< result> | Целое число или число с плавающей запятой | Результат вычитания второго числа из первого числа |
Example
В этом примере из первого числа вычитается второе число:
sub(10.3, .3)
И возвращает этот результат: 10
substring
Возвращает символы из строки, начиная с указанной позиции или индекса. Значения индекса начинаются с числа 0. See also slice().
substring('<text>', <startIndex>, <length>)
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Строка, символы которой вы хотите |
< startIndex> | Yes | Integer | Положительное число, равное или больше 0, которое вы хотите использовать в качестве начальной позиции или значения индекса |
< length> | No | Integer | Положительное число символов, которые вы хотите иметь в подстроке |
Note
Make sure that the sum from adding the startIndex and length parameter values is less than the length of the string that you provide for the text parameter. Otherwise, you get an error, unlike similar functions in other languages where the result is the substring from the startIndex to the end of the string. The length parameter is optional and if not provided, the substring() function takes all the characters beginning from startIndex to the end of the string.
Return value | Type | Description |
---|---|---|
< substring-result> | String | Подстрока с указанным числом символов, начиная с указанной позиции индекса в исходной строке |
Example
В этом примере создается подстрока с пятью символами из указанной строки, начиная с значения индекса 6:
substring('hello world', 6, 5)
И возвращает этот результат: "world"
subtractFromTime
Вычтите некоторое количество единиц времени из метки времени. See also getPastTime.
subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка, содержащая метку времени |
< interval> | Yes | Integer | Число указанных единиц времени для вычитания |
< timeUnit> | Yes | String | The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year" |
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< updated-timestamp> | String | Отметка времени за вычетом указанного количества временных единиц. |
Example 1
В этом примере вычитается один день из этой временной записи.
subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day')
И возвращает этот результат: "2018-01-01T00:00:00.0000000Z"
Example 2
В этом примере вычитается один день из этой временной записи.
subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day', 'D')
И возвращает этот результат с помощью необязательного формата D: "Monday, January, 1, 2018"
T
take
Возвращает элементы, расположенные в начале коллекции.
take('<collection>', <count>)
take([<collection>], <count>)
Parameter | Required | Type | Description |
---|---|---|---|
< collection> | Yes | Строка или массив | Коллекция, элементы которой вы хотите |
< count> | Yes | Integer | Положительное целое число для количества элементов, которые вы хотите с начала. |
Return value | Type | Description |
---|---|---|
< subset> or [<subset>] | Строка или массив соответственно | Строка или массив с указанным числом элементов, взятых из передней части исходной коллекции |
Example
В этих примерах берется указанное количество элементов с начала данных коллекций.
take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)
И верните следующие результаты:
- Первый пример:
"abc"
- Второй пример:
[0, 1, 2]
ticks
Возвращает число тактов, являющихся 100-наносекундными интервалами, начиная с полуночи 1 января 0001 00:00:00 (или DateTime.Ticks в C#) вплоть до указанной метки времени. Дополнительные сведения см. в этой статье: DateTime.Ticks Property (System).
ticks('<timestamp>')
Parameter | Required | Type | Description |
---|---|---|---|
< timestamp> | Yes | String | Строка для метки времени |
Return value | Type | Description |
---|---|---|
< ticks-number> | Integer | Число тактов с указанной метки времени |
toLower
Возвращает строку в нижнем регистре. Если символ в строке не имеет версии в нижнем регистре, он добавляется в возвращаемую строку без изменений.
toLower('<text>')
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Строка, которую нужно вернуть в нижнем регистре. |
Return value | Type | Description |
---|---|---|
< lowercase-text> | String | Исходная строка в нижнем регистре |
Example
В этом примере эта строка преобразуется в нижний регистр:
toLower('Hello World')
И возвращает этот результат: "hello world"
toUpper
Верните строку в верхнем регистре. Если символ в строке не имеет версию верхнего регистра, этот символ остается неизменным в возвращаемой строке.
toUpper('<text>')
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Строка, которую нужно вернуть в верхнем регистре |
Return value | Type | Description |
---|---|---|
< uppercase-text> | String | Исходная строка в формате верхнего регистра |
Example
В этом примере эта строка преобразуется в верхний регистр:
toUpper('Hello World')
И возвращает этот результат: "HELLO WORLD"
trigger
Возвращает выходные данные триггера во время выполнения или значение из других пар "имя — значение" JSON, которые вы можете назначить выражению.
Внутри входных данных триггера функция возвращает выходные данные предыдущего выполнения.
Внутри условий триггера функция возвращает выходные данные текущего выполнения.
По умолчанию эта функция ссылается на весь объект триггера, но вы можете дополнительно указать свойство, значение которого требуется. Also, this function has shorthand versions available, see triggerOutputs() and triggerBody().
trigger()
Return value | Type | Description |
---|---|---|
< trigger-output> | String | Выходные данные из триггера во время выполнения |
triggerBody
Возвращает выходные данные body
триггера во время выполнения. Сокращение для trigger().outputs.body
. See trigger().
triggerBody()
Return value | Type | Description |
---|---|---|
< trigger-body-output> | String | Выходные данные body из триггера |
triggerFormDataMultiValues
Return an array with values that match a key name in a trigger's form-data or form-encoded output.
triggerFormDataMultiValues('<key>')
Parameter | Required | Type | Description |
---|---|---|---|
< key> | Yes | String | Имя ключа, значение которого нужно получить |
Return value | Type | Description |
---|---|---|
[<array-with-key-values>] | Array | Массив со всеми значениями, которые соответствуют заданному ключу |
Example
В этом примере создается массив из значения ключа "feedUrl" в выходных данных триггера RSS, которые представлены в form-data или закодированы в форму.
triggerFormDataMultiValues('feedUrl')
Возвращается этот массив в качестве примера: ["https://feeds.a.dj.com/rss/RSSMarketsMain.xml"]
triggerFormDataValue
Return a string with a single value that matches a key name in a trigger's form-data or form-encoded output. Если функция обнаруживает более одного совпадения, она выдает ошибку.
triggerFormDataValue('<key>')
Parameter | Required | Type | Description |
---|---|---|---|
< key> | Yes | String | Имя ключа, значение которого нужно получить |
Return value | Type | Description |
---|---|---|
< key-value> | String | Значение в указанном ключе |
Example
В этом примере создаётся строка из значения ключа "feedUrl" в выходных данных form-data или закодированных форм триггера RSS.
triggerFormDataValue('feedUrl')
Эта строка возвращается как пример результата: "https://feeds.a.dj.com/rss/RSSMarketsMain.xml"
triggerMultipartBody
Возвращает текст указанной части выходных данных триггера, которые состоят из нескольких частей.
triggerMultipartBody(<index>)
Parameter | Required | Type | Description |
---|---|---|---|
< index> | Yes | Integer | Значение индекса необходимой части |
Return value | Type | Description |
---|---|---|
< body> | String | Текст указанной части выходных данных триггера, которые состоят из нескольких частей |
triggerOutputs
Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. Сокращение для trigger().outputs
. See trigger().
triggerOutputs()
Return value | Type | Description |
---|---|---|
< trigger-output> | String | Выходные данные из триггера во время выполнения |
trim
Удалите начальные и конечные пробелы из строки и верните обновленную строку.
trim('<text>')
Parameter | Required | Type | Description |
---|---|---|---|
< text> | Yes | String | Строка с начальными и конечными пробелами, которые нужно удалить |
Return value | Type | Description |
---|---|---|
< updatedText> | String | Обновленная версия исходной строки без начальных или конечных пробелов |
Example
В этом примере удаляются начальные и конечные пробелы из строки "Hello World":
trim(' Hello World ')
И возвращает этот результат: "Hello World"
U
union
Return a collection that has all the items from the specified collections. Чтобы появиться в результатах, элемент должен содержаться в любой коллекции, переданной этой функции. Если один или несколько элементов имеют одинаковое имя, в результатах появляется последний элемент с таким именем.
union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
Parameter | Required | Type | Description |
---|---|---|---|
< collection1>, <collection2>, ... | Yes | Массив или объект, но не оба | The collections from where you want all the items |
Return value | Type | Description |
---|---|---|
< updatedCollection> | Массив или объект соответственно | Коллекция со всеми элементами из указанных коллекций — без дубликатов |
Example
This example gets all the items from these collections:
union(createArray(1, 2, 3), createArray(1, 2, 10, 101))
И возвращает этот результат: [1, 2, 3, 10, 101]
uriComponent
Возвращает кодированную версию URI для строки, заменив символы, опасные для URL-адреса, на escape-символы. Use this function rather than encodeUriComponent(). Хотя обе функции работают одинаково, uriComponent()
предпочтительнее.
uriComponent('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка для преобразования в формат с кодировкой URI |
Return value | Type | Description |
---|---|---|
< encoded-uri> | String | Строка с закодированным URI, содержащая экранирующие символы |
Example
В этом примере создается версия в кодировке URI для этой строки:
uriComponent('https://contoso.com')
И возвращает этот результат: "https%3A%2F%2Fcontoso.com"
uriComponentToBinary
Возвращает двоичную версию компонента унифицированного указателя ресурса (URI).
uriComponentToBinary('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка, закодированная в формате URI, для преобразования |
Return value | Type | Description |
---|---|---|
< binary-for-encoded-uri> | String | Двоичная версия для строки в кодировке URI. Двоичное содержимое закодировано в Base64 и представлено в виде $content . |
Example
В этом примере создается двоичная версия для этой строки в кодировке URI:
uriComponentToBinary('https%3A%2F%2Fcontoso.com')
И возвращает этот результат: "aHR0cHM6Ly9jb250b3NvLmNvbQ=="
uriComponentToString
Возвращает строковую версию URI-кодированной строки, эффективно декодируя эту URI-кодированную строку.
uriComponentToString('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка, закодированная в формате URI, для декодирования |
Return value | Type | Description |
---|---|---|
< decoded-uri> | String | Декодированная версия для строки в кодировке URI |
Example
В этом примере создается декодированная версия строки для этой строки в кодировке URI:
uriComponentToString('https%3A%2F%2Fcontoso.com')
И возвращает этот результат: "https://contoso.com"
uriHost
Верните значение host
для унифицированного указателя ресурса (URI).
uriHost('<uri>')
Parameter | Required | Type | Description |
---|---|---|---|
< uri> | Yes | String | URI, значение host которого вы хотите получить |
Return value | Type | Description |
---|---|---|
< host-value> | String | Значение host для указанного URI. |
Example
В этом примере выполняется поиск значения host
для этого URI:
uriHost('https://www.localhost.com:8080')
И возвращает этот результат: "www.localhost.com"
uriPath
Верните значение path
для унифицированного указателя ресурса (URI).
uriPath('<uri>')
Parameter | Required | Type | Description |
---|---|---|---|
< uri> | Yes | String | URI, значение path которого вы хотите получить |
Return value | Type | Description |
---|---|---|
< path-value> | String | Значение path для указанного URI. Если path не имеет значения, вернется символ "/". |
Example
В этом примере выполняется поиск значения path
для этого URI:
uriPath('https://www.contoso.com/catalog/shownew.htm?date=today')
И возвращает этот результат: "/catalog/shownew.htm"
uriPathAndQuery
Возвращает значения path
и query
для URI.
uriPathAndQuery('<uri>')
Parameter | Required | Type | Description |
---|---|---|---|
< uri> | Yes | String | URI, значения path и query которого требуется извлечь |
Return value | Type | Description |
---|---|---|
< path-query-value> | String | Значения path и query для указанного URI. Если path не указывает значение, вернется символ "/". |
Example
В этом примере выполняется поиск значения path
и query
для этого URI:
uriPathAndQuery('https://www.contoso.com/catalog/shownew.htm?date=today')
И возвращает этот результат: "/catalog/shownew.htm?date=today"
uriPort
Верните значение port
для унифицированного указателя ресурса (URI).
uriPort('<uri>')
Parameter | Required | Type | Description |
---|---|---|---|
< uri> | Yes | String | URI, значение port которого вы хотите получить |
Return value | Type | Description |
---|---|---|
< port-value> | Integer | Значение port для указанного URI. Если port не указывает значение, возвращается порт по умолчанию для протокола. |
Example
В этом примере возвращается значение port
для этого URI:
uriPort('https://www.localhost:8080')
И возвращает этот результат: 8080
uriQuery
Верните значение query
для унифицированного указателя ресурса (URI).
uriQuery('<uri>')
Parameter | Required | Type | Description |
---|---|---|---|
< uri> | Yes | String | URI, значение query которого вы хотите получить |
Return value | Type | Description |
---|---|---|
< query-value> | String | Значение query для указанного URI. |
Example
В этом примере возвращается значение query
для этого URI:
uriQuery('https://www.contoso.com/catalog/shownew.htm?date=today')
И возвращает этот результат: "?date=today"
uriScheme
Верните значение scheme
для унифицированного указателя ресурса (URI).
uriScheme('<uri>')
Parameter | Required | Type | Description |
---|---|---|---|
< uri> | Yes | String | URI, значение scheme которого вы хотите получить |
Return value | Type | Description |
---|---|---|
< scheme-value> | String | Значение scheme для указанного URI. |
Example
В этом примере возвращается значение scheme
для этого URI:
uriScheme('https://www.contoso.com/catalog/shownew.htm?date=today')
И возвращает этот результат: "http"
utcNow
Возвращает текущую метку времени.
utcNow('<format>')
Optionally, you can specify a different format with the <format> parameter.
Parameter | Required | Type | Description |
---|---|---|---|
< format> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. Если формат имеет недопустимое значение, генерируется ошибка. |
Return value | Type | Description |
---|---|---|
< current-timestamp> | String | Текущая дата и время |
Example 1
Предположим, сегодня 15 апреля 2018 г. в 1:00:00 вечера. Пример демонстрирует получение текущей метки времени:
utcNow()
И возвращает этот результат: "2018-04-15T13:00:00.0000000Z"
Example 2
Предположим, сегодня 15 апреля 2018 г. в 1:00:00 вечера. В этом примере текущая метка времени получается с помощью необязательного формата "D":
utcNow('D')
И возвращает этот результат: "Sunday, April 15, 2018"
V
variables
Возвращает значение для указанной переменной.
variables('<variableName>')
Parameter | Required | Type | Description |
---|---|---|---|
< variableName> | Yes | String | Имя переменной, значение которой нужно получить |
Return value | Type | Description |
---|---|---|
< variable-value> | Any | Значение указанной переменной |
Example
Предположим, что текущее значение для переменной "numItems" — 20. В этом примере извлекается целочисленное значение этой переменной:
variables('numItems')
И возвращает этот результат: 20
W
workflow
Возвращает все сведения о самом рабочем процессе во время выполнения.
workflow().<property>
Parameter | Required | Type | Description |
---|---|---|---|
< property> | No | String | Имя свойства рабочего процесса, значение которого требуется По умолчанию объект рабочего процесса имеет следующие свойства: name , type , id , location , run и tags . – Значение свойства run — это объект JSON, который включает следующие свойства: name , type и id . – Свойство tags — это объект JSON, который включает теги, связанные с приложением логики, в Azure Logic Apps или поток в Power Automate, а также значения этих тегов. Дополнительные сведения о тегах в ресурсах Azure см. в статье Ресурсы тегов, группы ресурсов и подписки для логической организации в Azure. Note: By default, a logic app has no tags, but a Power Automate flow has the flowDisplayName and environmentName tags. |
Example 1
В этом примере возвращается имя текущего выполнения рабочего процесса:
workflow().run.name
Example 2
В Power Automate можно создать выражение @workflow()
, которое использует свойство выходных данных tags
, чтобы получать значение из свойств потока flowDisplayName
или environmentName
.
Например, вы можете отправлять пользовательские уведомления по электронной почте из самого потока, которые ссылаются на ваш поток. Эти уведомления могут включать ссылку HTML, которая содержит отображаемое имя потока в заголовке письма и соответствует следующему синтаксису:
<a href=https://flow.microsoft.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/details>Open flow @{workflow()['tags']['flowDisplayName']}</a>
X
xml
Возвращает XML-версию для строки, содержащей объект JSON.
xml('<value>')
Parameter | Required | Type | Description |
---|---|---|---|
< value> | Yes | String | Строка с объектом JSON для преобразования Объект JSON должен иметь только одно корневое свойство, которое не может быть массивом. Используйте обратную косую черту (\) как экранирующий символ для двойных кавычек ("). |
Return value | Type | Description |
---|---|---|
< xml-version> | Object | Закодированный XML для заданной строки или объекта JSON |
Example 1
В этом примере строка преобразуется в XML:
xml('<name>Sophia Owen</name>')
И возвращает xml-код результата:
<name>Sophia Owen</name>
Example 2
В этом примере создается XML-версия для этой строки, которая содержит объект JSON:
xml(json('{ "name": "Sophia Owen" }'))
И возвращает xml-код результата:
<name>Sophia Owen</name>
Example 3
Предположим, у вас есть этот объект JSON:
{
"person": {
"name": "Sophia Owen",
"city": "Seattle"
}
}
В этом примере создается XML-код для строки, содержащей этот объект JSON:
xml(json('{"person": {"name": "Sophia Owen", "city": "Seattle"}}'))
И возвращает xml-код результата:
<person>
<name>Sophia Owen</name>
<city>Seattle</city>
<person>
xpath
Проверьте XML на наличие узлов или значений, которые соответствуют выражению XPath (язык путей XML), и верните соответствующие узлы или значения. Выражение XPath (или просто "XPath") помогает перемещаться по структуре документа XML, чтобы вы могли выбирать узлы или вычислять значения в содержимом XML.
Note
В приложениях логики "Потребление" и "Стандартный" все выражения функций используют библиотеку .NET XPath. Выражения XPath совместимы с базовой библиотекой .NET и поддерживают только выражение, поддерживаемое базовой библиотекой .NET.
xpath('<xml>', '<xpath>')
Parameter | Required | Type | Description |
---|---|---|---|
< xml> | Yes | Any | XML-строка для поиска узлов или значений, соответствующих значению выражения XPath |
< xpath> | Yes | Any | Выражение XPath, используемое для поиска соответствующих узлов или значений XML |
Return value | Type | Description |
---|---|---|
< xml-node> | XML | Узел XML, где только один узел соответствует указанному выражению XPath |
< value> | Any | Значение из узла XML, где только одно значение соответствует указанному выражению XPath |
[<xml-node1>, <xml-node2>, ...] -or- [<value1>, <value2>, ...] | Array | Массив с узлами XML или значениями, которые соответствуют указанному выражению XPath |
Example 1
Предположим, что у вас есть следующая строка XML 'items'
:
<?xml version="1.0"?>
<produce>
<item>
<name>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
В этом примере передается выражение XPath '/produce/item/name/text()'
, чтобы найти узлы, соответствующие узлу <name></name>
в строке XML 'items'
, а затем возвращается массив со значениями узла:
xpath(xml(parameters('items')), '/produce/item/name/text()')
The example also uses the parameters() function to get the XML string from 'items'
and convert the string to XML format by using the xml() function.
Вот массив результатов, заполненный значениями узлов, которые соответствуют <name></name>
:
[ Gala, Honeycrisp ]
Example 2
За основу взять пример 1. Здесь передается выражение XPath '/produce/item/name[1]'
, чтобы найти первый элемент name
, который является дочерним для item
.
xpath(xml(parameters('items')), '/produce/item/name[1]')
Ниже приведен результат: Gala
Example 3
Следуя примеру 1, в этом примере используется выражение XPath '/produce/item/name[last()]'
, чтобы найти последний элемент name
, который является дочерним для элемента item
.
xpath(xml(parameters('items')), '/produce/item/name[last()]')
Ниже приведен результат: Honeycrisp
Example 4
Предположим, что строка XML items
также содержит атрибуты expired='true'
и expired='false'
:
<?xml version="1.0"?>
<produce>
<item>
<name expired='true'>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name expired='false'>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
В этом примере передается выражение XPath '//name[@expired]'
, чтобы найти все элементы name
с атрибутом expired
:
xpath(xml(parameters('items')), '//name[@expired]')
Ниже приведен результат: [ Gala, Honeycrisp ]
Example 5
Предположим, что строка XML items
содержит только атрибут expired = 'true'
:
<?xml version="1.0"?>
<produce>
<item>
<name expired='true'>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
В этом примере передается выражение XPath '//name[@expired = 'true']'
, чтобы найти все элементы name
с атрибутом expired = 'true'
:
xpath(xml(parameters('items')), '//name[@expired = 'true']')
Ниже приведен результат: [ Gala ]
Example 6
Предположим, что строка XML items
также содержит следующие атрибуты:
expired='true' price='12'
expired='false' price='40'
<?xml version="1.0"?>
<produce>
<item>
<name expired='true' price='12'>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name expired='false' price='40'>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
В этом примере передается выражение XPath '//name[@price>35]'
, чтобы найти все элементы name
с атрибутом price > 35
:
xpath(xml(parameters('items')), '//name[@price>35]')
Ниже приведен результат: Honeycrisp
Example 7
Предположим, что строка XML items
та же, что и в примере 1:
<?xml version="1.0"?>
<produce>
<item>
<name>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
В этом примере находятся узлы, которые соответствуют узлу <count></count>
, а их значения передаются с помощью функции sum()
:
xpath(xml(parameters('items')), 'sum(/produce/item/count)')
Ниже приведен результат: 30
Example 8
Предположим, что в этом примере у вас есть строка XML, которая включает пространство имен XML документа xmlns="https://contoso.com"
:
<?xml version="1.0"?><file xmlns="https://contoso.com"><location>Paris</location></file>
Эти выражения используют выражение XPath /*[name()="file"]/*[name()="location"]
или /*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"]
, чтобы найти узлы, соответствующие узлу <location></location>
. В этих примерах показан синтаксис, который используется в конструкторе или в редакторе выражений:
xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')
xpath(xml(body('Http')), '/*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"]')
Вот узел результата, соответствующий узлу <location></location>
:
<location xmlns="https://contoso.com">Paris</location>
Important
Если вы работаете в режиме кода, экранируйте двойные кавычки (") обратной косой чертой (\). Например, при сериализации выражения в виде строки JSON необходимо использовать escape-символы. Тем не менее, если вы работаете в конструкторе или редакторе выражений, не нужно экранировать двойные кавычки, поскольку символ обратной косой черты добавляется в определениях автоматически.
Представление кода:
xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')
Редактор выражений:
xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')
Example 9
За основу взят пример 8. Здесь используется выражение XPath 'string(/*[name()="file"]/*[name()="location"])'
, чтобы найти значение узла <location></location>
:
xpath(xml(body('Http')), 'string(/*[name()="file"]/*[name()="location"])')
Ниже приведен результат: Paris
Next steps
Дополнительные сведения о языке определения рабочего процесса.