Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применяется к: Azure Logic Apps (Расход + Стандарт)
Для определений рабочих процессов в Azure Logic Apps в Power Automate некоторые выражения получают значения из действий среды выполнения, которые могут не существовать при запуске рабочего процесса. Для ссылки или обработки значений в этих выражениях можно использовать функции выражений , предоставляемые языком определения рабочего процесса.
Note
Это справочное руководство относится как к Azure Logic Apps, так и к Power Automate, но существует в документации по Azure Logic Apps. Хотя руководство относится специально к рабочим процессам приложения логики, эти функции работают как для потоков в Power Automate, так и для рабочих процессов в Azure Logic Apps. Дополнительные сведения о функциях и выражениях в Power Automate см. в разделе "Использование выражений в условиях".
Например, можно вычислить значения с помощью математических функций, таких как функция add(), если требуется сумма из целых чисел или с плавающей запятой. Вот еще примеры задач, которые вы можете выполнять с помощью функций.
| Task | Синтаксис функции | Result |
|---|---|---|
| Возвращает строку в нижнем регистре. | toLower ('<текст'>) Например, toLower('Hello'). |
"hello" |
| Возвращение глобального уникального идентификатора (GUID). | guid() | "c2ecc88d-88c8-4096-912c-d6f2e2b138ce" |
Чтобы найти функции, основанные на их общем назначении, просмотрите следующие таблицы. Кроме того, подробные сведения о каждой функции см. в алфавитном списке.
Функции в выражениях
Чтобы показать, как использовать функцию в выражении, в этом примере показано, как получить значение из customerName параметра и назначить это значение accountName свойству с помощью функции parameters() в выражении:
"accountName": "@parameters('customerName')"
Вот некоторые другие общие способы использования функций в выражениях:
| Task | Синтаксис функции в выражении |
|---|---|
| Выполнить операцию с элементом, передав этот элемент функции. | "@<functionName>(<пункт>)" |
1. Получите значение параметра с помощью вложенной parameters() функции. 2. Выполните работу с результатом, передав это значение в functionName. |
"@<functionName>(parameters('<parameterName>'))" |
| 1. Получите результат из вложенной внутренней функции functionName. 2. Передайте результат во внешнюю функцию functionName2. |
"@<functionName2>(<(><item>)" |
| 1. Получение результата из functionName. 2. Учитывая, что результат является объектом со свойством PropertyName, получите значение этого свойства. |
"@<functionName>(<пункт>).<propertyName>" |
Например, функция concat() может принимать два или более строковых значения в качестве параметров. Эта функция объединяет эти строки в одну. Вы можете передать строковые литералы, например "Sophia" и "Owen", чтобы получить комбинированную строку "SophiaOwen":
"customerName": "@concat('Sophia', 'Owen')"
Или можно получить строковые значения параметров. В этом примере используется функция parameters() в каждом параметре concat() и параметры firstName и lastName. Затем передайте полученные строки в функцию concat(), чтобы получить комбинированную строку, например "SophiaOwen":
"customerName": "@concat(parameters('firstName'), parameters('lastName'))"
В любом случае в обоих примерах присвойте результат свойству customerName.
Рекомендации по использованию функций
Конструктор не вычисляет выражения среды выполнения, которые используются в качестве параметров функции во время разработки. Конструктор требует, чтобы все выражения можно было полностью оценивать во время разработки.
Параметры функций оцениваются слева направо.
В синтаксисе для определения параметров знак вопроса (?), который расположен после параметра, означает, что параметр является необязательным. Например, см. раздел getFutureTime().
Функциональные выражения, которые вставляются в строку с обычным текстом, необходимо заключить в фигурные скобки ({}), чтобы использовать интерполированный формат выражения. Этот формат помогает избежать проблем с синтаксическим анализом. Если выражение функции не отображается в виде обычного текста, фигурные скобки не требуются.
В следующем примере показан правильный и неправильный синтаксис:
Правильно:
"<text>/@{<function-name>('<parameter-name>')}/<text>"Неправильно:
"<text>/@<function-name>('<parameter-name>')/<text>"ОК:
"@<function-name>('<parameter-name>')"
В следующих разделах можно упорядочить функции на основе общего назначения или просмотреть эти функции в алфавитном порядке.
Строковые функции
Для работы со строками можно использовать эти строковые функции, а также функции некоторых коллекций. Строковые функции работают только со строками.
| Строковая функция | Task |
|---|---|
| chunk | Разделить строку или коллекцию на блоки равной длины. |
| concat | Объедините две или несколько строк и верните объединенную строку. |
| endsWith | Проверьте, заканчивается ли строка указанной подстрокой. |
| formatNumber | Возврат числа в виде строки на основе указанного формата |
| guid | Создайте глобальный уникальный идентификатор (GUID) в виде строки. |
| indexOf | Вернуть начальную позицию подстроки. |
| isFloat | Возвращает логическое значение, указывающее, является ли строка числом с плавающей запятой. |
| isInt | Возвращает булево значение, которое указывает, является ли строка целым числом. |
| lastIndexOf | Возвращает начальную позицию для последнего вхождения подстроки. |
| length | Возвращает количество элементов в строке или массиве. |
| nthIndexOf | Возвращает начальную позицию или значение индекса, где в строке отображается n-евхождение подстроки. |
| replace | Замените подстроку указанной строкой и верните обновленную строку. |
| slice | Возвращает подстроку, указывая начальную и конечную позицию или значение. См. также подстроку. |
| split | Возвращает массив, содержащий подстроки, разделенные запятыми, из большей строки, основываясь на указанном символе разделителя в исходной строке. |
| startsWith | Проверьте, начинается ли строка с определенной подстроки. |
| substring | Возвращает символы из строки, начиная с указанной позиции. См. также срез. |
| toLower | Возвращает строку в нижнем регистре. |
| toUpper | Верните строку в верхнем регистре. |
| trim | Удалите начальные и конечные пробелы из строки и верните обновленную строку. |
Функции коллекции
Для работы с коллекциями, обычно массивами, строками, а иногда и словарями, вы можете использовать следующие функции.
| Функция коллекции | Task |
|---|---|
| chunk | Разделить строку или коллекцию на блоки равной длины. |
| contains | Проверьте, имеет ли коллекция определенный элемент. |
| empty | Проверьте, пуста ли коллекция. |
| first | Верните первый элемент из коллекции. |
| intersection | Возвращает коллекцию, содержащую только общие элементы в указанных коллекциях. |
| item | Если эта функция появляется внутри повторяющегося действия в массиве, она возвращает текущий элемент массива во время текущей итерации действия. |
| join | Возвращает строку, которая содержит все элементы из массива, разделенные указанным символом. |
| last | Возвращает последний элемент из коллекции. |
| length | Возвращает количество элементов в строке или массиве. |
| reverse | Измените порядок элементов в массиве. |
| skip | Удаляет элементы из начала коллекции и возвращает все остальные элементы. |
| sort | Сортировка элементов в коллекции. |
| take | Возвращает элементы, расположенные в начале коллекции. |
| union | Возвращает коллекцию, которая содержит все элементы из указанных коллекций. |
Функции логического сравнения
Чтобы работать с условиями, сравнивать значения и результаты выражений или оценивать различные типы логики, можно использовать следующие функции логического сравнения. Полный справочник по каждой функции см. в алфавитном списке.
Note
Если вы используете логические функции или условия для сравнения значений, то значения NULL преобразуются в пустые строки (""). При сравнении с пустой строкой, а не значением NULL, условия ведут себя по-другому. Дополнительные сведения см. в функции string().
| Функция логического сравнения | Task |
|---|---|
| and | Проверьте, являются ли все выражения истинными. |
| equals | Проверьте, эквивалентны ли оба значения. |
| greater | Проверяет, является ли первое значение большим, чем второе. |
| greaterOrEquals | Проверяет, является ли первое значение большим, чем второе, или равным ему. |
| if | Проверьте, какое значение имеет выражение: true или false. В зависимости от результата возвращается указанное значение. |
| isFloat | Возвращает логическое значение, указывающее, является ли строка числом с плавающей запятой. |
| isInt | Возвращает булево значение, которое указывает, является ли строка целым числом. |
| less | Проверяет, является ли первое значение меньшим, чем второе. |
| lessOrEquals | Проверяет, является ли первое значение меньшим, чем второе, или равным ему. |
| not | Проверьте, является ли выражение ложным. |
| or | Проверьте, является ли по крайней мере одно выражение истинным. |
Функции преобразования
Чтобы изменить тип или формат значения, можно использовать приведенные ниже функции преобразования. Например, вы можете изменить значение с логического на целочисленное. Чтобы узнать, как приложения логики обрабатывают типы содержимого во время преобразования, см. статью Обработка типов содержимого в Azure Logic Apps. Полный справочник по каждой функции см. в алфавитном списке.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Неявное преобразование типов данных.
| Функция преобразования | Task |
|---|---|
| array | Возвращает массив из одного указанного входного значения. Для нескольких входных данных см. createArray. |
| base64 | Возвращает версию в кодировке Base64 для строки. |
| base64ToBinary | Возвращает двоичную версию строки с кодировкой base64. |
| base64ToString | Возвращает строковую версию строки с кодировкой base64. |
| binary | Возвращает двоичную версию входного значения. |
| bool | Возвращает логическую версию входного значения. |
| createArray | Возвращает массив из нескольких входных данных. |
| dataUri | Возвращает URI данных для входного значения. |
| dataUriToBinary | Верните двоичную версию для URI-данных. |
| dataUriToString | Возвращает строковую версию URI данных. |
| decimal | Возвращает десятичное число для десятичной строки. |
| decodeBase64 | Возвращает строковую версию строки с кодировкой base64. |
| decodeDataUri | Верните двоичную версию для URI-данных. |
| decodeUriComponent | Возвращает строку, в которой escape-символы заменяются на их декодированные версии. |
| encodeUriComponent | Верните строку, в которой символы, небезопасные для URL-адреса, заменены экранирующими символами. |
| float | Возвращает число с плавающей запятой для входного значения. |
| int | Возвращает целочисленную версию строки. |
| json | Возвращает значение типа нотации объектов JavaScript (JSON) или объект для строки или XML. |
| string | Возвращает строковую версию входного значения. |
| uriComponent | Возвращает кодированную версию URI для входного значения, заменив символы, опасные для URL-адреса, на escape-символы. |
| uriComponentToBinary | Возвращает двоичную версию для строки в кодировке URI. |
| uriComponentToString | Возвращает строковую версию строки с закодированным URI. |
| xml | Возвращает XML-версию строки. |
Неявные преобразования типов данных
Azure Logic Apps автоматически или неявно преобразовывает некоторые типы данных, поэтому вручную это делать не нужно. Например, если используются нестроковые значения, где строки ожидаются в качестве входных данных, Azure Logic Apps автоматически преобразует нестроковые значения в строки.
Например, предположим, что триггер возвращает числовое значение в качестве выходных данных:
triggerBody()?['123']
Если используются эти числовые выходные данные там, где ожидается ввод строк, например URL-адресов, Azure Logic Apps автоматически преобразует значение в строку с помощью нотации фигурных скобок ({}):
@{triggerBody()?['123']}
Кодирование и декодирование Base64
Azure Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих функций:
base64(<value>)base64ToBinary(<value>)base64ToString(<value>)base64(decodeDataUri(<value>))concat('data:;base64,',<value>)concat('data:,',encodeUriComponent(<value>))decodeDataUri(<value>)
Note
Если вы вручную добавите любую из этих функций при использовании конструктора, либо непосредственно в триггер или действие, либо с помощью редактора выражений, перейдете из конструктора, а затем вернетесь в него, функция исчезнет из конструктора, оставив только значения параметров. Так происходит, когда вы выбираете триггер или действие, которые используют эту функцию, без редактирования значений ее параметров. В результате изменения касаются только отображения функции, но не ее эффекта. В представлении кода функция не изменяется. Но если вы изменяете значения параметров функции, то ее отображение и эффект удаляются из представления кода. Остаются только значения параметров.
Математические функции
Для работы с целыми числами и числами с плавающей запятой можно использовать следующие математические функции. Полный справочник по каждой функции см. в алфавитном списке.
| Математические функции | Task |
|---|---|
| add | Возвращает результат сложения двух чисел. |
| div | Возвращает результат деления двух чисел. |
| max | Возвращает наибольшее значение из набора чисел или массива. |
| min | Возвращает наименьшее значение из набора чисел или массива. |
| mod | Возвращает остаток результата деления двух чисел. |
| mul | Возвращает результат умножения двух чисел. |
| rand | Возвращает случайное целое число из указанного диапазона. |
| range | Возвращает массив целых чисел, который начинается с заданного целого числа. |
| sub | Возвращает результат вычитания второго числа из первого числа. |
Функции даты и времени
Чтобы работать с датами и временем, вы можете использовать эти функции даты и времени. Полный справочник по каждой функции см. в алфавитном списке.
| Функция даты или времени | Task |
|---|---|
| addDays | Добавляет дни в метку времени. |
| addHours | Добавьте часы к метке времени. |
| addMinutes | Добавляет минуты к метке времени. |
| addSeconds | Добавьте секунды к метке времени. |
| addToTime | Добавляет указанное количество единиц времени в метку времени. См. также getFutureTime. |
| convertFromUtc | Преобразуйте метку времени из универсального часового пояса (UTC) в целевой часовой пояс. |
| convertTimeZone | Преобразуйте метку времени из исходного часового пояса в целевой часовой пояс. |
| convertToUtc | Преобразуйте метку времени из исходного часового пояса во Всемирное координированное время (UTC). |
| dateDifference | Возвращает разницу между двумя датами в виде интервала времени. |
| dayOfMonth | Возвращает компонент "день месяца" из метки времени. |
| dayOfWeek | Возвращает компонент дня недели из временной отметки. |
| dayOfYear | Возвращает компонент дня года из метки времени. |
| formatDateTime | Возвращает дату из метки времени. |
| getFutureTime | Возвращает текущую метку времени и указанные единицы времени. См. также addToTime. |
| getPastTime | Возвращает текущую метку времени минус указанные единицы времени. См. также вычитание из времени. |
| parseDateTime | Возвращает метку времени из строки, содержащей метку времени. |
| startOfDay | Верните начало дня для отметки времени. |
| startOfHour | Возвратите начало часа для метки времени. |
| startOfMonth | Возвращает начало месяца для временной метки. |
| subtractFromTime | Вычтите некоторое количество единиц времени из метки времени. См. также getPastTime. |
| ticks | Возвращает значение свойства ticks для указанной метки времени. |
| utcNow | Возвращает текущую метку времени в виде строки. |
Функции рабочего процесса
Эти функции рабочего процесса могут помочь:
- Получить информацию об экземпляре рабочего процесса в режиме выполнения.
- Работайте с входными данными, которые используются для создания экземпляров логических приложений или потоков.
- Обращаться к выходным данным триггеров и действий.
Например, вы можете ссылаться на выходные данные одного действия и использовать их в действии, которое выполняется позже. Полный справочник по каждой функции см. в алфавитном списке.
| Функция рабочего процесса | Task |
|---|---|
| action | Возвращает выходные данные текущего действия во время выполнения или значения из других пар "имя — значение" JSON. См. также действия. |
| actions | Возвращает выходные данные действия во время выполнения или значения из других пар "имя — значение" JSON. См. также действие. |
| body | Возвращает результат действия body во время выполнения. |
| formDataMultiValues | Создайте массив со значениями, которые соответствуют имени ключа в выходных данных формы или в кодировке формы . |
| formDataValue | Возвращает одно значение, соответствующее имени ключа в выходных данных формы или в кодированных формах действия. |
| item | Если эта функция появляется внутри повторяющегося действия в массиве, она возвращает текущий элемент массива во время текущей итерации действия. |
| items | Если эта функция появляется внутри цикла "Foreach" или "Until", она возвращает текущий элемент из указанного цикла. |
| iterationIndexes | Если эта функция появляется в цикле "Until", она возвращает значение индекса для текущей итерации. Эту функцию можно использовать внутри вложенных циклов Until. |
| listCallbackUrl | Возвращает URL-адрес обратного вызова, который вызывает триггер или действие. |
| multipartBody | Возвращает текст указанной части выходных данных действия, которые состоят из нескольких частей. |
| outputs | Возвращает результат действия во время выполнения. |
| parameters | Возвращает значение параметра, описанного в определении вашего рабочего процесса. |
| result | Возвращает входные и выходные данные для всех действий верхнего уровня внутри указанного действия с ограниченной областью, такого как For_each, Until и Scope. |
| trigger | Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. См. также триггерOutputs и triggerBody. |
| triggerBody | Возвращает выходные данные body триггера во время выполнения. См. триггер. |
| triggerFormDataValue | Возвращает одно значение, соответствующее имени ключа в выходных данных формы или в кодировке формы . |
| triggerMultipartBody | Возвращает текст указанной части выходных данных триггера, которые состоят из нескольких частей. |
| triggerFormDataMultiValues | Создайте массив, значения которого соответствуют имени ключа в выходных данных формы или в кодировке формы . |
| triggerOutputs | Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. См. триггер. |
| variables | Возвращает значение для указанной переменной. |
| workflow | Возвращает все сведения о самом рабочем процессе во время выполнения. |
Функции анализа URI
Чтобы работать с унифицированными указателями ресурсов (URI) и получать различные значения их свойств, вы можете использовать эти функции разбора URI. Полный справочник по каждой функции см. в алфавитном списке.
| Функция анализа URI | Task |
|---|---|
| uriHost | Верните значение host для унифицированного указателя ресурса (URI). |
| uriPath | Верните значение path для унифицированного указателя ресурса (URI). |
| uriPathAndQuery | Возвращает значения path и query для URI. |
| uriPort | Верните значение port для унифицированного указателя ресурса (URI). |
| uriQuery | Верните значение query для унифицированного указателя ресурса (URI). |
| uriScheme | Верните значение scheme для унифицированного указателя ресурса (URI). |
Функции обработки. JSON и язык XML
Для работы с объектами JSON и узлами XML вы можете использовать следующие функции обработки. Полный справочник по каждой функции см. в алфавитном списке.
| Функция манипуляции | Task |
|---|---|
| addProperty | Добавляет свойство и его значения или пару "имя — значение" в объект JSON и возвращает обновленный объект. |
| coalesce | Возвращает первое значение, отличное от NULL, из одного или нескольких параметров. |
| removeProperty | Удаляет свойство из объекта JSON и возвращает обновленный объект. |
| setProperty | Задает значение свойства объекта JSON и возвращает обновленный объект. |
| xpath | Проверьте XML на наличие узлов или значений, которые соответствуют выражению XPath (язык путей XML), и верните соответствующие узлы или значения. |
---------------------------------
Все функции — алфавитный список
В этом разделе перечислены все доступные функции в алфавитном порядке.
A
action
Возвращает выходные данные текущего действия во время выполнения или значения из других пар имен и значений JSON, которые можно назначить выражению. По умолчанию эта функция ссылается на весь объект действия, но вы можете дополнительно указать свойство, значение которого требуется. См. также действия().
Вы можете использовать функцию action() только со следующими объектами:
- Свойство
unsubscribeдля действия веб-перехватчика, чтобы вы могли получить результат из исходного запросаsubscribe. - Свойство
trackedPropertiesдля действия. - Условие цикла
do-untilдля действия.
action()
action().outputs.body.<property>
| Parameter | Required | Type | Description |
|---|---|---|---|
| < свойство> | No | String | Имя свойства объекта действия, значение которого необходимо: name, startTime, endTime, inputs, outputs, status, code, trackingId и clientTrackingId. На портале Azure вы можете найти эти свойства, просмотрев подробности в конкретном журнале выполнения. Дополнительные сведения см. в статье с действиями запуска рабочего процесса в REST API. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < действие-выход> | Object | Выходные данные объекта JSON из текущего действия или свойства |
actions
Возвращает выходные данные действия во время выполнения или значения из других пар "имя — значение" JSON, которые вы можете назначить выражению. По умолчанию эта функция ссылается на весь объект действия, но вы можете дополнительно указать свойство, значение которого требуется. Краткие версии см. в разделе body(). Сведения о текущем действии см. в разделе action().
Note
Раньше вы могли использовать функцию actions() или элемент conditions при указании того, что действие выполнялось на основе результата другого действия. Однако, чтобы явно объявить зависимости между действиями, вы должны использовать свойство runAfter зависимого действия.
Дополнительные сведения о свойстве runAfter см. в статье Отлавливание и обработка ошибок с помощью свойства runAfter.
actions('<actionName>')
actions('<actionName>').outputs.body.<property>
| Parameter | Required | Type | Description |
|---|---|---|---|
| < actionName> | Yes | String | Имя объекта действия, выходные данные которого требуется получить. |
| < свойство> | No | String | Имя свойства объекта действия, значение которого необходимо: name, startTime, endTime, inputs, outputs, status, code, trackingId и clientTrackingId. На портале Azure вы можете найти эти свойства, просмотрев подробности в конкретном журнале выполнения. Дополнительные сведения см. в статье с действиями запуска рабочего процесса в REST API. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < действие-выход> | Object | Выходные данные объекта JSON из указанного действия или свойства |
Example
В этом примере возвращается status значение свойства из действия Get user X во время выполнения:
actions('Get_user').outputs.body.status
И возвращает этот результат: "Succeeded"
add
Возвращает результат сложения двух чисел.
add(<summand_1>, <summand_2>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < >summand_1, <summand_2> | Yes | Целое число, float или смешанное | Числа, которые нужно сложить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < сумма результата> | Целое число или число с плавающей запятой | Результат сложения указанных чисел |
Example
В этом примере добавляются указанные числа:
add(1, 1.5)
И возвращает этот результат: 2.5
addDays
Добавляет дни в метку времени.
addDays('<timestamp>', <days>, '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < дней> | Yes | Integer | Положительное или отрицательное количество дней для добавления |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленной метки времени> | String | Метка времени и указанное число дней |
Пример 1
В этом примере к указанной метке времени добавляются 10 дней:
addDays('2018-03-15T00:00:00Z', 10)
И возвращает этот результат: "2018-03-25T00:00:00.0000000Z"
Пример 2
В этом примере от указанной метки времени отнимается пять дней:
addDays('2018-03-15T00:00:00Z', -5)
И возвращает этот результат: "2018-03-10T00:00:00.0000000Z"
addHours
Добавьте часы к метке времени.
addHours('<timestamp>', <hours>, '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < часов> | Yes | Integer | Положительное или отрицательное количество часов для добавления |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленной метки времени> | String | Метка времени и указанное число часов |
Пример 1
В этом примере к указанной метке времени добавляется 10 часов:
addHours('2018-03-15T00:00:00Z', 10)
И возвращает этот результат: "2018-03-15T10:00:00.0000000Z"
Пример 2
В этом примере от указанной метки времени отнимается пять часов:
addHours('2018-03-15T15:00:00Z', -5)
И возвращает этот результат: "2018-03-15T10:00:00.0000000Z"
addMinutes
Добавляет минуты к метке времени.
addMinutes('<timestamp>', <minutes>, '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < минут> | Yes | Integer | Число минут, которое нужно добавить, может быть положительным или отрицательным. |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленной метки времени> | String | Временная метка плюс указанное количество минут |
Пример 1
В этом примере к указанной метке времени добавляется 10 минут:
addMinutes('2018-03-15T00:10:00Z', 10)
И возвращает этот результат: "2018-03-15T00:20:00.0000000Z"
Пример 2
В этом примере от указанной метки времени отнимается пять минут:
addMinutes('2018-03-15T00:20:00Z', -5)
И возвращает этот результат: "2018-03-15T00:15:00.0000000Z"
addProperty
Добавляет свойство и его значения или пару "имя — значение" в объект JSON и возвращает обновленный объект. Если свойство уже существует во время выполнения, функция терпит сбой и выдает ошибку.
addProperty(<object>, '<property>', <value>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < объект> | Yes | Object | Объект JSON, в который вы хотите добавить свойство |
| < свойство> | Yes | String | Имя добавляемого свойства |
| < значение> | Yes | Any | Значение для свойства |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленный объект> | Object | Обновленный объект JSON с указанным свойством |
Чтобы добавить родительское свойство к существующему, используйте функцию setProperty(), а не addProperty(). В противном случае функция возвращает только дочерний объект в качестве выходных данных.
setProperty(<object>, '<parent-property>', addProperty(<object>['<parent-property>'], '<child-property>', <value>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < объект> | Yes | Object | Объект JSON, в который вы хотите добавить свойство |
| < родительское свойство> | Yes | String | Имя родительского свойства, в которое необходимо добавить дочернее свойство |
| < дочернее свойство> | Yes | String | Имя дочернего свойства, которое нужно добавить |
| < значение> | Yes | Any | Значение, задаваемое для указанного свойства |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленный объект> | Object | Обновленный объект JSON, свойство которого задается |
Пример 1
В этом примере свойство добавляется middleName в объект JSON, который преобразуется из строки в JSON с помощью функции JSON(). Этот объект уже содержит свойства firstName и surName. Функция присваивает указанное значение новому свойству и возвращает обновленный объект:
addProperty(json('{ "firstName": "Sophia", "lastName": "Owen" }'), 'middleName', 'Anne')
Вот текущий объект JSON:
{
"firstName": "Sophia",
"surName": "Owen"
}
Вот обновленный объект JSON:
{
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
Пример 2
В этом примере дочернее middleName свойство добавляется в существующее customerName свойство в объекте JSON, который преобразуется из строки в JSON с помощью функции JSON(). Функция присваивает указанное значение новому свойству и возвращает обновленный объект:
setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }'), 'customerName', addProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }')['customerName'], 'middleName', 'Anne'))
Вот текущий объект JSON:
{
"customerName": {
"firstName": "Sophia",
"surName": "Owen"
}
}
Вот обновленный объект JSON:
{
"customerName": {
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
}
addSeconds
Добавьте секунды к метке времени.
addSeconds('<timestamp>', <seconds>, '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < секунды> | Yes | Integer | Положительное или отрицательное число секунд для добавления |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленной метки времени> | String | Метка времени плюс указанное количество секунд |
Пример 1
В этом примере к указанной метке времени добавляется 10 секунд:
addSeconds('2018-03-15T00:00:00Z', 10)
И возвращает этот результат: "2018-03-15T00:00:10.0000000Z"
Пример 2
В этом примере вычитаем пять секунд от указанной временной метки.
addSeconds('2018-03-15T00:00:30Z', -5)
И возвращает этот результат: "2018-03-15T00:00:25.0000000Z"
addToTime
Добавляет указанное количество единиц времени в метку времени. См. также getFutureTime().
addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < интервала> | Yes | Integer | Количество заданных единиц времени, которые нужно добавить |
| < единица времени> | Yes | String | Единица времени, используемая с интервалом ,: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year" |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленной метки времени> | String | Метка времени и указанное количество единиц времени |
Пример 1
В этом примере к указанной метке времени добавляется 1 день:
addToTime('2018-01-01T00:00:00Z', 1, 'Day')
И возвращает этот результат: "2018-01-02T00:00:00.0000000Z"
Пример 2
В этом примере к указанной метке времени добавляется 1 день:
addToTime('2018-01-01T00:00:00Z', 1, 'Day', 'D')
И возвращает результат, используя необязательный формат "D": "Tuesday, January 2, 2018"
and
Проверьте, являются ли все выражения истинными. Возвращает true, если все выражения истинны, или false, если хотя бы одно выражение ложно.
and(<expression1>, <expression2>, ...)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < выражение1>, <выражение2>, ... | Yes | Boolean | Выражения, которые нужно проверить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает значение true, если все выражения имеют значение true. Возвращает значение false, если хотя бы одно выражение имеет значение false. |
Пример 1
В этих примерах проверяется, все ли указанные логические значения верны:
and(true, true)
and(false, true)
and(false, false)
И возвращает следующие результаты:
- В первом примере оба выражения истинны, так что возвращает
true. - Во втором примере одно из выражений имеет значение false, поэтому возвращается
false. - Третий пример: оба выражения имеют значение false, поэтому возвращается
false.
Пример 2
В этих примерах проверяется, все ли указанные выражения верны:
and(equals(1, 1), equals(2, 2))
and(equals(1, 1), equals(1, 2))
and(equals(1, 2), equals(1, 3))
И возвращает следующие результаты:
- В первом примере оба выражения истинны, так что возвращает
true. - Во втором примере одно из выражений имеет значение false, поэтому возвращается
false. - Третий пример: оба выражения имеют значение false, поэтому возвращается
false.
array
Возвращает массив из одного указанного входного значения. Сведения о нескольких входных данных см. в createArray().
array('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка для создания массива |
| Возвращаемое значение | Type | Description |
|---|---|---|
| [<значение>] | Array | Массив, содержащий один экземпляр указанных входных данных |
Example
В этом примере создается массив из строки "hello":
array('hello')
И возвращает этот результат: ["hello"]
B
base64
Возвращает версию в кодировке Base64 для строки.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в, то могут возникать неожиданные события рендеринга в конструкторе. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
base64('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Входная строка |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < base64-струнный> | String | Версия строки входных данных с кодировкой base64 |
Example
В этом примере строка "hello" преобразуется в строку с кодировкой base64:
base64('hello')
И возвращает этот результат: "aGVsbG8="
base64ToBinary
Возвращает двоичную версию строки с кодировкой base64.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
base64ToBinary('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка, закодированная в формате base64, для преобразования |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < двоичный для строки 64 основания> | String | Двоичная версия строки в кодировке Base64 |
Example
В этом примере строка "aGVsbG8=" в кодировке base64 преобразуется в двоичную строку:
base64ToBinary('aGVsbG8=')
Например, предположим, что вы используете действие HTTP для отправки запроса. Можно использовать base64ToBinary() для преобразования строки в кодировке Base64 в двоичные данные и отправки этих данных с помощью типа содержимого application/octet-stream в запросе.
base64ToString
Возвращает строковую версию для base64-кодированной строки, эффективно декодируя эту base64-строку. Используйте эту функцию, а не декодированиеBase64(), которое устарело.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
base64ToString('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка в формате base64 для декодирования. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < декодированная строка в формате base64> | String | Строковое представление для строки, закодированной в Base64 |
Example
В этом примере строка "aGVsbG8=" в кодировке base64 преобразуется в простую строку:
base64ToString('aGVsbG8=')
И возвращает этот результат: "hello"
binary
Возвращает двоичную версию строки в кодировке base64.
binary('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка для преобразования |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < двоичный-для-входного-значения> | String | Двоичная версия в кодировке base64 для указанной строки |
Example
Например, вы используете действие HTTP, которое возвращает изображение или видеофайл. Вы можете использовать binary() для преобразования значения в модель конверта содержимого в кодировке base-64. Затем конверт содержимого можно повторно использовать в других действиях, таких как Compose.
Это выражение функции можно использовать для отправки байтов строки с типом содержимого application/octet-stream в запросе.
body
Возвращает результат действия body во время выполнения. Сокращение для actions('<actionName>').outputs.body. См. действия().
body('<actionName>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < actionName> | Yes | String | Имя действия для требуемого результата body |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < действие-тело-выход> | String | Выходные данные body указанного действия |
Example
Этот пример получает выходные body данные из Get user действия X:
body('Get_user')
И возвращает следующий результат:
"body": {
"FullName": "Contoso Corporation",
"Location": "Generic Town, USA",
"Id": 283541717,
"UserName": "ContosoInc",
"FollowersCount": 172,
"Description": "Leading the way in transforming the digital workplace.",
"StatusesCount": 93,
"FriendsCount": 126,
"FavouritesCount": 46,
"ProfileImageUrl": "https://pbs.twimg.com/profile_images/908820389907722240/gG9zaHcd_400x400.jpg"
}
bool
Возвращает булевскую версию значения.
bool(<value>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | Any | Значение, которое необходимо преобразовать в логическое. |
Если вы используете bool() с объектом, значение объекта должно быть строкой или целым числом, которое может быть преобразовано в логический формат.
| Возвращаемое значение | Type | Description |
|---|---|---|
true или false |
Boolean | Булевское значение указанного значения. |
Outputs
В этих примерах показаны различные поддерживаемые типы входных данных для bool():
| Входное значение | Type | Возвращаемое значение |
|---|---|---|
bool(1) |
Integer | true |
bool(0) |
Integer | false |
bool(-1) |
Integer | true |
bool('true') |
String | true |
bool('false') |
String | false |
C
chunk
Разделение строки или массива на блоки равной длины.
chunk('<collection>', '<length>')
chunk([<collection>], '<length>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция> | Yes | Строка или массив | Коллекция для разделения |
| < длину> | Yes | Длина каждого блока |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < коллекция> | Array | Массив фрагментов с указанной длиной |
Пример 1
В этом примере строка разбивается на блоки длиной 10:
chunk('abcdefghijklmnopqrstuvwxyz', 10)
И возвращает этот результат: ['abcdefghij', 'klmnopqrst', 'uvwxyz']
Пример 2
В этом примере массив разбивается на блоки длиной 5.
chunk(createArray(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), 5)
И возвращает этот результат: [ [1,2,3,4,5], [6,7,8,9,10], [11,12] ]
coalesce
Возвращает первое значение, отличное от NULL, из одного или нескольких параметров. Пустые строки, пустые массивы и пустые объекты не являются null.
coalesce(<object_1>, <object_2>, ...)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < >object_1, <object_2>, ... | Yes | Любой из них может смешивать типы | Один или несколько элементов для проверки значения NULL |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < > первого элемента, отличного от NULL | Any | Первый элемент или значение, которое не равно NULL. Если все параметры имеют значение NULL, эта функция возвращает значение NULL. |
Example
Эти примеры возвращают первое значение, не равное NULL, из указанных значений или равное NULL, когда все значения равны NULL:
coalesce(null, true, false)
coalesce(null, 'hello', 'world')
coalesce(null, null, null)
И возвращает следующие результаты:
- Первый пример:
true - Второй пример:
"hello" - Третий пример:
null
concat
Объедините две или несколько строк и верните объединенную строку.
concat('<text1>', '<text2>', ...)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < text1>, <text2>, ... | Yes | String | По крайней мере две строки для объединения |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < text1text2...> | String | Строка, созданная из объединенных входных строк Примечание. Длина результата не должна превышать 104 857 600 символов. |
Note
Azure Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции, если вы используете функцию concat() с данными:
concat('data:;base64,',<value>)concat('data:,',encodeUriComponent(<value>))
Однако если вы все равно используете эту функцию в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций и при этом удаляете их из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
Example
В этом примере объединяются строки Hello и World:
concat('Hello', 'World')
И возвращает этот результат: "HelloWorld"
contains
Проверьте, имеет ли коллекция определенный элемент. Возвращает значение true при обнаружении элемента или возвращает значение false, если он не найден. Эта функция чувствительна к регистру.
contains('<collection>', '<value>')
contains([<collection>], '<value>')
В частности, эта функция работает с этими типами коллекций:
- Строка для поиска подстроки
- Массив для поиска значения
- Словарь для поиска ключа
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция> | Yes | Строка, массив или словарь | Коллекция для проверки |
| < значение> | Yes | Строка, массив или словарь соответственно | Элемент, который нужно найти |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает значение true при обнаружении элемента. Возвращает false, если не найдено. |
Пример 1
В этом примере строка "hello world" проверяется на наличие подстроки "world" и возвращается значение true:
contains('hello world', 'world')
Пример 2
В этом примере строка "hello world" проверяется на наличие подстроки "universe" и возвращается значение false:
contains('hello world', 'universe')
convertFromUtc
Преобразуйте метку времени из универсального часового пояса (UTC) в целевой часовой пояс.
convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < часовой пояс назначения> | Yes | String | Имя целевого часового пояса. Сведения об именах часовых поясов см. в разделе Часовые пояса Microsoft Windows по умолчанию. |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < преобразованная метка времени> | String | Метка времени, преобразованная в целевой часовой пояс без учёта смещения UTC. |
Пример 1
В этом примере метка времени преобразуется в указанный часовой пояс:
convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time')
И возвращает этот результат: "2018-01-01T00:00:00.0000000"
Пример 2
В этом примере метка времени преобразуется в указанный часовой пояс и формат:
convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time', 'D')
И возвращает этот результат: "Monday, January 1, 2018"
convertTimeZone
Преобразуйте метку времени из исходного часового пояса в целевой часовой пояс.
convertTimeZone('<timestamp>', '<sourceTimeZone>', '<destinationTimeZone>', '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < исходныйЧасовойПояс> | Yes | String | Имя исходного часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания). |
| < часовой пояс назначения> | Yes | String | Имя целевого часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания). |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < преобразованная метка времени> | String | Метка времени, преобразованная в целевой часовой пояс |
Пример 1
В этом примере исходный часовой пояс преобразуется в целевой часовой пояс:
convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time')
И возвращает этот результат: "2018-01-01T00:00:00.0000000"
Пример 2
В этом примере часовой пояс преобразуется в указанный часовой пояс и формат:
convertTimeZone('2018-01-01T80:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')
И возвращает этот результат: "Monday, January 1, 2018"
convertToUtc
Преобразуйте метку времени из исходного часового пояса во Всемирное координированное время (UTC).
convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < исходныйЧасовойПояс> | Yes | String | Имя исходного часового пояса. Имена часовых поясов см. в статье "Часовые пояса Microsoft Windows по умолчанию" (возможно, потребуется удалить из имени часового пояса все знаки препинания). |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < преобразованная метка времени> | String | Метка времени, преобразованная в UTC |
Пример 1
В этом примере метка времени преобразуется в формат UTC:
convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time')
И возвращает этот результат: "2018-01-01T08:00:00.0000000Z"
Пример 2
В этом примере метка времени преобразуется в формат UTC:
convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time', 'D')
И возвращает этот результат: "Monday, January 1, 2018"
createArray
Возвращает массив из нескольких входных данных. Для одиночных входных массивов см. в array().
createArray('<object1>', '<object2>', ...)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < объект 1>, <объект 2>, ... | Yes | Любой, но не смешанный | По крайней мере два элемента для создания массива |
| Возвращаемое значение | Type | Description |
|---|---|---|
| [<объект 1>, <объект 2>, ...] | Array | Массив, созданный из всех входных элементов |
Example
В этом примере создается массив из этих входных данных:
createArray('h', 'e', 'l', 'l', 'o')
И возвращает этот результат: ["h", "e", "l", "l", "o"]
D
dataUri
Возвращает универсальный идентификатор ресурса (URI) данных для строки.
dataUri('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка для преобразования |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < > data-URI | String | URI данных для входной строки |
Example
В этом примере создается URI данных для строки "hello":
dataUri('hello')
И возвращает этот результат: "data:text/plain;charset=utf-8;base64,aGVsbG8="
dataUriToBinary
Возвратите двоичную версию идентификатора унифицированного ресурса (URI) для данных.
Используйте эту функцию, а не decodeDataUri().
Хотя обе функции работают одинаково, dataUriBinary() предпочтительнее.
dataUriToBinary('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | URI данных для преобразования |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < binary-for-data-URI> | String | Двоичная версия URI данных |
Example
В этом примере создается двоичная версия этого URI данных:
dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')
И возвращает следующий результат:
"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"
dataUriToString
Возвращает строковую версию унифицированного идентификатора ресурса (URI) данных.
dataUriToString('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | URI данных для преобразования |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < string-for-data-URI> | String | Строковая версия URI данных |
Example
В этом примере создается строка для данного URI данных.
dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')
И возвращает этот результат: "hello"
dateDifference
Возвращает разницу между двумя метками времени в виде интервала времени. Эта функция вычитает startDate из endDate, и возвращает результат в виде метки времени в строковом формате.
dateDifference('<startDate>', '<endDate>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < Дата старта> | Yes | String | Строка, содержащая метку времени |
| < endDate> | Yes | String | Строка, содержащая метку времени |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < интервал времени> | String | Разница между двумя метками времени, представленная в строковом формате меток времени. Если startDate более новое, чем endDate, результат является отрицательным значением. |
Example
В этом примере вычитается первое значение из второго значения:
dateDifference('2015-02-08', '2018-07-30')
И возвращает этот результат: "1268.00:00:00"
dayOfMonth
Возвращает день месяца из метки времени.
dayOfMonth('<timestamp>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < день месяца> | Integer | День месяца, полученный из указанной метки времени |
Example
В этом примере возвращается число дня месяца из этой временной метки:
dayOfMonth('2018-03-15T13:27:36Z')
И возвращает этот результат: 15
dayOfWeek
Возвращает день недели из временной метки.
dayOfWeek('<timestamp>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < день недели> | Integer | День недели из указанной метки времени, где воскресенье имеет значение 0, понедельник — 1 и т. д. |
Example
В этом примере возвращается номер дня недели из этой временной метки:
dayOfWeek('2018-03-15T13:27:36Z')
И возвращает этот результат: 4
dayOfYear
Возвращает день года из временной метки.
dayOfYear('<timestamp>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < день года> | Integer | День года, полученный из указанной метки времени |
Example
В этом примере возвращается число дня года из этой временной метки.
dayOfYear('2018-03-15T13:27:36Z')
И возвращает этот результат: 74
decimal
Возвращает десятичное число в строке в виде десятичного числа. Эту функцию можно использовать при работе с данными, требующими десятичной точности, а также в качестве входных данных для логических функций сравнения и математических функций. Чтобы записать и сохранить точность при использовании результата из функции десятичного () , заключите все десятичные выходные данные со строковой функцией. Это использование показано в следующих примерах, в которых можно потерять точность при использовании десятичного результата в качестве числа.
Note
Десятичная точность, обсуждаемая в контексте для этой функции и среды выполнения Azure Logic Apps, совпадает с десятичной точностью .NET.
decimal('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Десятичное число в строке |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < десятичный> | Десятичное число | Десятичное число для входной строки |
Пример 1
В этом примере создается десятичное число, которое используется в качестве числа:
decimal('1.2345678912312131') // Returns 1.234567891231213.
Пример 2
В этом примере создается десятичное число, а результат преобразуется в строку для сохранения точности:
string(decimal('1.2345678912312131')) // Returns "1.2345678912312131".
пример 3
В этом примере математическая функция используется с двумя десятичными числами и в качестве числа используется результат:
add(decimal('1.2345678912312131'), decimal('1.2345678912312131')) // Returns 2.469135782462426.
Пример 4
В этом примере используется математическая функция для двух десятичных чисел и результат преобразуется в строку для сохранения точности:
string(add(decimal('1.2345678912312131'), decimal('1.2345678912312131'))) // Returns "2.4691357824624262".
decodeBase64 (не рекомендуется)
Эта функция устарела, поэтому вместо этого используйте base64ToString().
decodeDataUri
Возвратите двоичную версию идентификатора унифицированного ресурса (URI) для данных. Рекомендуется использовать dataUriToBinary(), а не decodeDataUri(). Хотя обе функции работают одинаково, dataUriToBinary() предпочтительнее.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
decodeDataUri('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка URI данных для декодирования |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < binary-for-data-URI> | String | Двоичная версия строки URI данных |
Example
В этом примере возвращается двоичная версия этого URI данных:
decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')
И возвращает этот результат: "hello"
decodeUriComponent
Возвращает строку, в которой escape-символы заменяются на их декодированные версии.
decodeUriComponent('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка с escape-символами для декодирования |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < декодированного кода ресурса (URI)> | String | Обновленная строка с декодированными escape-символами |
Example
В этом примере escape-символы в этой строке заменяются декодированными версиями:
decodeUriComponent('https%3A%2F%2Fcontoso.com')
И возвращает этот результат: "https://contoso.com"
div
Возвращает результат деления двух чисел. Чтобы получить оставшийся результат, см. мод().
div(<dividend>, <divisor>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < дивиденд> | Yes | Целое число или число с плавающей запятой | Число, которое делится на делитель |
| < делитель> | Yes | Целое число или число с плавающей запятой | Число, разделяющее дивиденды, но не может быть нулевым. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < квоть-результирующий> | Целое число или число с плавающей запятой | Результат от деления первого числа на второе. Если делимое или делитель имеет тип Float, то и результат имеет тот же тип. Примечание. Чтобы преобразовать результат float в целое число, попробуйте создать и вызвать функцию в Azure из приложения логики. |
Пример 1
Оба примера возвращают это значение в виде целого числа: 2
div(10,5)
div(11,5)
Пример 2
Оба примера возвращают это значение в формате float: 2.2
div(11,5.0)
div(11.0,5)
E
encodeUriComponent
Возвращает кодированную версию URI для строки, заменив символы, опасные для URL-адреса, на escape-символы. Рекомендуется использовать uriComponent(), а не encodeUriComponent(). Хотя обе функции работают одинаково, uriComponent() предпочтительнее.
Note
Logic Apps автоматически или неявно выполняет кодирование или декодирование Base64, поэтому вам не нужно вручную выполнять эти операции с помощью соответствующих выражений. Однако если вы все равно используете эти функции в конструкторе, то могут возникать неожиданные события рендеринга. Это влияет только на отображение функций, но не на их эффект, если только вы не изменяете значения параметров функций, из-за чего они удаляются из кода. Дополнительные сведения см. в разделе Кодирование и декодирование в Base64.
encodeUriComponent('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка для преобразования в формат с кодировкой URI |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < кодированного кода ресурса (URI)> | String | Строка с закодированным URI, содержащая экранирующие символы |
Example
В этом примере создается версия в кодировке URI для этой строки:
encodeUriComponent('https://contoso.com')
И возвращает этот результат: "https%3A%2F%2Fcontoso.com"
empty
Проверьте, пуста ли коллекция. Возвращает значение true, если коллекция пуста или возвращает значение false, если не пусто.
empty('<collection>')
empty([<collection>])
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция> | Yes | Строка, массив или объект | Коллекция для проверки |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает значение true, если коллекция пуста. Возвращает значение false, если не пусто. |
Example
В этих примерах проверяется, являются ли указанные коллекции пустыми:
empty('')
empty('abc')
И возвращает следующие результаты:
- Первый пример: передает пустую строку, поэтому функция возвращает
true. - Второй пример: передает строку abc, поэтому функция возвращает
false.
endsWith
Проверьте, заканчивается ли строка определенной подстрокой. Возвращает true, если подстрока найдена, или возвращает false, если нет. Эта функция не учитывает регистр.
endsWith('<text>', '<searchText>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Проверяемая строка |
| < поискТекст> | Yes | String | Конечная подстрока для поиска |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает значение true при обнаружении конечной подстроки. Возвращает false, если не найдено. |
Пример 1
В этом примере проверяется, заканчивается ли строка "hello world" строкой "world":
endsWith('hello world', 'world')
И возвращает этот результат: true
Пример 2
В этом примере проверяется, заканчивается ли строка hello world строкой "вселенная":
endsWith('hello world', 'universe')
И возвращает этот результат: false
equals
Проверьте, эквивалентны ли оба значения, выражения или объекты. Возвращает значение true, если оба значения эквивалентны или возвращают значение false, если они не эквивалентны.
equals('<object1>', '<object2>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < Объект 1>, <объект 2> | Yes | Various | Значения, выражения или объекты для сравнения |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает значение true, если оба значения эквивалентны. Возвращает значение false, если не эквивалентны. |
Example
В этих примерах проверяется, эквивалентны ли указанные входные данные.
equals(true, 1)
equals('abc', 'abcd')
И возвращает следующие результаты:
- В первом примере оба значения эквивалентны, поэтому функция возвращает
true. - Второй пример: оба значения не эквивалентны, поэтому функция возвращает
false.
F
first
Возвращает первый элемент из строки или массива.
first('<collection>')
first([<collection>])
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция> | Yes | Строка или массив | Коллекция, где нужно найти первый элемент. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < первый элемент коллекции> | Any | Первый элемент коллекции |
Example
Первый элемент в данных коллекциях находится в следующих примерах:
first('hello')
first(createArray(0, 1, 2))
И верните следующие результаты:
- Первый пример:
"h" - Второй пример:
0
float
Преобразует строковую версию числа с плавающей запятой в фактическое число с плавающей запятой. Эту функцию можно использовать только при передаче пользовательских параметров в приложение, например, рабочий процесс Logic Apps или поток в Power Automate. Чтобы преобразовать строки с плавающей запятой, представленные в специфичных для разных культур форматах, можно также указать код локали по стандарту RFC 4646.
float('<value>', '<locale>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка, содержащая допустимое число с плавающей запятой для преобразования. Минимальное и максимальное значения совпадают с ограничениями для типа данных с плавающей запятой. |
| < место действия> | No | String | Код локали RFC 4646, который необходимо использовать. Если не указано, используется локаль по умолчанию. Если языковой стандарт не является допустимым, создается ошибка, что указанный языковой стандарт недействителен или не имеет связанного языкового стандарта. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < с плавающей запятой> | Float | Число с плавающей запятой для указанной строки. Минимальное и максимальное значения совпадают с ограничениями для типа данных с плавающей запятой. |
Пример 1
В этом примере создается строковая версия для этого числа с плавающей запятой:
float('10,000.333')
И возвращает этот результат: 10000.333
Пример 2
В этом примере создается строковая версия для этого номера с плавающей запятой в немецком стиле:
float('10.000,333', 'de-DE')
И возвращает этот результат: 10000.333
пример 3
Примеры непредвиденных допустимых входных данных:
float('12,3,4,5678') //Returns 12345678
float('1234567,8+') //Returns 12345678
float('12345,6,78,-') //Returns -12345678
float('-12,345,678,') //Returns -12345678
float('12345678.-') //Returns -12345678
float('.12345678') //Returns 0.12345678
formatDateTime
Возвращает метку времени в указанном формате.
formatDateTime('<timestamp>', '<format>'?, '<locale>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. |
| < место действия> | No | String | Используемая региональная настройка. Если не задано иное, используется значение en-us. Если языковой стандарт не является допустимым, создается ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < переформатированную метку времени> | String | Обновленная метка времени в указанном формате и языковом стандарте, если они указаны. |
Examples
formatDateTime('03/15/2018') // Returns '2018-03-15T00:00:00.0000000'.
formatDateTime('03/15/2018 12:00:00', 'yyyy-MM-ddTHH:mm:ss') // Returns '2018-03-15T12:00:00'.
formatDateTime('01/31/2016', 'dddd MMMM d') // Returns 'Sunday January 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'fr-fr') // Returns 'dimanche janvier 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'fr-FR') // Returns 'dimanche janvier 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'es-es') // Returns 'domingo enero 31'.
formDataMultiValues
Возвращает массив со значениями, которые соответствуют имени ключа в выходных данных формы или формы в действии .
formDataMultiValues('<actionName>', '<key>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < actionName> | Yes | String | Действие, выходные данные которого содержат требуемое значение ключа |
| < ключ> | Yes | String | Имя ключа, значение которого нужно получить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| [<массив с ключевыми значениями>] | Array | Массив со всеми значениями, которые соответствуют заданному ключу |
Example
Этот пример создаёт массив из значения ключа «Subject» в выходных данных действия, которые представлены в виде form-data или form-encoded.
formDataMultiValues('Send_an_email', 'Subject')
И возвращается текст темы в массиве, например: ["Hello world"].
formDataValue
Возвращает одно значение, соответствующее имени ключа в выходных данных формы или в кодированных формах действия. Если функция обнаруживает более одного совпадения, она выдает ошибку.
formDataValue('<actionName>', '<key>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < actionName> | Yes | String | Действие, выходные данные которого содержат требуемое значение ключа |
| < ключ> | Yes | String | Имя ключа, значение которого нужно получить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < ключевое значение> | String | Значение в указанном ключе |
Example
В этом примере строка создается из значения ключа "Subject" в выходных данных form-data или form-encoded для указанного действия.
formDataValue('Send_an_email', 'Subject')
И возвращается текст темы в виде строки, например: "Hello world"
formatNumber
Возврат числа в виде строки на основе указанного формата.
formatNumber(<number>, <format>, <locale>?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < число> | Yes | Целое число или дубль | Значение, которое нужно отформатировать. |
| < формата> | Yes | String | Строка составного формата, указывающая формат, который необходимо использовать. Сведения о поддерживаемых строках числового формата см. в разделе Стандартные строки числового формата, которые поддерживаются number.ToString(<format>, <locale>). |
| < место действия> | No | String | Локаль для использования, поддерживаемая number.ToString(<format>, <locale>). Если не задано иное, используется значение en-us. Если языковой стандарт не является допустимым, создается ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < форматированный номер> | String | Указанное число в виде строки в указанном формате. Это возвращаемое значение можно привести к int или float. |
Пример 1
Предположим, что нужно отформатировать число 1234567890. В этом примере данное число форматируется как строка "1 234 567 890,00".
formatNumber(1234567890, '#,##0.00', 'en-US')
*Пример 2"
Предположим, что нужно отформатировать число 1234567890. В этом примере число форматируется как строка "1 234 567 890,00".
formatNumber(1234567890, '#,##0.00', 'is-IS')
пример 3
Предположим, что нужно отформатировать число 17.35. В этом примере число форматируется как строка "$17,35".
formatNumber(17.35, 'C2')
Пример 4
Предположим, что нужно отформатировать число 17.35. В этом примере данное число форматируется как строка "17,35 кр".
formatNumber(17.35, 'C2', 'is-IS')
G
getFutureTime
Возвращает текущую метку времени и указанные единицы времени.
getFutureTime(<interval>, <timeUnit>, <format>?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < интервала> | Yes | Integer | Число единиц времени для добавления |
| < единица времени> | Yes | String | Единица времени, используемая с интервалом ,: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year" |
| < формата> | No | String | Либо один описатель формата, либо пользовательский шаблон формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат не является допустимым, появляется соответствующая ошибка с информацией о том, что он должен быть в виде строки с числовым форматом. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленной метки времени> | String | Текущая метка времени плюс указанное количество единиц времени |
Пример 1
Допустим, текущая метка времени такая: "2018-03-01T00:00:00.0000000Z". В этом примере к этой метке времени добавляется пять дней:
getFutureTime(5, 'Day')
И возвращает этот результат: "2018-03-06T00:00:00.0000000Z"
Пример 2
Допустим, текущая метка времени такая: "2018-03-01T00:00:00.0000000Z". Этот пример добавляет пять дней и преобразует результат в формат D:
getFutureTime(5, 'Day', 'D')
И возвращает этот результат: "Tuesday, March 6, 2018"
getPastTime
Возвращает текущую метку времени минус указанные единицы времени.
getPastTime(<interval>, <timeUnit>, <format>?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < интервала> | Yes | Integer | Число указанных единиц времени для вычитания |
| < единица времени> | Yes | String | Единица времени, используемая с интервалом ,: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year" |
| < формата> | No | String | Либо один описатель формата, либо пользовательский шаблон формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат не является допустимым, появляется соответствующая ошибка с информацией о том, что он должен быть в виде строки с числовым форматом. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленной метки времени> | String | Текущая метка времени минус указанное количество единиц времени |
Пример 1
Допустим, текущая метка времени такая: "2018-02-01T00:00:00.0000000Z". В этом примере вычитается пять дней из этой временной метки.
getPastTime(5, 'Day')
И возвращает этот результат: "2018-01-27T00:00:00.0000000Z"
Пример 2
Допустим, текущая метка времени такая: "2018-02-01T00:00:00.0000000Z". В этом примере вычитается пять дней и преобразуется результат в формат D:
getPastTime(5, 'Day', 'D')
И возвращает этот результат: "Saturday, January 27, 2018"
greater
Проверяет, является ли первое значение большим, чем второе. Возвращает значение true, если первое значение больше или возвращает значение false, если меньше.
greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | Целое число, float или String | Первое значение для проверки того, превышает ли второе значение. |
| < CompareTo> | Yes | Целое число, число с плавающей запятой или строка соответственно | Значение сравнения |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает значение true, если первое значение больше второго значения. Возвращает значение false, если первое значение равно или меньше второго значения. |
Example
В этих примерах проверяется, является ли первое значение большим, чем второе.
greater(10, 5)
greater('apple', 'banana')
И верните следующие результаты:
- Первый пример:
true - Второй пример:
false
greaterOrEquals
Проверяет, является ли первое значение большим, чем второе, или равным ему. Возвращает true, если первое значение больше или равно, или возвращает false, если первое значение меньше.
greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | Целое число, float или String | Первое значение для проверки того, больше ли или равно второму значению |
| < CompareTo> | Yes | Целое число, число с плавающей запятой или строка соответственно | Значение сравнения |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает значение true, если первое значение больше или равно второму значению. Возвращает значение false, если первое значение меньше второго значения. |
Example
В этих примерах проверяется, является ли первое значение большим чем второе, или равным ему.
greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')
И верните следующие результаты:
- Первый пример:
true - Второй пример:
false
guid
Создайте глобальный уникальный идентификатор (GUID) в виде строки, например "c2ecc88d-88c8-4096-912c-d6f2e2e2b138ce":
guid()
Кроме того, можно указать другой формат GUID, отличный от формата по умолчанию "D", который составляет 32 цифры, разделенные дефисом.
guid('<format>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < формата> | No | String | Один описатель формата для возвращаемого GUID. По умолчанию формат — "D", но можно использовать "N", "D", "B", "P" или "X". |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < GUID-значение> | String | Случайным образом созданный GUID |
Example
В этом примере создается тот же идентификатор GUID, но в виде 32 цифр, разделенных дефисом и заключенных в круглые скобки:
guid('P')
И возвращает этот результат: "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"
I
if
Проверьте, какое значение имеет выражение: true или false. В зависимости от результата возвращается указанное значение. Параметры оцениваются слева направо.
if(<expression>, <valueIfTrue>, <valueIfFalse>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < выражения> | Yes | Boolean | Выражение для проверки |
| < значениеЕслиTrue> | Yes | Any | Значение, возвращаемое при истинности выражения |
| < значениеЕслиЛожь> | Yes | Any | Возвращаемое значение, если выражение ложно |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < указанное возвращаемое значение> | Any | Указанное значение, возвращаемое в зависимости от того, является ли выражение true или false |
Example
В этом примере возвращается "yes", так как указанное выражение возвращает значение true.
В противном случае в примере возвращается "no":
if(equals(1, 1), 'yes', 'no')
indexOf
Возвращает начальную позицию или значение индекса для подстроки. Эта функция не учитывает регистр, и индексы начинаются с числа 0.
indexOf('<text>', '<searchText>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Строка, которая содержит подстроку для поиска |
| < поискТекст> | Yes | String | Подстрока для поиска |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < значение индекса> | Integer | Начальное положение или значение индекса для указанной подстроки. Если строка не найдена, верните номер -1. |
Example
Этот пример находит начальное значение индекса для подстроки "world" в строке hello world:
indexOf('hello world', 'world')
И возвращает этот результат: 6
int
Преобразует строковую версию целого числа в фактическое целое число.
int('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строковая версия для преобразуемого целого числа. Минимальное и максимальное значения совпадают с ограничениями для типа данных целого числа. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < целочисленный результат> | Integer | Целочисленная версия указанной строки. Минимальное и максимальное значения совпадают с ограничениями для типа данных целого числа. |
Example
В этом примере создается целочисленная версия строки "10":
int('10')
И возвращает этот результат: 10
isFloat
Возвращает логическое значение, указывающее, является ли строка числом с плавающей запятой. По умолчанию эта функция использует инвариантную культуру для формата с плавающей точкой. Чтобы определить числа с плавающей запятой, представленные в других форматах языкового стандарта, можно также указать код языкового стандарта RFC 4646.
isFloat('<string>', '<locale>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка для анализа |
| < место действия> | No | String | Код языкового стандарта RFC 4646 для использования |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < логический результат> | Boolean | Логическое значение, указывающее, является ли строка числом с плавающей запятой |
Пример 1
В этом примере проверяется, является ли строка числом с плавающей запятой в инвариантной культуре.
isFloat('10,000.00')
И возвращает этот результат: true
Пример 2
В этом примере проверяется, является ли строка числом с плавающей запятой в немецком языковом стандарте:
isFloat('10.000,00', 'de-DE')
И возвращает этот результат: true
isInt
Возвращает булево значение, которое указывает, является ли строка целым числом.
isInt('<string>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < струна> | Yes | String | Строка для анализа |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < логический результат> | Boolean | Логическое значение, указывающее, является ли строка целочисленной. |
Example
В этом примере проверяется, является ли строка целым числом:
isInt('10')
И возвращает этот результат: true
item
При использовании внутри повторяющегося действия, выполняемого с массивом, функция возвращает текущий элемент массива во время текущей итерации действия. Вы также можете получить значения свойств этого элемента.
item()
| Возвращаемое значение | Type | Description |
|---|---|---|
| < current-array-item> | Any | Текущий элемент в массиве для текущей итерации действия |
Example
В этом примере извлекается элемент body из текущего сообщения для действия "Send_an_email" внутри текущей итерации цикла for-each:
item().body
items
Возвращает текущий элемент из каждого цикла в цикле for-each. Используйте эту функцию внутри цикла for-each.
items('<loopName>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < loopНазвание> | Yes | String | Имя для цикла for-each |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < пункт> | Any | Элемент из текущего цикла в указанном операторе for-each |
Example
В этом примере извлекается текущий элемент из указанного цикла for-each:
items('myForEachLoopName')
iterationIndexes
Возвращает значение индекса для текущей итерации в цикле Until. Эту функцию можно использовать внутри вложенных циклов Until.
iterationIndexes('<loopName>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < loopНазвание> | Yes | String | Имя для цикла Until |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < индекс> | Integer | Значение индекса для текущей итерации в указанном цикле Until. |
Example
В этом примере создается переменная счетчика, которая увеличивается на один во время каждой итерации в цикле Until, пока значение счетчика не достигнет пяти. В этом примере также создается переменная, которая отслеживает текущий индекс для каждой итерации. Во время каждой итерации в цикле Until этот пример увеличивает значение счетчика, затем значение счетчика присваивается текущему значению индекса, а затем увеличивается значение счетчика. В цикле этот пример ссылается на индекс текущей итерации с помощью функции iterationIndexes:
iterationIndexes('Until_Max_Increment')
{
"actions": {
"Create_counter_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myCounter",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {}
},
"Create_current_index_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myCurrentLoopIndex",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {
"Create_counter_variable": [ "Succeeded" ]
}
},
"Until_Max_Increment": {
"type": "Until",
"actions": {
"Assign_current_index_to_counter": {
"type": "SetVariable",
"inputs": {
"name": "myCurrentLoopIndex",
"value": "@variables('myCounter')"
},
"runAfter": {
"Increment_variable": [ "Succeeded" ]
}
},
"Compose": {
"inputs": "'Current index: ' @{iterationIndexes('Until_Max_Increment')}",
"runAfter": {
"Assign_current_index_to_counter": [
"Succeeded"
]
},
"type": "Compose"
},
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "myCounter",
"value": 1
},
"runAfter": {}
}
},
"expression": "@equals(variables('myCounter'), 5)",
"limit": {
"count": 60,
"timeout": "PT1H"
},
"runAfter": {
"Create_current_index_variable": [ "Succeeded" ]
}
}
}
}
J
json
Возвращает значение типа нотации объектов JSON, объект или массив с объектами для строки или XML.
json('<value>')
json(xml('value'))
Important
Без схемы XML, определяющей структуру вывода, и в зависимости от входных данных функция может возвращать результаты, значительно отличающиеся от ожидаемых.
Поэтому эту функцию нельзя использовать в тех случаях, когда выходные данные должны соответствовать четким условиям, например в важных бизнес-системах и решениях.
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | Строка или XML | Строка или XML для преобразования |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < результат JSON> | Собственный тип JSON, объект или массив | Значение собственного типа JSON, объект или массив объектов из входной строки или XML. – Если вы передаете XML с одним дочерним элементом в корневом, то функция возвращает для него один объект JSON. – Если вы передаете XML с несколькими дочерними элементами в корневом, то функция возвращает массив с объектами JSON для этих дочерних элементов. – Если строка имеет значение NULL, функция возвращает пустой объект. |
Пример 1
В этом примере строка преобразуется в значение JSON:
json('[1, 2, 3]')
И возвращает этот результат: [1, 2, 3]
Пример 2
В этом примере строка преобразуется в JSON:
json('{"fullName": "Sophia Owen"}')
И возвращает следующий результат:
{
"fullName": "Sophia Owen"
}
пример 3
В этом примере используются функции json() и xml() для преобразования XML с одним дочерним элементом в корневом в объект JSON под названием person:
json(xml('<?xml version="1.0"?> <root> <person id="1"> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> </root>'))
И возвращает следующий результат:
{
"?xml": {
"@version": "1.0"
},
"root": {
"person": {
"@id": "1",
"name": "Sophia Owen",
"occupation": "Engineer"
}
}
}
Пример 4
В этом примере используются функции json() и xml() для преобразования XML с несколькими дочерними элементами в корневом в массив под названием person, который содержит объекты JSON:
json(xml('<?xml version="1.0"?> <root> <person id="1"> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> <person id="2"> <name>John Doe</name> <occupation>Engineer</occupation> </person> </root>'))
И возвращает следующий результат:
{
"?xml": {
"@version": "1.0"
},
"root": {
"person": [
{
"@id": "1",
"name": "Sophia Owen",
"occupation": "Engineer"
},
{
"@id": "2",
"name": "John Doe",
"occupation": "Engineer"
}
]
}
}
intersection
Возвращает коллекцию, содержащую только общие элементы в указанных коллекциях. Чтобы появиться в результатах, элемент должен находиться во всех коллекциях, переданных этой функции. Если один или несколько элементов имеют одинаковое имя, в результатах появляется последний элемент с таким именем.
intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция1>, <коллекция2>, ... | Yes | Массив или объект, но не оба | Коллекции, из которых требуется только общих элементов |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < общие элементы> | Массив или объект соответственно | Коллекция, которая содержит только общие элементы в указанных коллекциях |
Example
В этом примере находятся общие элементы в этих массивах:
intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))
И возвращает массив, содержащий только эти элементы:[1, 2]
join
Возвращает строку, содержащую все элементы массива, где каждый символ разделен разделителем .
join([<collection>], '<delimiter>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция> | Yes | Array | Массив, имеющий элементы для соединения |
| < разделитель> | Yes | String | Разделитель, который отображается между каждым символом в результирующей строке |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < char1><разделитель><char2><разделитель>... | String | Полученная строка, созданная из всех элементов в указанном массиве. Примечание. Длина результата не должна превышать 104 857 600 символов. |
Example
В этом примере создается строка из всех элементов этого массива с указанным символом в качестве разделителя:
join(createArray('a', 'b', 'c'), '.')
И возвращает этот результат: "a.b.c"
L
last
Возвращает последний элемент из коллекции.
last('<collection>')
last([<collection>])
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция> | Yes | Строка или массив | Коллекция, в которой нужно найти последний элемент |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < последний элемент коллекции> | Строка или массив соответственно | Последний элемент коллекции |
Example
В этих примерах показано, как найти последний элемент в этих коллекциях.
last('abcd')
last(createArray(0, 1, 2, 3))
И возвращает следующие результаты:
- Первый пример:
"d" - Второй пример:
3
lastIndexOf
Возвращает начальную позицию или индекс для последнего случая, когда подстрока появляется. Эта функция не учитывает регистр, и индексы начинаются с числа 0.
lastIndexOf('<text>', '<searchText>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Строка, которая содержит подстроку для поиска |
| < поискТекст> | Yes | String | Подстрока для поиска |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < конечное значение индекса> | Integer | Начальная позиция или индекс для последнего вхождения указанной подстроки. |
Если значение строки или подстроки пустое, то происходит следующее:
Если пустое только значение строки, то функция возвращает
-1.Если значения строки и подстроки пустые, то функция возвращает
0.Если только значение подстроки пусто, функция возвращает длину строки на единицу меньше.
Examples
В этом примере находится начальное значение индекса для последнего вхождения подстроки world в строке hello world hello world. В результате возвращается значение 18:
lastIndexOf('hello world hello world', 'world')
В этом примере отсутствует параметр подстроки и возвращается значение 22, потому что значение входной строки (23) за вычетом единицы больше нуля.
lastIndexOf('hello world hello world', '')
length
Возвращает число элементов в коллекции.
length('<collection>')
length([<collection>])
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция> | Yes | Строка или массив | Коллекция с элементами для подсчета |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < длину или число> | Integer | Количество элементов в коллекции |
Example
В этих примерах подсчитывается количество элементов в этих коллекциях:
length('abcd')
length(createArray(0, 1, 2, 3))
Верните этот результат: 4
less
Проверяет, является ли первое значение меньшим, чем второе. Возвращает значение true, если первое значение меньше или возвращает значение false, если первое значение больше.
less(<value>, <compareTo>)
less('<value>', '<compareTo>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | Целое число, float или String | Первое значение для проверки того, меньше ли второе значение |
| < CompareTo> | Yes | Целое число, число с плавающей запятой или строка соответственно | Элемент сравнения |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает значение true, если первое значение меньше второго значения. Возвращает значение false, если первое значение равно или больше второго значения. |
Example
В этих примерах проверяется, является ли первое значение меньшим, чем второе.
less(5, 10)
less('banana', 'apple')
И верните следующие результаты:
- Первый пример:
true - Второй пример:
false
lessOrEquals
Проверяет, является ли первое значение меньшим, чем второе, или равным ему. Возвращает значение true, если первое значение меньше или равно, или возвращает значение false, если первое значение больше.
lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | Целое число, float или String | Первое значение для проверки того, меньше ли или равно второму значению |
| < CompareTo> | Yes | Целое число, число с плавающей запятой или строка соответственно | Элемент сравнения |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает значение true, если первое значение меньше или равно второму значению. Возвращает значение false, если первое значение больше второго значения. |
Example
В этих примерах проверяется, является ли первое значение меньше или равно второму значению.
lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')
И верните следующие результаты:
- Первый пример:
true - Второй пример:
false
listCallbackUrl
Возвращает URL-адрес обратного вызова, который вызывает триггер или действие. Эта функция работает только с триггерами и действиями для типов соединителей HttpWebhook и ApiConnectionWebhook , но не с типами Manual, Recurrence, HTTP и APIConnection .
listCallbackUrl()
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обратный вызов URL-адрес> | String | URL-адрес обратного вызова для действия или триггера |
Example
В этом примере показан пример URL-адреса обратного вызова, который может вернуть эта функция:
"https://prod-01.westus.logic.azure.com:443/workflows/<*workflow-ID*>/triggers/manual/run?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<*signature-ID*>"
M
max
Верните наибольшее значение из списка или массива чисел, включая начальное и конечное значения.
max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
| Parameter | Required | Type | Description |
|---|---|---|---|
| < число1>, <число2>, ... | Yes | Целое число, float или оба | Набор чисел, из которого требуется получить наибольшее значение |
| [<число1>, <число2>, ...] | Yes | Массив — целое число, float или оба | Массив чисел, из которого требуется получить наибольшее значение |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < максимальное значение> | Целое число или число с плавающей запятой | Наибольшее значение в указанном массиве или наборе чисел |
Example
Эти примеры получают наибольшее значение из набора чисел и массива:
max(1, 2, 3)
max(createArray(1, 2, 3))
Верните этот результат: 3
min
Возвращает наименьшее значение из набора чисел или массива.
min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
| Parameter | Required | Type | Description |
|---|---|---|---|
| < число1>, <число2>, ... | Yes | Целое число, float или оба | Набор чисел, из которых требуется наименьшее значение |
| [<число1>, <число2>, ...] | Yes | Массив — целое число, float или оба | Массив чисел, из которого требуется получить наименьшее значение |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < Минимальное значение> | Целое число или число с плавающей запятой | Наименьшее значение указанного набора чисел или указанного массива |
Example
Эти примеры получают наименьшее значение в наборе чисел и массиве:
min(1, 2, 3)
min(createArray(1, 2, 3))
Верните этот результат: 1
mod
Возвращает остаток результата деления двух чисел. Сведения о получении целочисленного результата см. в разделе div().
mod(<dividend>, <divisor>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < дивиденд> | Yes | Целое число или число с плавающей запятой | Число, которое делится на делитель |
| < делитель> | Yes | Целое число или число с плавающей запятой | Число, разделяющее дивиденды, но не может быть нулевым. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < по модулю> | Целое число или число с плавающей запятой | Остаток от деления первого числа на второе число. |
Пример 1
В этом примере первое число делится на второе:
mod(3, 2)
И возвращает этот результат: 1
Пример 2
В этом примере показано, что результат соответствует знаку делимого, если одно или оба значения являются отрицательными.
mod(-5, 2)
mod(4, -3)
Пример возвращает следующие результаты:
- Первый пример:
-1 - Второй пример:
1
mul
Возвращает результат умножения двух чисел.
mul(<multiplicand1>, <multiplicand2>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < множитель1> | Yes | Целое число или число с плавающей запятой | Число, умножаемое на умножением на |
| < множимое 2> | Yes | Целое число или число с плавающей запятой | Число, которое умножается умножением1 |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < результат продукта> | Целое число или число с плавающей запятой | Произведение от умножения первого числа на второе |
Example
В этих примерах умножают первое число на второе число.
mul(1, 2)
mul(1.5, 2)
И верните следующие результаты:
- Первый пример:
2 - Второй пример
3
multipartBody
Возвращает текст указанной части выходных данных действия, которые состоят из нескольких частей.
multipartBody('<actionName>', <index>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < actionName> | Yes | String | Имя действия, которое содержит выходные данные, состоящие из нескольких частей |
| < индекс> | Yes | Integer | Значение индекса необходимой части |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < тело> | String | Корпус указанной части |
N
not
Проверьте, является ли выражение ложным. Возвращает значение true, если выражение ложно, или значение false, если значение истинно.
not(<expression>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < выражения> | Yes | Boolean | Выражение для проверки |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает значение true, если выражение ложно. Возвращает значение false, если выражение истинно. |
Пример 1
В этих примерах проверяется, являются ли указанные выражения ложными:
not(false)
not(true)
И верните следующие результаты:
- В первом примере выражение имеет значение false, поэтому функция возвращает
true. - Во втором примере выражение имеет значение true, поэтому функция возвращает
false.
Пример 2
В этих примерах проверяется, являются ли указанные выражения ложными:
not(equals(1, 2))
not(equals(1, 1))
И верните следующие результаты:
- В первом примере выражение имеет значение false, поэтому функция возвращает
true. - Во втором примере выражение имеет значение true, поэтому функция возвращает
false.
nthIndexOf
Возвращает начальную позицию или значение индекса, где в строке отображается n-евхождение подстроки.
nthIndexOf('<text>', '<searchText>', <occurrence>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Строка, содержащая подстроку для поиска |
| < поискТекст> | Yes | String | Подстрока для поиска |
| < происшествие> | Yes | Integer | Число, указывающее n-евхождение подстроки для поиска. Если вхождение отрицательное, начните поиск с конца. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < значение индекса> | Integer | Начальное положение или значение индекса для n-говхождения указанной подстроки. Если подстрока не найдена или меньше n вхождения подстроки существует, возвращается -1. |
Examples
nthIndexOf('123456789123465789', '1', 1) // Returns `0`.
nthIndexOf('123456789123465789', '1', 2) // Returns `9`.
nthIndexOf('123456789123465789', '12', 2) // Returns `9`.
nthIndexOf('123456789123465789', '6', 4) // Returns `-1`.
O
or
Проверьте, является ли по крайней мере одно выражение истинным. Возвращает значение true, если хотя бы одно выражение истинно, или значение false, когда все являются ложными.
or(<expression1>, <expression2>, ...)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < выражение1>, <выражение2>, ... | Yes | Boolean | Выражения, которые нужно проверить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает истину, если по крайней мере одно выражение истинно. Возвращает значение false, если все выражения ложны. |
Пример 1
В этих примерах проверяется, является ли хотя бы одно выражение истинным:
or(true, false)
or(false, false)
И верните следующие результаты:
- В первом примере по крайней мере одно выражение имеет значение true, поэтому функция возвращает
true. - Во втором примере оба выражения имеют значения false, поэтому функция возвращает
false.
Пример 2
В этих примерах проверяется, является ли хотя бы одно выражение истинным:
or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))
И верните следующие результаты:
- В первом примере по крайней мере одно выражение имеет значение true, поэтому функция возвращает
true. - Во втором примере оба выражения имеют значения false, поэтому функция возвращает
false.
outputs
Возвращает результаты действия во время выполнения.
outputs('<actionName>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < actionName> | Yes | String | Имя выходных данных действия, которое вы хотите. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < выпуск> | String | Выходные данные указанного действия |
Example
Этот пример получает выходные данные из действия Get userX:
outputs('Get_user')
И возвращает следующий результат:
{
"statusCode": 200,
"headers": {
"Pragma": "no-cache",
"Vary": "Accept-Encoding",
"x-ms-request-id": "a916ec8f52211265d98159adde2efe0b",
"X-Content-Type-Options": "nosniff",
"Timing-Allow-Origin": "*",
"Cache-Control": "no-cache",
"Date": "Mon, 09 Apr 2018 18:47:12 GMT",
"Set-Cookie": "ARRAffinity=b9400932367ab5e3b6802e3d6158afffb12fcde8666715f5a5fbd4142d0f0b7d;Path=/;HttpOnly;Domain=twitter-wus.azconn-wus.p.azurewebsites.net",
"X-AspNet-Version": "4.0.30319",
"X-Powered-By": "ASP.NET",
"Content-Type": "application/json; charset=utf-8",
"Expires": "-1",
"Content-Length": "339"
},
"body": {
"FullName": "Contoso Corporation",
"Location": "Generic Town, USA",
"Id": 283541717,
"UserName": "ContosoInc",
"FollowersCount": 172,
"Description": "Leading the way in transforming the digital workplace.",
"StatusesCount": 93,
"FriendsCount": 126,
"FavouritesCount": 46,
"ProfileImageUrl": "https://pbs.twimg.com/profile_images/908820389907722240/gG9zaHcd_400x400.jpg"
}
}
P
parameters
Возвращает значение параметра, описанного в определении вашего рабочего процесса.
parameters('<parameterName>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < параметрИмя> | Yes | String | Имя параметра, значение которого нужно получить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < значение параметра> | Any | Значение указанного параметра |
Example
Предположим, что у вас есть следующее значение JSON:
{
"fullName": "Sophia Owen"
}
Этот пример получает значение указанного параметра:
parameters('fullName')
И возвращает этот результат: "Sophia Owen"
parseDateTime
Возвращает метку времени из строки, содержащей метку времени.
parseDateTime('<timestamp>', '<locale>'?, '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < место действия> | No | String | Используемая региональная настройка. Если не указано, по умолчанию используется локаль en-us. Если языковой стандарт не является допустимым, создается ошибка. |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат не указан, попробуйте выполнить синтаксический анализ с несколькими форматами, совместимыми с указанным языковым стандартом. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < Синтаксический метка времени> | String | Метка времени синтаксического анализа в формате O (гггг-ММ-ддTHH:мм:ss.fffffffK), которая соответствует стандарту ISO 8601 и сохраняет сведения о часовом поясе. |
Examples
parseDateTime('20/10/2014', 'fr-fr') // Returns '2014-10-20T00:00:00.0000000'.
parseDateTime('20 octobre 2010', 'fr-FR') // Returns '2010-10-20T00:00:00.0000000'.
parseDateTime('martes 20 octubre 2020', 'es-es') // Returns '2020-10-20T00:00:00.0000000'.
parseDateTime('21052019', 'fr-fr', 'ddMMyyyy') // Returns '2019-05-21T00:00:00.0000000'.
parseDateTime('20190521', 'fr-fr', 'yyyyMMdd') // Returns '2019-05-21T00:00:00.0000000'.
parseDateTime('10/20/2014 15h', 'en-US', 'MM/dd/yyyy HH\h') // Returns '2014-10-20T15:00:00.0000000'.
R
rand
Возвращает случайное целое число из указанного диапазона, включая только начальное значение.
rand(<minValue>, <maxValue>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < минимальное значение> | Yes | Integer | Наименьшее целое число в диапазоне |
| < maxValue> | Yes | Integer | Целое число, следующее за самым высоким целым числом в диапазоне, который функция может возвращать. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < случайный результат> | Integer | Случайное целое число, возвращаемое из указанного диапазона |
Example
В этом примере возвращается случайное целое число из указанного диапазона, за исключением максимального значения:
rand(1, 5)
И возвращает в виде результата одно из этих чисел: 1, 2, 3 или 4.
range
Возвращает массив целых чисел, который начинается с заданного целого числа.
range(<startIndex>, <count>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < startIndex> | Yes | Integer | Целочисленное значение, которое запускает массив в качестве первого элемента |
| < количество> | Yes | Integer | Количество целых чисел в массиве. Значение параметра count должно быть положительным целым числом, не превышающим 100 000. Примечание. Сумма startIndex и count значения не должны превышать 2 147 483 647. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| [<результат диапазона>] | Array | Массив с целыми числами, который начинается с указанного индекса |
Example
В этом примере создается целочисленный массив, который начинается с указанного индекса и имеет указанное число целых чисел:
range(1, 4)
И возвращает этот результат: [1, 2, 3, 4]
removeProperty
Удаляет свойство из объекта и возвращает обновленный объект. Если свойство, которое вы пытаетесь удалить, не существует, функция возвращает исходный объект.
removeProperty(<object>, '<property>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < объект> | Yes | Object | Объект JSON, из которого вы хотите удалить свойство |
| < свойство> | Yes | String | Имя удаляемого свойства |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленный объект> | Object | Обновленный объект JSON без указанного свойства |
Чтобы удалить дочернее свойство существующего свойства, используйте следующий синтаксис:
removeProperty(<object>['<parent-property>'], '<child-property>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < объект> | Yes | Object | Объект JSON, свойство которого вы хотите удалить |
| < родительское свойство> | Yes | String | Имя родительского свойства, из которого необходимо удалить дочернее свойство |
| < дочернее свойство> | Yes | String | Имя удаляемого дочернего свойства |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленный объект> | Object | Обновленный объект JSON, чьё дочернее свойство было удалено |
Пример 1
В этом примере свойство удаляется middleName из объекта JSON, который преобразуется из строки в JSON с помощью функции JSON() и возвращает обновленный объект:
removeProperty(json('{ "firstName": "Sophia", "middleName": "Anne", "surName": "Owen" }'), 'middleName')
Вот текущий объект JSON:
{
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
Вот обновленный объект JSON:
{
"firstName": "Sophia",
"surName": "Owen"
}
Пример 2
В этом примере удаляется middleName дочернее свойство из родительского customerName свойства в объекте JSON, который преобразуется из строки в JSON с помощью функции JSON() и возвращает обновленный объект:
removeProperty(json('{ "customerName": { "firstName": "Sophia", "middleName": "Anne", "surName": "Owen" } }')['customerName'], 'middleName')
Вот текущий объект JSON:
{
"customerName": {
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
}
Вот обновленный объект JSON:
{
"customerName": {
"firstName": "Sophia",
"surName": "Owen"
}
}
replace
Замените подстроку указанной строкой и верните строку результата. Эта функция чувствительна к регистру.
replace('<text>', '<oldText>', '<newText>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Строка, которая содержит подстроку для замены |
| < oldText> | Yes | String | Часть строки для замены |
| < newText> | Yes | String | замещающая строка |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленный текст> | String | Обновленная строка после замены подстроки Если подстрока не найдена, верните исходную строку. |
Example
Этот пример находит подстроку "old" в "старой строке" и заменяет "старый" на "new":
replace('the old string', 'old', 'new')
И возвращает этот результат: "the new string"
result
Возвращаются результаты действий верхнего уровня в рамках заданных действий, например For_each, Until или Scope. Функция result() принимает один параметр — название области — и возвращает массив с информацией из действий первого уровня этой области. Объекты действия включают в себя те же атрибуты, что возвращает функция actions(), например время начала и окончания действия, его состояние, входные и выходные данные, а также идентификаторы корреляции.
Note
Эта функция возвращает сведения только из действий первого уровня в действии с областью действия, а не из более глубоких вложенных действий, таких как переключение или действие условия.
С помощью этой функции можно получать результаты невыполненных действий, чтобы проводить анализ и настраивать обработку исключений. Дополнительные сведения см. в Получение контекста и результатов сбоев.
result('<scopedActionName>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < scopedActionName> | Yes | String | Имя действия в пределах области, где вы хотите получить входные и выходные данные из действий этой области верхнего уровня. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < массив-объект> | Объект Array | Массив, содержащий массивы входных и выходных данных для каждого действия верхнего уровня в пределах указанной области. |
Example
Этот пример возвращает входные и выходные данные каждой итерации действия HTTP внутри цикла For_each с помощью функции result() в действии Compose:
{
"actions": {
"Compose": {
"inputs": "@result('For_each')",
"runAfter": {
"For_each": [
"Succeeded"
]
},
"type": "compose"
},
"For_each": {
"actions": {
"HTTP": {
"inputs": {
"method": "GET",
"uri": "https://httpstat.us/200"
},
"runAfter": {},
"type": "Http"
}
},
"foreach": "@triggerBody()",
"runAfter": {},
"type": "Foreach"
}
}
}
Вот как может выглядеть пример возвращаемого массива, где внешний объект outputs содержит входные и выходные данные каждой итерации действий внутри действия For_each.
[
{
"name": "HTTP",
"outputs": [
{
"name": "HTTP",
"inputs": {
"uri": "https://httpstat.us/200",
"method": "GET"
},
"outputs": {
"statusCode": 200,
"headers": {
"X-AspNetMvc-Version": "5.1",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "private",
"Date": "Tue, 20 Aug 2019 22:15:37 GMT",
"Set-Cookie": "ARRAffinity=0285cfbea9f2ee7",
"Server": "Microsoft-IIS/10.0",
"X-AspNet-Version": "4.0.30319",
"X-Powered-By": "ASP.NET",
"Content-Length": "0"
},
"startTime": "2019-08-20T22:15:37.6919631Z",
"endTime": "2019-08-20T22:15:37.95762Z",
"trackingId": "6bad3015-0444-4ccd-a971-cbb0c99a7.....",
"clientTrackingId": "085863526764.....",
"code": "OK",
"status": "Succeeded"
}
},
{
"name": "HTTP",
"inputs": {
"uri": "https://httpstat.us/200",
"method": "GET"
},
"outputs": {
"statusCode": 200,
"headers": {
"X-AspNetMvc-Version": "5.1",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "private",
"Date": "Tue, 20 Aug 2019 22:15:37 GMT",
"Set-Cookie": "ARRAffinity=0285cfbea9f2ee7",
"Server": "Microsoft-IIS/10.0",
"X-AspNet-Version": "4.0.30319",
"X-Powered-By": "ASP.NET",
"Content-Length": "0"
},
"startTime": "2019-08-20T22:15:37.6919631Z",
"endTime": "2019-08-20T22:15:37.95762Z",
"trackingId": "9987e889-981b-41c5-aa27-f3e0e59bf69.....",
"clientTrackingId": "085863526764.....",
"code": "OK",
"status": "Succeeded"
}
}
]
}
]
reverse
Измените порядок элементов в коллекции. При использовании этой функции с сортировкой()можно сортировать коллекцию в порядке убывания.
reverse([<collection>])
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция> | Yes | Array | Коллекция для обратного изменения |
| Возвращаемое значение | Type | Description |
|---|---|---|
| [<обновленной коллекции>] | Array | Инвертированная коллекция |
Example
В этом примере выполняется обратный массив целых чисел:
reverse(createArray(0, 1, 2, 3))
И возвращает этот массив: [3,2,1,0]
S
setProperty
Задает значение свойства объекта JSON и возвращает обновленный объект. Если свойство, которое вы пытаетесь задать, не существует, свойство добавляется в объект. Чтобы добавить новое свойство, используйте функцию addProperty().
setProperty(<object>, '<property>', <value>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < объект> | Yes | Object | Объект JSON, свойство которого вы хотите установить. |
| < свойство> | Yes | String | Имя существующего или нового задаваемого свойства |
| < значение> | Yes | Any | Значение, задаваемое для указанного свойства |
Чтобы задать дочернее свойство в дочернем объекте, используйте вместо него вложенный вызов setProperty(). В противном случае функция возвращает только дочерний объект в качестве выходных данных.
setProperty(<object>, '<parent-property>', setProperty(<object>['parentProperty'], '<child-property>', <value>))
| Parameter | Required | Type | Description |
|---|---|---|---|
| < объект> | Yes | Object | Объект JSON, свойство которого вы хотите установить. |
| < родительское свойство> | Yes | String | Имя родительского свойства с дочерним свойством, которое нужно установить |
| < дочернее свойство> | Yes | String | Имя свойства дочернего объекта, которое нужно задать |
| < значение> | Yes | Any | Значение, задаваемое для указанного свойства |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленный объект> | Object | Обновленный объект JSON, свойство которого задается |
Пример 1
В этом примере свойство устанавливается surName в объекте JSON, который преобразуется из строки в JSON с помощью функции JSON(). Функция присваивает указанное значение новому свойству и возвращает обновленный объект:
setProperty(json('{ "firstName": "Sophia", "surName": "Owen" }'), 'surName', 'Hartnett')
Вот текущий объект JSON:
{
"firstName": "Sophia",
"surName": "Owen"
}
Вот обновленный объект JSON:
{
"firstName": "Sophia",
"surName": "Hartnett"
}
Пример 2
В этом примере задается дочернее surName свойство родительского customerName свойства в объекте JSON, который преобразуется из строки в JSON с помощью функции JSON(). Функция присваивает указанное значение новому свойству и возвращает обновленный объект:
setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }'), 'customerName', setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }')['customerName'], 'surName', 'Hartnett'))
Вот текущий объект JSON:
{
"customerName": {
"firstName": "Sophie",
"surName": "Owen"
}
}
Вот обновленный объект JSON:
{
"customerName": {
"firstName": "Sophie",
"surName": "Hartnett"
}
}
skip
Удаляет элементы из начала коллекции и возвращает все остальные элементы.
skip([<collection>], <count>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция> | Yes | Array | Коллекция, элементы которой требуется удалить |
| < количество> | Yes | Integer | Положительное целое число для количества элементов, которые нужно удалить на передней части |
| Возвращаемое значение | Type | Description |
|---|---|---|
| [<обновленной коллекции>] | Array | Обновленная коллекция после удаления указанных элементов |
Example
В этом примере удаляется один элемент, число 0, из передней части указанного массива:
skip(createArray(0, 1, 2, 3), 1)
И возвращает этот массив с оставшимися элементами: [1,2,3]
slice
Возвращает подстроку, указывая начальную и конечную позицию или значение. См. также подстроку().
slice('<text>', <startIndex>, <endIndex>?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Строка, содержащая подстроку для поиска |
| < startIndex> | Yes | Integer | Отсчитываемое от нуля начальное положение или значение для начала поиска подстроки — Если startIndex больше длины строки, возвращает пустую строку. — Если startIndex является отрицательным, начните поиск по значению индекса, который является суммой длины строки и startIndex. |
| < endIndex> | No | Integer | Отсчитываемое от нуля конечное положение или значение, по которому заканчивается поиск подстроки. Символ, расположенный в конце значения индекса, не включается в поиск. — Если endIndex не указан или больше длины строки, выполните поиск до конца строки. — Если endIndex является отрицательным, выполните поиск по значению индекса, который суммирует длину строки и endIndex. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < Результирующий срез> | String | Новая строка, содержащая найденную подстроку |
Examples
slice('Hello World', 2) // Returns 'llo World'.
slice('Hello World', 30) // Returns ''.
slice('Hello World', 10, 2) // Returns ''.
slice('Hello World', 0) // Returns 'Hello World'.
slice('Hello World', 2, 5) // Returns 'llo'.
slice('Hello World', 6, 20) // Returns 'World'.
slice('Hello World', -2) // Returns 'ld'.
slice('Hello World', 3, -1) // Returns 'lo Worl'.
slice('Hello World', 3, 3) // Returns ''.
sort
Сортировка элементов в коллекции. Вы можете сортировать объекты коллекции с помощью любого ключа, содержащего примитивный тип данных, поддерживаемый языком определения рабочих процессов, например int, float, string или bool.
sort([<collection>], <sortBy>?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция> | Yes | Array | Коллекция с элементами для сортировки |
| < sortАвтор> | No | String | Ключ, используемый для сортировки объектов коллекции |
| Возвращаемое значение | Type | Description |
|---|---|---|
| [<обновленной коллекции>] | Array | Отсортированная коллекция |
Пример 1
В этом примере выполняется сортировка массива целых чисел:
sort(createArray(2, 1, 0, 3))
И возвращает этот массив: [0,1,2,3]
Пример 2
В этом примере выполняется сортировка массива объектов по ключу:
sort(createArray(json('{ "first": "Amalie", "last": "Rose" }'), json('{ "first": "Elise", "last": "Renee" }')), 'last')
И возвращает этот массив: [{ "first": "Elise", "last": "Renee" }, {"first": "Amalie", "last": "Rose" }')]
split
Возвращает массив, содержащий подстроки, разделенные запятыми, основываясь на указанном символе разделителя в исходной строке.
split('<text>', '<delimiter>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Строка для разделения на подстроки в зависимости от указанного разделителя в исходной строке |
| < разделитель> | Yes | String | Символ в исходной строке, используемый в качестве разделителя |
| Возвращаемое значение | Type | Description |
|---|---|---|
| [<подстрока1>,<подстрока2>,...] | Array | Массив, содержащий подстроки из исходной строки, разделенный запятыми |
Пример 1
В этом примере создается массив подстрок из указанной строки с использованием заданного символа в качестве разделителя.
split('a_b_c', '_')
И возвращает этот массив в качестве результата: ["a","b","c"]
Пример 2
В этом примере создается массив с одним элементом, если в строке нет разделителя:
split('a_b_c', ' ')
И возвращает этот массив в качестве результата: ["a_b_c"]
startOfDay
Верните начало дня для отметки времени.
startOfDay('<timestamp>', '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленной метки времени> | String | Указанная метка времени, но начиная с нуля часов дня. |
Example
Этот пример находит начало дня для этой временной метки.
startOfDay('2018-03-15T13:30:30Z')
И возвращает этот результат: "2018-03-15T00:00:00.0000000Z"
startOfHour
Возвратите начало часа для метки времени.
startOfHour('<timestamp>', '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленной метки времени> | String | Указанная метка времени, которая начинается с нулевой минуты часа |
Example
Этот пример определяет начало часа для этой временной метки.
startOfHour('2018-03-15T13:30:30Z')
И возвращает этот результат: "2018-03-15T13:00:00.0000000Z"
startOfMonth
Возвращает начало месяца для временной метки.
startOfMonth('<timestamp>', '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленной метки времени> | String | Указанная метка времени, но начиная с нулевого часа первого дня месяца |
Пример 1
Этот пример возвращает начало месяца для этой временной метки:
startOfMonth('2018-03-15T13:30:30Z')
И возвращает этот результат: "2018-03-01T00:00:00.0000000Z"
Пример 2
Этот пример возвращает начало месяца в указанном формате для этой отметки времени:
startOfMonth('2018-03-15T13:30:30Z', 'yyyy-MM-dd')
И возвращает этот результат: "2018-03-01"
startsWith
Проверьте, начинается ли строка с определенной подстроки. Возвращает true, если подстрока найдена, или возвращает false, если нет. Эта функция не учитывает регистр.
startsWith('<text>', '<searchText>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Проверяемая строка |
| < поискТекст> | Yes | String | Начальная строка для поиска |
| Возвращаемое значение | Type | Description |
|---|---|---|
| истина или ложь | Boolean | Возвращает значение true при обнаружении начальной подстроки. Возвращает false, если не найдено. |
Пример 1
В этом примере проверяется, начинается ли строка hello world со подстроки hello:
startsWith('hello world', 'hello')
И возвращает этот результат: true
Пример 2
В этом примере проверяется, начинается ли строка hello world со подстроки приветствия:
startsWith('hello world', 'greetings')
И возвращает этот результат: false
string
Возвращает строковую версию значения.
string(<value>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | Any | Преобразуемое значение . Если значение равно NULL или оценивается как NULL, то оно преобразуется в пустую строку (""). Например, если присвоить переменную строки к несуществующему свойству, к которому можно получить доступ через оператор ?, то значение NULL будет преобразовано в пустую строку. При этом сравнение со значением NULL отличается от сравнения с пустой строкой. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < строковое значение> | String | Версия строки для указанного значения. Если параметр значения имеет значение NULL или имеет значение NULL, это значение возвращается как пустое строковое"" () значение. |
Пример 1
В этом примере создается строковая версия для этого числа:
string(10)
И возвращает этот результат: "10"
Пример 2
В этом примере создается строка для указанного объекта JSON, и символ обратной косой черты (\) используется как экранирующий символ для двойных кавычек (").
string( { "name": "Sophie Owen" } )
И возвращает этот результат: "{ \\"name\\": \\"Sophie Owen\\" }"
sub
Возвращает результат вычитания второго числа из первого числа.
sub(<minuend>, <subtrahend>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < уменьшаемое> | Yes | Целое число или число с плавающей запятой | Число , из которого вычитается уменьшаемое |
| < подтраченные> | Yes | Целое число или число с плавающей запятой | Число, вычитаемое из minuend |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < результат> | Целое число или число с плавающей запятой | Результат вычитания второго числа из первого числа |
Example
В этом примере из первого числа вычитается второе число:
sub(10.3, .3)
И возвращает этот результат: 10
substring
Возвращает символы из строки, начиная с указанной позиции или индекса. Значения индекса начинаются с числа 0. См. также срез().
substring('<text>', <startIndex>, <length>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Строка, символы которой вы хотите |
| < startIndex> | Yes | Integer | Положительное число, равное или больше 0, которое вы хотите использовать в качестве начальной позиции или значения индекса |
| < длину> | No | Integer | Положительное число символов, которые вы хотите иметь в подстроке |
Note
Убедитесь, что сумма при добавлении значений параметров startIndex и длины меньше длины строки, указанной для текстового параметра. В противном случае вы получите ошибку, в отличие от аналогичных функций на других языках, где результатом является подстрока от startIndex до конца строки. Параметр длины является необязательным и если не указан, функция подстроки () принимает все символы, начиная с startIndex до конца строки.
| Возвращаемое значение | Type | Description |
|---|---|---|
| < результат подстроки> | String | Подстрока с указанным числом символов, начиная с указанной позиции индекса в исходной строке |
Example
В этом примере создается подстрока с пятью символами из указанной строки, начиная с значения индекса 6:
substring('hello world', 6, 5)
И возвращает этот результат: "world"
subtractFromTime
Вычтите некоторое количество единиц времени из метки времени. См. также getPastTime.
subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка, содержащая метку времени |
| < интервала> | Yes | Integer | Число указанных единиц времени для вычитания |
| < единица времени> | Yes | String | Единица времени, используемая с интервалом ,: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year" |
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновленной метки времени> | String | Отметка времени за вычетом указанного количества временных единиц. |
Пример 1
В этом примере вычитается один день из этой временной записи.
subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day')
И возвращает этот результат: "2018-01-01T00:00:00.0000000Z"
Пример 2
В этом примере вычитается один день из этой временной записи.
subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day', 'D')
И возвращает этот результат с помощью необязательного формата D: "Monday, January, 1, 2018"
T
take
Возвращает элементы, расположенные в начале коллекции.
take('<collection>', <count>)
take([<collection>], <count>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция> | Yes | Строка или массив | Коллекция, элементы которой вы хотите |
| < количество> | Yes | Integer | Положительное целое число для количества элементов, которые вы хотите с начала. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < подмножество> или [ подмножество<>] | Строка или массив соответственно | Строка или массив с указанным числом элементов, взятых из передней части исходной коллекции |
Example
В этих примерах берется указанное количество элементов с начала данных коллекций.
take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)
И верните следующие результаты:
- Первый пример:
"abc" - Второй пример:
[0, 1, 2]
ticks
Возвращает число тактов, являющихся 100-наносекундными интервалами, начиная с полуночи 1 января 0001 00:00:00 (или DateTime.Ticks в C#) вплоть до указанной метки времени. Дополнительные сведения см. в этой статье: DateTime.Ticks Property (System).
ticks('<timestamp>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < временная метка> | Yes | String | Строка для метки времени |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < > чисел | Integer | Число тактов с указанной метки времени |
toLower
Возвращает строку в нижнем регистре. Если символ в строке не имеет версии в нижнем регистре, он добавляется в возвращаемую строку без изменений.
toLower('<text>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Строка, которую нужно вернуть в нижнем регистре. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < строчные-текст> | String | Исходная строка в нижнем регистре |
Example
В этом примере эта строка преобразуется в нижний регистр:
toLower('Hello World')
И возвращает этот результат: "hello world"
toUpper
Верните строку в верхнем регистре. Если символ в строке не имеет версию верхнего регистра, этот символ остается неизменным в возвращаемой строке.
toUpper('<text>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Строка, которую нужно вернуть в верхнем регистре |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < > текст в верхнем регистре | String | Исходная строка в формате верхнего регистра |
Example
В этом примере эта строка преобразуется в верхний регистр:
toUpper('Hello World')
И возвращает этот результат: "HELLO WORLD"
trigger
Возвращает выходные данные триггера во время выполнения или значение из других пар "имя — значение" JSON, которые вы можете назначить выражению.
Внутри входных данных триггера функция возвращает выходные данные предыдущего выполнения.
Внутри условий триггера функция возвращает выходные данные текущего выполнения.
По умолчанию эта функция ссылается на весь объект триггера, но вы можете дополнительно указать свойство, значение которого требуется. Кроме того, эта функция имеет короткие версии, см. триггерOutputs() и triggerBody().
trigger()
| Возвращаемое значение | Type | Description |
|---|---|---|
| < триггер-выходные данные> | String | Выходные данные из триггера во время выполнения |
triggerBody
Возвращает выходные данные body триггера во время выполнения. Сокращение для trigger().outputs.body. См. триггер().
triggerBody()
| Возвращаемое значение | Type | Description |
|---|---|---|
| < триггер-body-output> | String | Выходные данные body из триггера |
triggerFormDataMultiValues
Возвращает массив со значениями, которые соответствуют имени ключа в выходных данных формы триггера или выходных данных в кодировке формы .
triggerFormDataMultiValues('<key>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < ключ> | Yes | String | Имя ключа, значение которого нужно получить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| [<массив с ключевыми значениями>] | Array | Массив со всеми значениями, которые соответствуют заданному ключу |
Example
В этом примере создается массив из значения ключа "feedUrl" в выходных данных триггера RSS, которые представлены в form-data или закодированы в форму.
triggerFormDataMultiValues('feedUrl')
Возвращается этот массив в качестве примера: ["https://feeds.a.dj.com/rss/RSSMarketsMain.xml"]
triggerFormDataValue
Возвращает строку с одним значением, которое соответствует имени ключа в выходных данных формы триггера или выходных данных в кодировке формы . Если функция обнаруживает более одного совпадения, она выдает ошибку.
triggerFormDataValue('<key>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < ключ> | Yes | String | Имя ключа, значение которого нужно получить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < ключевое значение> | String | Значение в указанном ключе |
Example
В этом примере создаётся строка из значения ключа "feedUrl" в выходных данных form-data или закодированных форм триггера RSS.
triggerFormDataValue('feedUrl')
Эта строка возвращается как пример результата: "https://feeds.a.dj.com/rss/RSSMarketsMain.xml"
triggerMultipartBody
Возвращает текст указанной части выходных данных триггера, которые состоят из нескольких частей.
triggerMultipartBody(<index>)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < индекс> | Yes | Integer | Значение индекса необходимой части |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < тело> | String | Текст указанной части выходных данных триггера, которые состоят из нескольких частей |
triggerOutputs
Возвращает выходные данные триггера во время выполнения или значения из других пар "имя — значение" JSON. Сокращение для trigger().outputs. См. триггер().
triggerOutputs()
| Возвращаемое значение | Type | Description |
|---|---|---|
| < триггер-выходные данные> | String | Выходные данные из триггера во время выполнения |
trim
Удалите начальные и конечные пробелы из строки и верните обновленную строку.
trim('<text>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < текст> | Yes | String | Строка с начальными и конечными пробелами, которые нужно удалить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновлен> текст | String | Обновленная версия исходной строки без начальных или конечных пробелов |
Example
В этом примере удаляются начальные и конечные пробелы из строки "Hello World":
trim(' Hello World ')
И возвращает этот результат: "Hello World"
U
union
Возвращает коллекцию, которая содержит все элементы из указанных коллекций. Чтобы появиться в результатах, элемент должен содержаться в любой коллекции, переданной этой функции. Если один или несколько элементов имеют одинаковое имя, в результатах появляется последний элемент с таким именем.
union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
| Parameter | Required | Type | Description |
|---|---|---|---|
| < коллекция1>, <коллекция2>, ... | Yes | Массив или объект, но не оба | Коллекции, из которых вы хотите получать все элементы |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < обновлено коллекция> | Массив или объект соответственно | Коллекция со всеми элементами из указанных коллекций — без дубликатов |
Example
В этом примере получает все элементы из этих коллекций.
union(createArray(1, 2, 3), createArray(1, 2, 10, 101))
И возвращает этот результат: [1, 2, 3, 10, 101]
uriComponent
Возвращает кодированную версию URI для строки, заменив символы, опасные для URL-адреса, на escape-символы. Используйте эту функцию, а не encodeUriComponent(). Хотя обе функции работают одинаково, uriComponent() предпочтительнее.
uriComponent('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка для преобразования в формат с кодировкой URI |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < кодированного кода ресурса (URI)> | String | Строка с закодированным URI, содержащая экранирующие символы |
Example
В этом примере создается версия в кодировке URI для этой строки:
uriComponent('https://contoso.com')
И возвращает этот результат: "https%3A%2F%2Fcontoso.com"
uriComponentToBinary
Возвращает двоичную версию компонента унифицированного указателя ресурса (URI).
uriComponentToBinary('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка, закодированная в формате URI, для преобразования |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < binary-for-encoded-URI> | String | Двоичная версия для строки в кодировке URI. Двоичное содержимое закодировано в Base64 и представлено в виде $content. |
Example
В этом примере создается двоичная версия для этой строки в кодировке URI:
uriComponentToBinary('https%3A%2F%2Fcontoso.com')
И возвращает этот результат: "aHR0cHM6Ly9jb250b3NvLmNvbQ=="
uriComponentToString
Возвращает строковую версию URI-кодированной строки, эффективно декодируя эту URI-кодированную строку.
uriComponentToString('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка, закодированная в формате URI, для декодирования |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < декодированного кода ресурса (URI)> | String | Декодированная версия для строки в кодировке URI |
Example
В этом примере создается декодированная версия строки для этой строки в кодировке URI:
uriComponentToString('https%3A%2F%2Fcontoso.com')
И возвращает этот результат: "https://contoso.com"
uriHost
Верните значение host для унифицированного указателя ресурса (URI).
uriHost('<uri>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < ури> | Yes | String | URI, значение host которого вы хотите получить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < Host-value> | String | Значение host для указанного URI. |
Example
В этом примере выполняется поиск значения host для этого URI:
uriHost('https://www.localhost.com:8080')
И возвращает этот результат: "www.localhost.com"
uriPath
Верните значение path для унифицированного указателя ресурса (URI).
uriPath('<uri>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < ури> | Yes | String | URI, значение path которого вы хотите получить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < Значение пути> | String | Значение path для указанного URI. Если path не имеет значения, вернется символ "/". |
Example
В этом примере выполняется поиск значения path для этого URI:
uriPath('https://www.contoso.com/catalog/shownew.htm?date=today')
И возвращает этот результат: "/catalog/shownew.htm"
uriPathAndQuery
Возвращает значения path и query для URI.
uriPathAndQuery('<uri>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < ури> | Yes | String | URI, значения path и query которого требуется извлечь |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < path-query-value> | String | Значения path и query для указанного URI. Если path не указывает значение, вернется символ "/". |
Example
В этом примере выполняется поиск значения path и query для этого URI:
uriPathAndQuery('https://www.contoso.com/catalog/shownew.htm?date=today')
И возвращает этот результат: "/catalog/shownew.htm?date=today"
uriPort
Верните значение port для унифицированного указателя ресурса (URI).
uriPort('<uri>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < ури> | Yes | String | URI, значение port которого вы хотите получить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < Значение порта> | Integer | Значение port для указанного URI. Если port не указывает значение, возвращается порт по умолчанию для протокола. |
Example
В этом примере возвращается значение port для этого URI:
uriPort('https://www.localhost:8080')
И возвращает этот результат: 8080
uriQuery
Верните значение query для унифицированного указателя ресурса (URI).
uriQuery('<uri>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < ури> | Yes | String | URI, значение query которого вы хотите получить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < значение запроса> | String | Значение query для указанного URI. |
Example
В этом примере возвращается значение query для этого URI:
uriQuery('https://www.contoso.com/catalog/shownew.htm?date=today')
И возвращает этот результат: "?date=today"
uriScheme
Верните значение scheme для унифицированного указателя ресурса (URI).
uriScheme('<uri>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < ури> | Yes | String | URI, значение scheme которого вы хотите получить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < схема-значение> | String | Значение scheme для указанного URI. |
Example
В этом примере возвращается значение scheme для этого URI:
uriScheme('https://www.contoso.com/catalog/shownew.htm?date=today')
И возвращает этот результат: "http"
utcNow
Возвращает текущую метку времени.
utcNow('<format>')
При необходимости можно указать другой формат с параметром <формата>.
| Parameter | Required | Type | Description |
|---|---|---|---|
| < формата> | No | String | Строка числового формата, которая является либо описателем одного формата, либо пользовательским шаблоном формата. Формат метки времени по умолчанию — "o" (гггг-ММ-ддTHH:мм:ss.fffffffffK), который соответствует ISO 8601 и сохраняет сведения о часовом поясе. Если формат имеет недопустимое значение, генерируется ошибка. |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < текущая временная метка> | String | Текущая дата и время |
Examples
utcNow() // Returns 2025-09-25T05:18:31.3384797Z
utcNow('u') // Returns 2025-09-25 05:18:31Z
utcNow('U') // Returns Thursday, September 25, 2025 5:18:31 AM
utcNow('d') // Returns 9/25/2025
utcNow('D') // Returns Thursday, September 25, 2025
utcNow('t') // Returns 5:18 AM
utcNow('T') // Returns 5:18:31 AM
utcNow('y') // Returns September 2025
utcNow('yyyy') // Returns 2025
utcNow('ddd, d MMM yyyy') // Returns Thu, 25 Sep 2025
V
variables
Возвращает значение для указанной переменной.
variables('<variableName>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < variableName> | Yes | String | Имя переменной, значение которой нужно получить |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < переменная-значение> | Any | Значение указанной переменной |
Example
Предположим, что текущее значение для переменной "numItems" — 20. В этом примере извлекается целочисленное значение этой переменной:
variables('numItems')
И возвращает этот результат: 20
W
workflow
Возвращает все сведения о самом рабочем процессе во время выполнения.
workflow().<property>
| Parameter | Required | Type | Description |
|---|---|---|---|
| < свойство> | No | String | Имя свойства рабочего процесса, значение которого требуется По умолчанию объект рабочего процесса имеет следующие свойства: name, type, id, location, run и tags. – Значение свойства run — это объект JSON, который включает следующие свойства: name, type и id. – Свойство tags — это объект JSON, который включает теги, связанные с приложением логики, в Azure Logic Apps или поток в Power Automate, а также значения этих тегов. Дополнительные сведения о тегах в ресурсах Azure см. в статье Ресурсы тегов, группы ресурсов и подписки для логической организации в Azure. Примечание. По умолчанию приложение логики не имеет тегов, но поток Power Automate имеет flowDisplayName теги и environmentName теги. |
Пример 1
В этом примере возвращается имя текущего выполнения рабочего процесса:
workflow().run.name
Пример 2
В Power Automate можно создать выражение @workflow(), которое использует свойство выходных данных tags, чтобы получать значение из свойств потока flowDisplayName или environmentName.
Например, вы можете отправлять пользовательские уведомления по электронной почте из самого потока, которые ссылаются на ваш поток. Эти уведомления могут включать ссылку HTML, которая содержит отображаемое имя потока в заголовке письма и соответствует следующему синтаксису:
<a href=https://flow.microsoft.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/details>Open flow @{workflow()['tags']['flowDisplayName']}</a>
X
xml
Возвращает XML-версию для строки, содержащей объект JSON.
xml('<value>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < значение> | Yes | String | Строка с объектом JSON для преобразования Объект JSON должен иметь только одно корневое свойство, которое не может быть массивом. Используйте обратную косую черту (\) как экранирующий символ для двойных кавычек ("). |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < > xml-версии | Object | Закодированный XML для заданной строки или объекта JSON |
Пример 1
В этом примере строка преобразуется в XML:
xml('<name>Sophia Owen</name>')
И возвращает xml-код результата:
<name>Sophia Owen</name>
Пример 2
В этом примере создается XML-версия для этой строки, которая содержит объект JSON:
xml(json('{ "name": "Sophia Owen" }'))
И возвращает xml-код результата:
<name>Sophia Owen</name>
пример 3
Предположим, у вас есть этот объект JSON:
{
"person": {
"name": "Sophia Owen",
"city": "Seattle"
}
}
В этом примере создается XML-код для строки, содержащей этот объект JSON:
xml(json('{"person": {"name": "Sophia Owen", "city": "Seattle"}}'))
И возвращает xml-код результата:
<person>
<name>Sophia Owen</name>
<city>Seattle</city>
<person>
Пример 4
Функция xml() ожидает либо объект, либо строку, содержащую допустимый XML. Функция не принимает необработанный массив в качестве входных данных.
Если данные являются строкой JSON, можно использовать json() функцию для преобразования строки в объект JSON перед передачей xml() результата в функцию, например:
xml(
json('{"root":{"array":[
{ "ID": 1, "Name": "James" },
{ "ID": 2, "Name": "John" },
{ "ID": 3, "Name": "Sam" }
]}}')
)
Если у вас есть массив JSON, как показано в следующем примере, у вас есть три варианта.
[
{ "ID": 1, "Name": "James" },
{ "ID": 2, "Name": "John" },
{ "ID": 3, "Name": "Sam" }
]
Вариант 1. Хранение массива JSON в действии Compose с именем Compose1. Затем используйте функцию outputs() для возврата объекта JSON из Compose1.
{
"root": { "array": @{outputs('Compose1')} }
}
Сохраните возвращенный объект JSON в другом действии с именем Compose2. Затем можно использовать xml() функции и outputs() функции для создания XML из выходных данных объекта JSON из Compose2, например:
xml(outputs('Compose2'))
Вариант 2. Хранение массива JSON в действии Compose с именем Compose1. Затем используйте outputs()concat()json()функции и xml() функции для создания XML из выходных данных объекта JSON, например:
xml(
json(
concat(
'{"root":{"array":',
outputs('Compose1'),
'}}'
)
)
)
Вариант 3. Хранение массива JSON в действии Compose с именем Compose1. Затем можно использовать outputs()функции и json()addProperty()xml() функции для создания XML из выходных данных объекта JSON, например:
xml(
addProperty(
json('{}'),
'root',
addProperty(
json('{}'),
'array',
outputs('Compose1')
)
)
)
Все примеры, в том числе пример строковых данных JSON и параметры 1–3, возвращают следующий xml-результат:
<root>
<array>
<ID>1</ID>
<Name>James</Name>
</array>
<array>
<ID>2</ID>
<Name>John</Name>
</array>
<array>
<ID>3</ID>
<Name>Sam</Name>
</array>
</root>
xpath
Проверьте XML на наличие узлов или значений, которые соответствуют выражению XPath (язык путей XML), и верните соответствующие узлы или значения. Выражение XPath (или просто "XPath") помогает перемещаться по структуре документа XML, чтобы вы могли выбирать узлы или вычислять значения в содержимом XML.
Note
В приложениях логики "Потребление" и "Стандартный" все выражения функций используют библиотеку .NET XPath. Выражения XPath совместимы с базовой библиотекой .NET и поддерживают только выражение, поддерживаемое базовой библиотекой .NET.
xpath('<xml>', '<xpath>')
| Parameter | Required | Type | Description |
|---|---|---|---|
| < xml> | Yes | Any | XML-строка для поиска узлов или значений, соответствующих значению выражения XPath |
| < xpath> | Yes | Any | Выражение XPath, используемое для поиска соответствующих узлов или значений XML |
| Возвращаемое значение | Type | Description |
|---|---|---|
| < xml-узел> | XML | Узел XML, где только один узел соответствует указанному выражению XPath |
| < значение> | Any | Значение из узла XML, где только одно значение соответствует указанному выражению XPath |
| [<xml-node1, ><, ...] -or- [><>, <value2>, ...] | Array | Массив с узлами XML или значениями, которые соответствуют указанному выражению XPath |
Пример 1
Предположим, что у вас есть следующая строка XML 'items':
<?xml version="1.0"?>
<produce>
<item>
<name>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
В этом примере передается выражение XPath '/produce/item/name/text()', чтобы найти узлы, соответствующие узлу <name></name> в строке XML 'items', а затем возвращается массив со значениями узла:
xpath(xml(parameters('items')), '/produce/item/name/text()')
В примере также используется функция parameters() для получения XML-строки из 'items' и преобразования строки в формат XML с помощью функции XML().
Вот массив результатов, заполненный значениями узлов, которые соответствуют <name></name>:
[ Gala, Honeycrisp ]
Пример 2
За основу взять пример 1. Здесь передается выражение XPath '/produce/item/name[1]', чтобы найти первый элемент name, который является дочерним для item.
xpath(xml(parameters('items')), '/produce/item/name[1]')
Ниже приведен результат: Gala
пример 3
Следуя примеру 1, в этом примере используется выражение XPath '/produce/item/name[last()]', чтобы найти последний элемент name, который является дочерним для элемента item.
xpath(xml(parameters('items')), '/produce/item/name[last()]')
Ниже приведен результат: Honeycrisp
Пример 4
Предположим, что строка XML items также содержит атрибуты expired='true' и expired='false':
<?xml version="1.0"?>
<produce>
<item>
<name expired='true'>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name expired='false'>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
В этом примере передается выражение XPath '//name[@expired]', чтобы найти все элементы name с атрибутом expired:
xpath(xml(parameters('items')), '//name[@expired]')
Ниже приведен результат: [ Gala, Honeycrisp ]
Пример 5
Предположим, что строка XML items содержит только атрибут expired = 'true':
<?xml version="1.0"?>
<produce>
<item>
<name expired='true'>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
В этом примере передается выражение XPath '//name[@expired = 'true']', чтобы найти все элементы name с атрибутом expired = 'true':
xpath(xml(parameters('items')), '//name[@expired = 'true']')
Ниже приведен результат: [ Gala ]
Пример 6
Предположим, что строка XML items также содержит следующие атрибуты:
expired='true' price='12'expired='false' price='40'
<?xml version="1.0"?>
<produce>
<item>
<name expired='true' price='12'>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name expired='false' price='40'>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
В этом примере передается выражение XPath '//name[@price>35]', чтобы найти все элементы name с атрибутом price > 35:
xpath(xml(parameters('items')), '//name[@price>35]')
Ниже приведен результат: Honeycrisp
Пример 7
Предположим, что строка XML items та же, что и в примере 1:
<?xml version="1.0"?>
<produce>
<item>
<name>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
В этом примере находятся узлы, которые соответствуют узлу <count></count>, а их значения передаются с помощью функции sum():
xpath(xml(parameters('items')), 'sum(/produce/item/count)')
Ниже приведен результат: 30
Пример 8
Предположим, что в этом примере у вас есть строка XML, которая включает пространство имен XML документа xmlns="https://contoso.com":
<?xml version="1.0"?><file xmlns="https://contoso.com"><location>Paris</location></file>
Эти выражения используют выражение XPath /*[name()="file"]/*[name()="location"] или /*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"], чтобы найти узлы, соответствующие узлу <location></location>. В этих примерах показан синтаксис, который используется в конструкторе или в редакторе выражений:
xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')xpath(xml(body('Http')), '/*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"]')
Вот узел результата, соответствующий узлу <location></location>:
<location xmlns="https://contoso.com">Paris</location>
Important
Если вы работаете в режиме кода, экранируйте двойные кавычки (") обратной косой чертой (\). Например, при сериализации выражения в виде строки JSON необходимо использовать escape-символы. Тем не менее, если вы работаете в конструкторе или редакторе выражений, не нужно экранировать двойные кавычки, поскольку символ обратной косой черты добавляется в определениях автоматически.
Представление кода:
xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')Редактор выражений:
xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')
Пример 9
За основу взят пример 8. Здесь используется выражение XPath 'string(/*[name()="file"]/*[name()="location"])', чтобы найти значение узла <location></location>:
xpath(xml(body('Http')), 'string(/*[name()="file"]/*[name()="location"])')
Ниже приведен результат: Paris
Дальнейшие шаги
Дополнительные сведения о языке определения рабочего процесса.