次の方法で共有


Azure Logic Apps と Power Automate のワークフローの式の関数のリファレンス ガイド

適用対象: Azure Logic Apps (従量課金 + 標準)

Azure Logic Apps および Power Automate のワークフロー定義では、ワークフローの行開始時にまだ存在しない可能性のある実行時アクションから値を取得する式があります。 To reference or process the values in these expressions, you can use expression functions provided by the Workflow Definition Language.

Note

このリファレンス ガイドは、Azure Logic Apps と Power Automate の両方に適用されますが、Azure Logic Apps のドキュメントに記載されています。 ガイドはロジック アプリ ワークフローを指しますが、これらの関数は Power Automate のフローと Azure Logic Apps のワークフローの両方で機能します。 Power Automate の関数と式の詳細については、「 条件での式の使用」を参照してください。

For example, you can calculate values by using math functions, such as the add() function, when you want the sum from integers or floats. 関数を使用して実行できるタスクの他の例を示します。

Task Function syntax Result
小文字の形式で文字列を返します。 toLower('<text>')

例: toLower('Hello')
"hello"
グローバル一意識別子 (GUID) を返します。 guid() "c2ecc88d-88c8-4096-912c-d6f2e2b138ce"

一般的な目的に基づいて関数を見つけるには、次の表を確認します。 Or, for detailed information about each function, see the alphabetical list.

式の関数

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

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

式で関数を使用できる他の一般的な方法を次に示します。

Task 式の中の関数構文
項目を関数に渡すことにより、項目に関する作業を実行します。 "@<functionName>(<item>)"
1. Get the parameterName's value by using the nested parameters() function.
2. Perform work with the result by passing that value to functionName.
"@<functionName>(parameters('<parameterName>'))"
1. Get the result from the nested inner function functionName.
2. Pass the result to the outer function functionName2.
"@<functionName2>(<functionName>(<item>))"
1. Get the result from functionName.
2. Given that the result is an object with property propertyName, get that property's value.
"@<functionName>(<item>).<propertyName>"

たとえば、concat() 関数はパラメーターとして 2 つ以上の文字列値を受け取ることができます。 この関数は、これらの文字列を 1 つの文字列に結合します。 たとえば "Sophia" と "Owen" のような文字列リテラルを渡して、結合された文字列 "SophiaOwen" を取得できます。

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

または、パラメーターから文字列値を取得することができます。 次の例では、各 parameters() パラメーターおよび concat() パラメーターと firstName パラメーターで、lastName 関数を使っています。 その後、結果の文字列を concat() 関数に渡して、結合された文字列 ("SophiaOwen" など) を取得します。

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

どちらの例でも、customerName プロパティに結果を割り当てています。

関数の使用に関する考慮事項

  • デザイナーは、デザイン時に関数パラメーターとして使用されるランタイム式を評価しません。 デザイナーでは、すべての式をデザイン時に完全に評価できる必要があります。

  • 関数パラメーターは、左から右に評価されます。

  • パラメーターの定義の構文において、パラメーターの後に疑問符 (?) が付いている場合は、そのパラメーターが省略可能であることを意味します。 For example, see getFutureTime().

  • プレーンテキストでインラインで表示される関数式では、代わりに式の補間形式を使用するために中かっこ ({}) を囲む必要があります。 この形式は、解析の問題を回避するのに役立ちます。 関数式がプレーン テキストでインラインで表示されない場合は、中かっこは必要ありません。

    次の例は、正しい構文と正しくない構文を示しています。

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

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

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

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

String functions

To work with strings, you can use these string functions and also some collection functions. 文字列関数は、文字列でのみ機能します。

String function Task
chunk 文字列またはコレクションを等しい長さのチャンクに分割します。
concat 2 つ以上の文字列を結合し、結合された文字列を返します。
endsWith 文字列が指定した部分文字列で終わるかどうかを確認します。
formatNumber 指定された形式に基づいて数値を文字列として返します
guid 文字列としてグローバル一意識別子 (GUID) を生成します。
indexOf 部分文字列の開始位置を返します。
isFloat 文字列が浮動小数点数かどうかを示すブール値を返します。
isInt 文字列が整数かどうかを示すブール値を返します。
lastIndexOf 部分文字列の最後の出現箇所の開始位置を返します。
length 文字列または配列内の項目の数を返します。
nthIndexOf Return the starting position or index value where the nth occurrence of a substring appears in a string.
replace 部分文字列を指定した文字列で置換し、更新された文字列を返します。
slice 開始およびは終了位置または値を指定して部分文字列を返します。 See also substring.
split 元の文字列で指定された区切り文字に基づいたより大きい文字列から、コンマで区切られた部分文字列を含む配列を返します。
startsWith 文字列が特定の部分文字列で始まるかどうかを確認します。
substring 文字列から、指定された位置から始まる文字を返します。 See also slice.
toLower 小文字の形式で文字列を返します。
toUpper 大文字の形式で文字列を返します。
trim 文字列から先頭と末尾の空白を削除し、更新された文字列を返します。

Collection functions

コレクション(一般に配列、文字列、場合によっては辞書)を操作するには、これらのコレクション関数を使用できます。

Collection function Task
chunk 文字列またはコレクションを等しい長さのチャンクに分割します。
contains コレクションに特定の項目があるかどうかを確認します。
empty コレクションが空かどうかを調べます。
first コレクションから最初の項目を返します。
intersection Return a collection that has only the common items across the specified collections.
item この関数が配列に対する繰り返しアクションの内部に出現した場合、アクションの現在の繰り返しの間に配列の現在の項目を返します。
join Return a string that has all the items from an array, separated by the specified character.
last コレクションから最後の項目を返します。
length 文字列または配列内の項目の数を返します。
reverse 配列内の項目の順序を逆にします。
skip コレクションの先頭から項目を削除し、"他のすべて" の項目を返します。
sort コレクション内の項目を並べ替えます。
take コレクションの先頭から項目を返します。
union Return a collection that has all the items from the specified collections.

論理比較関数

条件を操作したり、値と式の結果を比較したり、さまざまな種類のロジックを評価したりするには、これらの論理比較関数を使用できます。 For the full reference about each function, see the alphabetical list.

Note

論理関数または条件を使用して値を比較する場合、null 値は空の文字列 ("") 値に変換されます。 条件の動作は、null 値ではなく空の文字列と比較すると異なります。 For more information, see the string() function.

論理比較関数 Task
and すべての式が true かどうかを確認します。
equals 両方の値が等価であるかどうかを確認します。
greater 最初の値が 2 番目の値より大きいかどうかを確認します。
greaterOrEquals 最初の値が 2 番目の値以上かどうかを確認します。
if 式が true か false かを確認します。 結果に基づいて、指定した値を返します。
isFloat 文字列が浮動小数点数かどうかを示すブール値を返します。
isInt 文字列が整数かどうかを示すブール値を返します。
less 最初の値が 2 番目の値より小さいかどうかを確認します。
lessOrEquals 最初の値が 2 番目の値以下かどうかを確認します。
not 式が false かどうかを確認します。
or 少なくとも 1 つの式が true かどうかを確認します。

Conversion functions

値の型または形式を変更するには、これらの変換関数を使用できます。 たとえば、値をブール値から整数に変更できます。 Azure Logic Apps が変換時にコンテンツ タイプを処理する方法の詳細については、「コンテンツ タイプを処理する」を参照してください。 For the full reference about each function, see the alphabetical list.

Note

Azure Logic Apps を使用すると、base64 エンコードおよびデコードが自動的または暗黙的に実行されるため、エンコードおよびデコード関数を使用してこれらの変換を手動で実行する必要はありません。 ただし、デザイナーでこれらの関数を使用すると、デザイナーで予期しないレンダリング動作が発生する可能性があります。 関数のパラメーター値を編集しない場合、これらの動作は関数の可視性のみに影響を与え、その結果には影響しません。編集した場合は、関数とその結果がコードから削除されます。 詳細については、「暗黙的なデータ型の変換」を参照してください。

Conversion function Task
array 指定した 1 つの入力から配列を返します。 For multiple inputs, see createArray.
base64 文字列の base64 エンコード バージョンを返します。
base64ToBinary base64 エンコード文字列のバイナリ バージョンを返します。
base64ToString base64 エンコード文字列の文字列バージョンを返します。
binary 入力値のバイナリ バージョンを返します。
bool 入力値のブール値バージョンを返します。
createArray 複数の入力から配列を返します。
dataUri 入力値のデータ URI を返します。
dataUriToBinary データ URI のバイナリ バージョンを返します。
dataUriToString データ URI の文字列バージョンを返します。
decimal 10 進文字列の 10 進数を返します。
decodeBase64 base64 エンコード文字列の文字列バージョンを返します。
decodeDataUri データ URI のバイナリ バージョンを返します。
decodeUriComponent エスケープ文字をデコード バージョンに置き換えた文字列を返します。
encodeUriComponent URL の安全でない文字をエスケープ文字に置き換えた文字列を返します。
float 入力値の浮動小数点数を返します。
int 文字列の整数バージョンを返します。
json 文字列または XML に対する JSON (JavaScript Object Notation) 型の値またはオブジェクトを返します。
string 入力値の文字列バージョンを返します。
uriComponent URL の安全でない文字がエスケープ文字に置き換えられた、入力値の URI エンコード バージョンを返します。
uriComponentToBinary URI エンコード文字列のバイナリ バージョンを返します。
uriComponentToString URI エンコード文字列の文字列バージョンを返します。
xml 文字列の XML バージョンを返します。

暗黙的なデータ型の変換

Azure Logic Apps を使用すると、一部のデータ型間の変換が自動的または暗黙的に行われるため、これらの変換を手動で行う必要はありません。 たとえば、入力として文字列が想定されている場所で文字列以外の値を使用すると、Azure Logic Apps によって文字列以外の値が文字列に自動的に変換されます。

たとえば、トリガーから出力として数値が返されるとします。

triggerBody()?['123']

URL などの文字列入力が想定されている場所でこの数値出力を使用する場合、Azure Logic Apps によって中かっこ ({}) 表記を使用して値が文字列に自動的に変換されます。

@{triggerBody()?['123']}

Base64 のエンコードとデコード

Azure Logic Apps を使用すると、base64 エンコードまたはデコードが自動的または暗黙的に実行されるため、対応する関数を使用してこれらの変換を手動で実行する必要はありません。

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

Note

デザイナーを使用しているときに、これらの関数のいずれかを直接にトリガやアクション、または式エディ タを使用して手動で追加し、デザイナーから移動し、デザイナーに戻ると、関数はデザイナーから消え、パラメータ値だけが残ります。 この動作は、関数のパラメーター値を編集せずに、この関数を使用するトリガーまたはアクションを選択した場合にも発生します。 この結果は、関数の可視性だけに影響し、効果には影響しません。 コード ビューでは、関数への影響はありません。 ただし、関数のパラメーター値を編集すると、関数とその結果が両方ともコード ビューから削除され、関数のパラメーター値だけが残されます。

Math functions

整数と浮動小数点数を操作するには、以下の算術関数を使用できます。 For the full reference about each function, see the alphabetical list.

Math function Task
add 2 つの数値を加算した結果を返します。
div 2 つの数値を除算した結果を返します。
max 数値のセットまたは配列から最大の値を返します。
min 数値のセットまたは配列から最小の値を返します。
mod 2 つの数値を除算した剰余を返します。
mul 2 つの数値を乗算した積を返します。
rand 指定された範囲からランダムな整数を返します。
range 指定した整数から始まる整数の配列を返します。
sub 1 番目の数値から 2 番目の数値を減算して、結果を返します。

日付と時刻関数

日付と時刻を操作するには、以下の日付と時刻の関数を使用できます。 For the full reference about each function, see the alphabetical list.

日付または時刻の関数 Task
addDays タイムスタンプに日数を加算します。
addHours タイムスタンプに時間を加算します。
addMinutes タイムスタンプに分を加算します。
addSeconds タイムスタンプに秒を加算します。
addToTime タイムスタンプに指定した時間単位を加算します。 See also getFutureTime.
convertFromUtc タイムスタンプを協定世界時 (UTC) からターゲット タイム ゾーンに変換します。
convertTimeZone タイムスタンプをソース タイム ゾーンからターゲット タイム ゾーンに変換します。
convertToUtc タイムスタンプをソース タイム ゾーンから協定世界時 (UTC) に変換します。
dateDifference 2 つの日付の差をタイムスパンとして返します。
dayOfMonth タイムスタンプから月コンポーネントの日付を返します。
dayOfWeek タイムスタンプから曜日を返します。
dayOfYear タイムスタンプから年の何日目かを返します。
formatDateTime タイムスタンプから日付を返します。
getFutureTime 現在のタイムスタンプと指定した時間単位を返します。 See also addToTime.
getPastTime 現在のタイムスタンプから指定した時間単位を引いた値を返します。 See also subtractFromTime.
parseDateTime タイムスタンプを含む文字列からタイムスタンプを返します。
startOfDay タイムスタンプの日の始まりを返します。
startOfHour タイムスタンプの時間の先頭を返します。
startOfMonth タイムスタンプの月の始まりを返します。
subtractFromTime タイムスタンプから時間単位の数を減算します。 See also getPastTime.
ticks 指定したタイムスタンプの ticks プロパティの値を返します。
utcNow 現在のタイムスタンプを文字列として返します。

Workflow functions

以下のワークフロー関数を使うと次のことができます。

  • 実行時にワークフロー インスタンスの詳細を取得します。
  • ロジック アプリまたはフローのインスタンス化に使われた入力を処理します。
  • トリガーやアクションからの出力を参照します。

たとえば、あるアクションからの出力を参照し、後のアクションでそのデータを使用できます。 For the full reference about each function, see the alphabetical list.

Workflow function Task
action 実行時に現在のアクションの出力を返すか、または他の JSON の名前と値のペアの値を返します。 See also actions.
actions 実行時にアクションの出力を返すか、または他の JSON の名前と値のペアの値を返します。 See also action.
body 実行時のアクションの body 出力を返します。
formDataMultiValues Create an array with the values that match a key name in form-data or form-encoded action outputs.
formDataValue Return a single value that matches a key name in an action's form-data or form-encoded output.
item この関数が配列に対する繰り返しアクションの内部に出現した場合、アクションの現在の繰り返しの間に配列の現在の項目を返します。
items この関数が Foreach ループまたは Until ループ内に出現した場合、指定したループから現在の項目を返します。
iterationIndexes この関数が Until ループ内に出現した場合、現在の繰り返しのインデックス値を返します。 この関数は、入れ子になった Until ループ内で使用できます。
listCallbackUrl トリガーまたはアクションを呼び出す "コールバック URL" を返します。
multipartBody 複数の部分を持つアクションの出力の特定の部分に対する本文を返します。
outputs 実行時のアクションの出力を返します。
parameters ワークフローの定義で記述されているパラメーターの値を返します。
result For_eachUntilScope など、指定されたスコープ付きアクション内の最上位レベルのアクションの入力と出力を返します。
trigger 実行時に、または他の JSON の名前と値のペアから、トリガーの出力を返します。 See also triggerOutputs and triggerBody.
triggerBody 実行時にトリガーの body 出力を返します。 See trigger.
triggerFormDataValue Return a single value matching a key name in form-data or form-encoded trigger outputs.
triggerMultipartBody トリガーの複数部分からなる出力内の特定の部分の本文を返します。
triggerFormDataMultiValues Create an array whose values match a key name in form-data or form-encoded trigger outputs.
triggerOutputs 実行時のトリガーの出力を返すか、または他の JSON の名前と値のペアの値を返します。 See trigger.
variables 指定した変数の値を返します。
workflow 実行時にワークフロー自体に関するすべての詳細を返します。

URI 解析関数

URI (Uniform Resource Identifier) を処理して、URI のさまざまなプロパティ値を取得します。以下の URI 解析関数を使用できます。 For the full reference about each function, see the alphabetical list.

URI 解析関数 Task
uriHost URI (Uniform Resource Identifier) の host 値を返します。
uriPath URI (Uniform Resource Identifier) の path 値を返します。
uriPathAndQuery URI (Uniform Resource Identifier) の pathquery の値を返します。
uriPort URI (Uniform Resource Identifier) の port 値を返します。
uriQuery URI (Uniform Resource Identifier) の query 値を返します。
uriScheme URI (Uniform Resource Identifier) の scheme 値を返します。

操作関数: JSON と XML

JSON オブジェクトと XML ノードを処理するには、以下の操作関数を使用できます。 For the full reference about each function, see the alphabetical list.

Manipulation function Task
addProperty JSON オブジェクトにプロパティとその値 (名前と値のペア) を追加し、更新されたオブジェクトを返します。
coalesce 1 つ以上のパラメーターから最初の null 以外の値を返します。
removeProperty JSON オブジェクトからプロパティを削除し、更新されたオブジェクトを返します。
setProperty JSON オブジェクトのプロパティの値を設定し、更新されたオブジェクトを返します。
xpath XML で XPath (XML Path Language) 式と一致するノードまたは値を調べて、一致するノードまたは値を返します。

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

すべての関数 - アルファベット順の一覧

このセクションでは、使用可能なすべての関数をアルファベット順に示します。

A

アクション

Return the current action's output at runtime, or values from other JSON name-and-value pairs, which you can assign to an expression. 既定では、この関数はアクション オブジェクト全体を参照しますが、必要に応じて値を取得するプロパティを指定することができます。 See also actions().

action() 関数は、次の場所でのみ使うことができます。

  • 元の unsubscribe 要求の結果にアクセスできるように、webhook アクションの subscribe プロパティ
  • アクションの trackedProperties プロパティ
  • アクションの do-until ループ条件
action()
action().outputs.body.<property>
Parameter Required タイプ Description
< property> No String The name for the action object's property whose value you want: name, startTime, endTime, inputs, outputs, status, code, trackingId, and clientTrackingId. Azure portal では、特定の実行履歴の詳細を調べることで、これらのプロパティを確認できます。 詳しくは、REST API のワークフロー実行アクションに関するページをご覧ください。
Return value タイプ Description
< action-output> String 現在のアクションまたはプロパティからの出力

actions

実行時のアクションの出力を返すか、または式に割り当てることができる他の JSON の名前と値のペアの値を返します。 既定では、この関数はアクション オブジェクト全体を参照しますが、必要に応じて値を取得するプロパティを指定することができます。 For shorthand versions, see body(). For the current action, see action().

Tip

actions() 関数では、出力が文字列として返されます。 返された値を JSON オブジェクトとして処理する必要がある場合は、先に文字列値を変換する必要があります。 JSON の解析アクションを使用して、文字列値を JSON オブジェクトに変換できます。

Note

以前は、actions() 関数を使うか、またはアクションが別のアクションからの出力を基にして実行したことを指定する場合は conditions 要素を使いました。 ただし、現在は、アクション間の依存関係を明示的に宣言するには、依存アクションの runAfter プロパティを使い必要があります。 runAfter プロパティについて詳しくは、runAfter プロパティを使ってエラーをキャッチして処理する方法に関するページをご覧ください。

actions('<actionName>')
actions('<actionName>').outputs.body.<property>
Parameter Required タイプ Description
< actionName> Yes String 出力を取得するアクション オブジェクトの名前
< property> No String The name for the action object's property whose value you want: name, startTime, endTime, inputs, outputs, status, code, trackingId, and clientTrackingId. Azure portal では、特定の実行履歴の詳細を調べることで、これらのプロパティを確認できます。 詳しくは、REST API のワークフロー実行アクションに関するページをご覧ください。
Return value タイプ Description
< action-output> String 指定したアクションまたはプロパティからの出力

Example

この例は、実行時に X アクション status から Get user プロパティの値を取得します。

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

次の結果が返されます。 "Succeeded"

add

2 つの数値を加算した結果を返します。

add(<summand_1>, <summand_2>)
Parameter Required タイプ Description
< summand_1>, <summand_2> Yes 整数、浮動小数点数、または混合 加算する数値
Return value タイプ Description
< result-sum> 整数または浮動小数点数 指定した数値を加算した結果

Example

この例は、指定した数値を加算します。

add(1, 1.5)

次の結果が返されます。 2.5

addDays

タイムスタンプに日数を加算します。

addDays('<timestamp>', <days>, '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< days> Yes Integer 追加する正または負の日数
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< updated-timestamp> String タイムスタンプに指定した日数を加えた値

Example 1

この例は、指定したタイムスタンプに 10 日を加算します。

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

次の結果が返されます。 "2018-03-25T00:00:00.0000000Z"

Example 2

この例は、指定したタイムスタンプから 5 日を減算します。

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

次の結果が返されます。 "2018-03-10T00:00:00.0000000Z"

addHours

タイムスタンプに時間を加算します。

addHours('<timestamp>', <hours>, '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< hours> Yes Integer 追加する正または負の時間数
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< updated-timestamp> String タイムスタンプに指定した時間数を加えた値

Example 1

この例は、指定したタイムスタンプに 10 時間を加算します。

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

次の結果が返されます。 "2018-03-15T10:00:00.0000000Z"

Example 2

この例は、指定したタイムスタンプから 5 時間を減算します。

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

次の結果が返されます。 "2018-03-15T10:00:00.0000000Z"

addMinutes

タイムスタンプに分を加算します。

addMinutes('<timestamp>', <minutes>, '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< minutes> Yes Integer 追加する正または負の分数
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< updated-timestamp> String タイムスタンプに指定した分数を加えた値

Example 1

この例は、指定したタイムスタンプに 10 分を加算します。

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

次の結果が返されます。 "2018-03-15T00:20:00.0000000Z"

Example 2

この例は、指定したタイムスタンプから 5 分を減算します。

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

次の結果が返されます。 "2018-03-15T00:15:00.0000000Z"

addProperty

JSON オブジェクトにプロパティとその値 (名前と値のペア) を追加し、更新されたオブジェクトを返します。 実行時にプロパティが既に存在する場合、関数は失敗し、エラーをスローします。

addProperty(<object>, '<property>', <value>)
Parameter Required タイプ Description
< object> Yes Object プロパティを追加する JSON オブジェクト
< property> Yes String 追加するプロパティの名前
< value> Yes Any プロパティの値
Return value タイプ Description
< updated-object> Object 指定したプロパティを含む更新された JSON オブジェクト

親プロパティを既存のプロパティに追加するには、setProperty() 関数ではなく、addProperty() 関数を使用します。 それ以外の場合、関数は子オブジェクトだけを出力として返します。

setProperty(<object>, '<parent-property>', addProperty(<object>['<parent-property>'], '<child-property>', <value>)
Parameter Required タイプ Description
< object> Yes Object プロパティを追加する JSON オブジェクト
< parent-property> Yes String 子プロパティを追加する親プロパティの名前
< child-property> Yes String 追加する子プロパティの名前
< value> Yes Any 指定したプロパティに設定する値
Return value タイプ Description
< updated-object> Object プロパティが設定された更新後の JSON オブジェクト

Example 1

This example adds the middleName property to a JSON object, which is converted from a string to JSON by using the JSON() function. このオブジェクトには、プロパティ firstNamesurName が既に含まれています。 この関数は、指定された値を新しいプロパティに割り当て、更新されたオブジェクトを返します。

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

現在の JSON オブジェクトを次に示します。

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

更新された JSON オブジェクトを次に示します。

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

Example 2

This example adds the middleName child property to the existing customerName property in a JSON object, which is converted from a string to JSON by using the JSON() function. この関数は、指定された値を新しいプロパティに割り当て、更新されたオブジェクトを返します。

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

現在の JSON オブジェクトを次に示します。

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

更新された JSON オブジェクトを次に示します。

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

addSeconds

タイムスタンプに秒を加算します。

addSeconds('<timestamp>', <seconds>, '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< seconds> Yes Integer 追加する正または負の秒数
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< updated-timestamp> String タイムスタンプに指定した秒数を加えた値

Example 1

この例は、指定したタイムスタンプに 10 秒を加算します。

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

次の結果が返されます。 "2018-03-15T00:00:10.0000000Z"

Example 2

この例は、指定したタイムスタンプから 5 秒を減算します。

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

次の結果が返されます。 "2018-03-15T00:00:25.0000000Z"

addToTime

タイムスタンプに指定した時間単位を加算します。 See also getFutureTime().

addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< interval> Yes Integer 追加する指定した時間単位の数
< timeUnit> Yes String The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< updated-timestamp> String タイムスタンプに指定した時間単位数を加えた値

Example 1

この例は、指定したタイムスタンプに 1 日を加算します。

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

次の結果が返されます。 "2018-01-02T00:00:00.0000000Z"

Example 2

この例は、指定したタイムスタンプに 1 日を加算します。

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

省略可能な "D" 形式を使用して返される結果: "Tuesday, January 2, 2018"

and

すべての式が true かどうかを確認します。 すべての式が true の場合は true を返し、少なくとも 1 つの式が false の場合は false を返します。

and(<expression1>, <expression2>, ...)
Parameter Required タイプ Description
< expression1>, <expression2>, ... Yes ブール値 調べる式
Return value タイプ Description
正 または 誤 ブール値 すべての式が true の場合は true を返します。 少なくとも 1 つの式が false の場合は false を返します。

Example 1

これらの例は、指定したブール値がすべて true かどうかを調べます。

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

次の結果を返します。

  • 最初の例: どちらの式も true であるため、 trueを返します。
  • 2 番目の例: 1 つの式が false であるため、 falseを返します。
  • 3 番目の例:両方の式が false なので、false を返します。

Example 2

これらの例は、指定した式がすべて true かどうかを調べます。

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

次の結果を返します。

  • 最初の例: どちらの式も true であるため、 trueを返します。
  • 2 番目の例: 1 つの式が false であるため、 falseを返します。
  • 3 番目の例:両方の式が false なので、false を返します。

アレイ

指定した 1 つの入力から配列を返します。 For multiple inputs, see createArray().

array('<value>')
Parameter Required タイプ Description
< value> Yes String 配列を作成するための文字列
Return value タイプ Description
[<value>] Array 指定した 1 つの入力を含む配列

Example

この例は、"hello" という文字列から配列を作成します。

array('hello')

次の結果が返されます。 ["hello"]

B

base64

文字列の base64 エンコード バージョンを返します。

Note

Azure Logic Apps を使用すると、base64 エンコードおよびデコードが自動的または暗黙的に実行されるため、エンコードおよびデコード関数を使用してこれらの変換を手動で実行する必要はありません。 ただし、これらの関数を使用すると、デザイナーで予期しないレンダリング動作が発生する可能性があります。 関数のパラメーター値を編集しない場合、これらの動作は関数の可視性のみに影響を与え、その結果には影響しません。編集した場合は、関数とその結果がコードから削除されます。 詳細については、「Base64 のエンコードとデコード」を参照してください。

base64('<value>')
Parameter Required タイプ Description
< value> Yes String 入力文字列
Return value タイプ Description
< base64-string> String 入力文字列の base64 エンコード バージョン

Example

この例は、"hello" という文字列を base64 エンコード文字列に変換します。

base64('hello')

次の結果が返されます。 "aGVsbG8="

base64ToBinary

base64 エンコード文字列のバイナリ バージョンを返します。

Note

Azure Logic Apps を使用すると、base64 エンコードおよびデコードが自動的または暗黙的に実行されるため、エンコードおよびデコード関数を使用してこれらの変換を手動で実行する必要はありません。 ただし、デザイナーでこれらの関数を使用すると、デザイナーで予期しないレンダリング動作が発生する可能性があります。 関数のパラメーター値を編集しない場合、これらの動作は関数の可視性のみに影響を与え、その結果には影響しません。編集した場合は、関数とその結果がコードから削除されます。 詳細については、「Base64 のエンコードとデコード」を参照してください。

base64ToBinary('<value>')
Parameter Required タイプ Description
< value> Yes String 変換する base64 エンコード文字列
Return value タイプ Description
< binary-for-base64-string> String base64 エンコード文字列のバイナリ バージョン

Example

この例は、"aGVsbG8=" という base64 エンコード文字列をバイナリ文字列に変換します。

base64ToBinary('aGVsbG8=')

たとえば、HTTP アクションを使用して要求を送信しているとします。 base64 でエンコードされた文字列を base64ToBinary() でバイナリ データに変換し、要求でそのデータをコンテンツ タイプ application/octet-stream を使用して送信できます。

base64ToString

base64 エンコード文字列の文字列バージョンを返し、実質的に base64 の文字列をデコードします。 Use this function rather than decodeBase64(), which is deprecated.

Note

Azure Logic Apps を使用すると、base64 エンコードおよびデコードが自動的または暗黙的に実行されるため、エンコードおよびデコード関数を使用してこれらの変換を手動で実行する必要はありません。 ただし、デザイナーでこれらの関数を使用すると、デザイナーで予期しないレンダリング動作が発生する可能性があります。 関数のパラメーター値を編集しない場合、これらの動作は関数の可視性のみに影響を与え、その結果には影響しません。編集した場合は、関数とその結果がコードから削除されます。 詳細については、「Base64 のエンコードとデコード」を参照してください。

base64ToString('<value>')
Parameter Required タイプ Description
< value> Yes String デコードする base64 エンコード文字列
Return value タイプ Description
< decoded-base64-string> String base64 エンコード文字列の文字列バージョン。

Example

この例は、"aGVsbG8=" という base64 エンコード文字列を単なる文字列に変換します。

base64ToString('aGVsbG8=')

次の結果が返されます。 "hello"

binary

文字列の base64 エンコード バイナリ バージョンを返します。

binary('<value>')
Parameter Required タイプ Description
< value> Yes String 変換する文字列
Return value タイプ Description
< binary-for-input-value> String 指定した文字列の base64 エンコード バイナリ バージョン

Example

たとえば、画像またはビデオ ファイルを返す HTTP アクションを使用している場合です。 binary() を使用して、値を base-64 でエンコードされたコンテンツ エンベロープ モデルに変換できます。 その後、Compose などの他のアクションでコンテンツ エンベロープを再利用できます。 この関数式を使用し、要求でコンテンツ タイプ application/octet-stream の文字列バイトを送信できます。

body

実行時のアクションの body 出力を返します。 actions('<actionName>').outputs.body の短縮形です。 See actions().

body('<actionName>')
Parameter Required タイプ Description
< actionName> Yes String 取得するアクションの body 出力の名前
Return value タイプ Description
< action-body-output> String 指定したアクションからの body 出力

Example

この例は、X アクション body からの Get user 出力を取得します。

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 タイプ Description
< value> Yes Any ブール値に変換する値。

オブジェクトで bool() を使用している場合、オブジェクトの値はブール値に変換できる文字列か整数にする必要があります。

Return value タイプ Description
true または false ブール値 指定した値のブール値バージョン。

Outputs

これらの例では、bool() で入力がサポートされているさまざまな種類を示しています。

Input value タイプ Return value
bool(1) Integer true
bool(0) Integer false
bool(-1) Integer true
bool('true') String true
bool('false') String false

C

chunk

文字列または配列を等しい長さのチャンクに分割します。

chunk('<collection>', '<length>')
chunk([<collection>], '<length>')
Parameter Required タイプ Description
< collection> Yes 文字列、配列 分割するコレクション
< length> Yes 各チャンクの長さ
Return value タイプ Description
< collection> Array 指定した長さのチャンクの配列

Example 1

次の例は、文字列を長さ 10 のチャンクに分割します。

chunk('abcdefghijklmnopqrstuvwxyz', 10)

次の結果が返されます。 ['abcdefghij', 'klmnopqrst', 'uvwxyz']

Example 2

次の例は、配列を長さ 5 のチャンクに分割します。

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

次の結果が返されます。 [ [1,2,3,4,5], [6,7,8,9,10], [11,12] ]

結合する

1 つ以上のパラメーターから最初の null 以外の値を返します。 空の文字列、空の配列、空のオブジェクトは null ではありません。

coalesce(<object_1>, <object_2>, ...)
Parameter Required タイプ Description
< object_1>, <object_2>, ... Yes 任意、型が混在してもかまいません null かどうか調べる 1 つまたは複数の項目
Return value タイプ Description
< first-non-null-item> Any null ではない最初の項目または値。 すべてのパラメーターが null の場合、この関数は null を返します。

Example

これらの例は、指定した値から最初の null 以外の値を返し、すべての値が null のときは null を返します。

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

次の結果を返します。

  • 最初の例: true
  • 2 番目の例: "hello"
  • 3 番目の例: null

concat

2 つ以上の文字列を結合し、結合された文字列を返します。

concat('<text1>', '<text2>', ...)
Parameter Required タイプ Description
< text1>, <text2>, ... Yes String 結合する少なくとも 2 つの文字列
Return value タイプ Description
< text1text2...> String 入力文字列を結合して作成された文字列。



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

Note

Azure Logic Apps を使用すると、base64 エンコードおよびデコードが自動的または暗黙的に実行されるため、エンコードまたはデコードを必要とするデータと共に concat() 関数を使用するときに、これらの変換を手動で実行する必要はありません。

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

ただし、デザイナーでこの関数を使用すると、デザイナーで予期しないレンダリング動作が発生する可能性があります。 関数のパラメーター値を編集しない場合、これらの動作は関数の可視性のみに影響を与え、その結果には影響しません。編集した場合は、関数とその結果がコードから削除されます。 詳細については、「Base64 のエンコードとデコード」を参照してください。

Example

この例は、文字列 "Hello" と "World" を結合します。

concat('Hello', 'World')

次の結果が返されます。 "HelloWorld"

contains

コレクションに特定の項目があるかどうかを確認します。 アイテムが見つかった場合は true を返し、見つからない場合は false を返します。 この関数では大文字と小文字が区別されます。

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

具体的には、この関数は次のコレクション型で動作します。

  • A string to find a substring
  • An array to find a value
  • A dictionary to find a key
Parameter Required タイプ Description
< collection> Yes 文字列、配列、ディクショナリ チェックするコレクション
< value> Yes それぞれ文字列、配列、ディクショナリ 検索する項目
Return value タイプ Description
正 または 誤 ブール値 項目が見つかった場合は true を返します。 見つからない場合は false を返します。

Example 1

この例は、文字列 "hello world" で部分文字列 "world" を調べて、true を返します。

contains('hello world', 'world')

Example 2

この例は、文字列 "hello world" で部分文字列 "universe" を調べて、false を返します。

contains('hello world', 'universe')

convertFromUtc

タイムスタンプを協定世界時 (UTC) からターゲット タイム ゾーンに変換します。

convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< destinationTimeZone> Yes String ターゲット タイム ゾーンの名前。 タイム ゾーン名については、Microsoft Windows の既定のタイム ゾーンに関するページを参照してください。
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< converted-timestamp> String タイム ゾーンの UTC オフセットなしでターゲット タイム ゾーンに変換されたタイム スタンプ。

Example 1

この例は、タイムスタンプを指定したタイム ゾーンに変換します。

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

次の結果が返されます。 "2018-01-01T00:00:00.0000000"

Example 2

この例は、タイムスタンプを指定したタイム ゾーンに変換して形式を設定します。

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

次の結果が返されます。 "Monday, January 1, 2018"

convertTimeZone

タイムスタンプをソース タイム ゾーンからターゲット タイム ゾーンに変換します。

convertTimeZone('<timestamp>', '<sourceTimeZone>', '<destinationTimeZone>', '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< sourceTimeZone> Yes String ソース タイム ゾーンの名前。 タイム ゾーン名については、Microsoft Windows の既定のタイム ゾーンに関する記事を参照してください。ただし、タイム ゾーン名から句読点を削除することが必要な場合があります。
< destinationTimeZone> Yes String ターゲット タイム ゾーンの名前。 タイム ゾーン名については、Microsoft Windows の既定のタイム ゾーンに関する記事を参照してください。ただし、タイム ゾーン名から句読点を削除することが必要な場合があります。
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< converted-timestamp> String ターゲット タイム ゾーンに変換されたタイムスタンプ

Example 1

この例は、ソース タイム ゾーンをターゲット タイム ゾーンに変換します。

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

次の結果が返されます。 "2018-01-01T00:00:00.0000000"

Example 2

この例は、タイム ゾーンを指定したタイム ゾーンに変換して形式を設定します。

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

次の結果が返されます。 "Monday, January 1, 2018"

convertToUtc

タイムスタンプをソース タイム ゾーンから協定世界時 (UTC) に変換します。

convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< sourceTimeZone> Yes String ソース タイム ゾーンの名前。 タイム ゾーン名については、Microsoft Windows の既定のタイム ゾーンに関する記事を参照してください。ただし、タイム ゾーン名から句読点を削除することが必要な場合があります。
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< converted-timestamp> String UTC に変換されたタイムスタンプ

Example 1

この例は、タイムスタンプを UTC に変換します。

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

次の結果が返されます。 "2018-01-01T08:00:00.0000000Z"

Example 2

この例は、タイムスタンプを UTC に変換します。

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

次の結果が返されます。 "Monday, January 1, 2018"

createArray

複数の入力から配列を返します。 For single input arrays, see array().

createArray('<object1>', '<object2>', ...)
Parameter Required タイプ Description
< object1>, <object2>, ... Yes 任意、ただし混在していてはなりません 配列を作成する少なくとも 2 つの項目
Return value タイプ Description
[<object1>, <object2>, ...] Array すべての入力項目から作成された配列

Example

この例は、以下の入力から配列を作成します。

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

次の結果が返されます。 ["h", "e", "l", "l", "o"]

D

dataUri

文字列のデータ URI (Uniform Resource Identifier) を返します。

dataUri('<value>')
Parameter Required タイプ Description
< value> Yes String 変換する文字列
Return value タイプ Description
< data-uri> String 入力文字列に対するデータ URI

Example

この例は、"hello" という文字列に対する URI を作成します。

dataUri('hello')

次の結果が返されます。 "data:text/plain;charset=utf-8;base64,aGVsbG8="

dataUriToBinary

データ URI (Uniform Resource Identifier) のバイナリ バージョンを返します。 Use this function rather than decodeDataUri(). どちらの関数も機能は同じですが、dataUriBinary() をお勧めします。

dataUriToBinary('<value>')
Parameter Required タイプ Description
< value> Yes String 変換するデータ URI
Return value タイプ Description
< binary-for-data-uri> String データ URI のバイナリ バージョン

Example

この例は、次のデータ URI のバイナリ バージョンを作成します。

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

返される結果:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

dataUriToString

データ URI (Uniform Resource Identifier) の文字列バージョンを返します。

dataUriToString('<value>')
Parameter Required タイプ Description
< value> Yes String 変換するデータ URI
Return value タイプ Description
< string-for-data-uri> String データ URI の文字列バージョン

Example

この例は、次のデータ URI の文字列を作成します。

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

次の結果が返されます。 "hello"

dateDifference

2 つのタイムスタンプの差をタイムスパンとして返します。 この関数は、startDate から endDate を引き、文字列形式のタイムスタンプとして結果を返します。

dateDifference('<startDate>', '<endDate>')
Parameter Required タイプ Description
< startDate> Yes String タイムスタンプを含む文字列
< endDate> Yes String タイムスタンプを含む文字列
Return value タイプ Description
< timespan> String 文字列形式のタイムスタンプで示す、2 つのタイムスタンプの差。 startDateendDate より新しい場合、結果は負の値になります。

Example

この例は、2 番目の値から最初の値を引きます。

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

次の結果が返されます。 "1268.00:00:00"

dayOfMonth

タイムスタンプから月の日を返します。

dayOfMonth('<timestamp>')
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
Return value タイプ Description
< day-of-month> Integer 指定したタイムスタンプの月の日付

Example

この例は、次のタイムスタンプから月の日付を返します。

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

次の結果が返されます。 15

dayOfWeek

タイムスタンプから曜日を返します。

dayOfWeek('<timestamp>')
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
Return value タイプ Description
< day-of-week> Integer 指定したタイムスタンプの曜日。日曜日は 0、月曜日は 1、などとなります。

Example

この例は、次のタイムスタンプから曜日を返します。

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

次の結果が返されます。 4

dayOfYear

タイムスタンプから年の日を返します。

dayOfYear('<timestamp>')
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
Return value タイプ Description
< day-of-year> Integer 指定したタイムスタンプの年初からの通算日数

Example

この例は、次のタイムスタンプから年の何日目かを返します。

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

次の結果が返されます。 74

10 進

文字列内の 10 進数を 10 進数として返します。 この関数は 10 進数の有効桁数を必要とするデータで作業しているとき使用できますが、論理比較関数算術関数の入力として使用することもできます。 To capture and preserve precision when you use the result from the decimal() function, wrap any decimal output with the string function. この使用法を次の例で示します。10 進数の結果を数値として使用すると、有効桁数が失われる可能性があります。

Note

この関数と Azure Logic Apps ランタイムのコンテキストで説明している 10 進数の有効桁数は、.NET の 10 進数の有効桁数と同じです。

decimal('<value>')
Parameter Required タイプ Description
< value> Yes String 文字列内の 10 進数
Return value タイプ Description
< decimal> Decimal Number 入力文字列の 10 進数

Example 1

この例では、数値として使用される 10 進数を作成します。

decimal('1.2345678912312131') // Returns 1.234567891231213.

Example 2

この例では 10 進数を作成して、結果を文字列に変換することで精度を維持します。

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

Example 3

この例では、算術関数を 2 つの 10 進数で使用して、結果を数値として使用します。

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

Example 4

この例では、算術関数を 2 つの 10 進数で使用して、結果を文字列に変換することで精度を維持します。

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

decodeBase64 (deprecated)

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

decodeDataUri

データ URI (Uniform Resource Identifier) のバイナリ バージョンを返します。 Consider using dataUriToBinary(), rather than decodeDataUri(). どちらの関数も機能は同じですが、dataUriToBinary() をお勧めします。

Note

Azure Logic Apps を使用すると、base64 エンコードおよびデコードが自動的または暗黙的に実行されるため、エンコードおよびデコード関数を使用してこれらの変換を手動で実行する必要はありません。 ただし、デザイナーでこれらの関数を使用すると、デザイナーで予期しないレンダリング動作が発生する可能性があります。 関数のパラメーター値を編集しない場合、これらの動作は関数の可視性のみに影響を与え、その結果には影響しません。編集した場合は、関数とその結果がコードから削除されます。 詳細については、「Base64 のエンコードとデコード」を参照してください。

decodeDataUri('<value>')
Parameter Required タイプ Description
< value> Yes String デコードするデータ URI 文字列
Return value タイプ Description
< binary-for-data-uri> String データ URI 文字列のバイナリ バージョン

Example

この例は、次のデータ URI のバイナリ バージョンを返します。

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

次の結果が返されます。 "hello"

decodeUriComponent

エスケープ文字をデコード バージョンに置き換えた文字列を返します。

decodeUriComponent('<value>')
Parameter Required タイプ Description
< value> Yes String エスケープ文字をデコードする文字列
Return value タイプ Description
< decoded-uri> String エスケープ文字がデコードされた更新後の文字列

Example

この例は、次の文字列内のエスケープ文字をデコード バージョンに置き換えます。

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

次の結果が返されます。 "https://contoso.com"

div

2 つの数値を除算した結果を返します。 To get the remainder result, see mod().

div(<dividend>, <divisor>)
Parameter Required タイプ Description
< dividend> Yes 整数または浮動小数点数 The number to divide by the divisor
< divisor> Yes 整数または浮動小数点数 The number that divides the dividend, but can't be zero
Return value タイプ Description
< quotient-result> 整数または浮動小数点数 1 番目の数値を 2 番目の数値で除算した結果。 被除数または除数が float 型である場合、結果は float 型になります。



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

Example 1

どちらの例も、整数型の値 2 を返します

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

Example 2

どちらの例も、float 型の値 2.2 を返します

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

E

encodeUriComponent

URL の安全でない文字がエスケープ文字に置き換えられた、文字列の URI (Uniform Resource Identifier) エンコード バージョンを返します。 Consider using uriComponent(), rather than encodeUriComponent(). どちらの関数も機能は同じですが、uriComponent() をお勧めします。

Note

Azure Logic Apps を使用すると、base64 エンコードおよびデコードが自動的または暗黙的に実行されるため、エンコードおよびデコード関数を使用してこれらの変換を手動で実行する必要はありません。 ただし、デザイナーでこれらの関数を使用すると、デザイナーで予期しないレンダリング動作が発生する可能性があります。 関数のパラメーター値を編集しない場合、これらの動作は関数の可視性のみに影響を与え、その結果には影響しません。編集した場合は、関数とその結果がコードから削除されます。 詳細については、「Base64 のエンコードとデコード」を参照してください。

encodeUriComponent('<value>')
Parameter Required タイプ Description
< value> Yes String URI エンコード形式に変換する文字列
Return value タイプ Description
< encoded-uri> String エスケープ文字が使われている URI エンコード文字列

Example

この例は、次の文字列の URI エンコード バージョンを作成します。

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

次の結果が返されます。 "https%3A%2F%2Fcontoso.com"

empty

コレクションが空かどうかを調べます。 コレクションが空の場合は true を返し、空でない場合は false を返します。

empty('<collection>')
empty([<collection>])
Parameter Required タイプ Description
< collection> Yes 文字列、配列、オブジェクト チェックするコレクション
Return value タイプ Description
正 または 誤 ブール値 コレクションが空の場合は true を返します。 空でない場合は false を返します。

Example

これらの例は、指定したコレクションが空かどうかを調べます。

empty('')
empty('abc')

次の結果を返します。

  • 1 番目の例:空の文字列を渡しているので、関数は true を返します。
  • 2 番目の例:文字列 "abc" を渡しているので、関数は false を返します。

endsWith

文字列が特定の部分文字列で終わるかどうかを確認します。 部分文字列が見つかった場合は true を返し、見つからない場合は false を返します。 この関数は、大文字と小文字を区別しません。

endsWith('<text>', '<searchText>')
Parameter Required タイプ Description
< text> Yes String チェックする文字列
< searchText> Yes String 検索する終了部分文字列
Return value タイプ Description
正 または 誤 ブール値 終了部分文字列が見つかった場合は true を返します。 見つからない場合は false を返します。

Example 1

次の使用例は、"hello world" 文字列が "world" 文字列で終わるかどうかを確認します。

endsWith('hello world', 'world')

次の結果が返されます。 true

Example 2

この例では、"hello world" 文字列が "universe" 文字列で終わるかどうかを確認します。

endsWith('hello world', 'universe')

次の結果が返されます。 false

equals

値、式、またはオブジェクトの両方が等しいかどうかを確認します。 両方が同等の場合は true を返し、同等でない場合は false を返します。

equals('<object1>', '<object2>')
Parameter Required タイプ Description
< object1>, <object2> Yes Various 比較する値、式、またはオブジェクト
Return value タイプ Description
正 または 誤 ブール値 両方が同等の場合は true を返します。 等価でない場合は false を返します。

Example

これらの例では、指定した入力が等価であるかどうかをチェックします。

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

次の結果を返します。

  • 最初の例: 両方の値が等価であるため、関数は trueを返します。
  • 2 番目の例: 両方の値は同等ではありません。そのため、関数は falseを返します。

F

first

文字列または配列から最初の項目を返します。

first('<collection>')
first([<collection>])
Parameter Required タイプ Description
< collection> Yes 文字列、配列 最初の項目を検索するコレクション
Return value タイプ Description
< first-collection-item> Any コレクション内の最初の項目

Example

これらの例は、以下のコレクション内の最初の項目を検索します。

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

次の結果を返します。

  • 最初の例: "h"
  • 2 番目の例: 0

float

浮動小数点数の文字列バージョンを実際の浮動小数点数に変換します。 この関数は、ロジック アプリ ワークフローや Power Automate フローなど、アプリにカスタム パラメーターを渡す場合にのみ使用できます。 ロケール固有の形式で表される浮動小数点文字列を変換するには、必要に応じて RFC 4646 ロケール コードを指定できます。

float('<value>', '<locale>'?)
Parameter Required タイプ Description
< value> Yes String 変換する有効な浮動小数点数を含む文字列。 最小値と最大値は、float データ型の制限と同じです。
< locale> No String 使用する RFC 4646 ロケール コード。

指定しない場合は、既定のロケールが使用されます。

If locale isn't a valid value, an error is generated that the provided locale isn't valid or doesn't have an associated locale.
Return value タイプ Description
< float-value> Float 指定した文字列の浮動小数点数。 最小値と最大値は、float データ型の制限と同じです。

Example 1

この例は、次の浮動小数点数の文字列バージョンを作成します。

float('10,000.333')

次の結果が返されます。 10000.333

Example 2

次の例は、次のドイツ語形式の浮動小数点数の文字列バージョンを作成します。

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

次の結果が返されます。 10000.333

formatDateTime

指定した形式のタイムスタンプを返します。

formatDateTime('<timestamp>', '<format>'?, '<locale>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.
< locale> No String 使用するロケール。 指定しない場合、値は en-us です。 If locale isn't a valid value, an error is generated.
Return value タイプ Description
< reformatted-timestamp> String 指定されている場合、指定された形式およびロケールの更新済みタイムスタンプ。

Examples

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

formDataMultiValues

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

formDataMultiValues('<actionName>', '<key>')
Parameter Required タイプ Description
< actionName> Yes String 出力が指定したキー値であるアクション
< key> Yes String 値を指定するキーの名前
Return value タイプ Description
[<array-with-key-values>] Array 指定したキーと一致するすべての値で構成される配列

Example

この例は、指定したアクションの form-data 出力または form-encoded 出力内の "Subject" キーの値から配列を作成します。

formDataMultiValues('Send_an_email', 'Subject')

配列で件名のテキストを返します (例: ["Hello world"])

formDataValue

Return a single value that matches a key name in an action's form-data or form-encoded output. 複数の一致が見つかった場合、関数はエラーをスローします。

formDataValue('<actionName>', '<key>')
Parameter Required タイプ Description
< actionName> Yes String 出力が指定したキー値であるアクション
< key> Yes String 値を指定するキーの名前
Return value タイプ Description
< key-value> String 指定したキーの値

Example

この例は、指定したアクションの form-data 出力または form-encoded 出力内の "Subject" キーの値から文字列を作成します。

formDataValue('Send_an_email', 'Subject')

文字列として件名のテキストを返します (例: "Hello world")

formatNumber

指定された形式に基づいた文字列として数値を返します。

formatNumber(<number>, <format>, <locale>?)
Parameter Required タイプ Description
< number> Yes 整数または倍精度浮動小数点数 形式を設定する値。
< format> Yes String 使用する形式を指定する複合形式文字列。 サポートされている数値形式文字列については、 によってサポートされているnumber.ToString(<format>, <locale>)を参照してください。
< locale> No String number.ToString(<format>, <locale>) によってサポートされているとおりに使用するロケール。 指定しない場合、値は en-us です。 If locale isn't a valid value, an error is generated.
Return value タイプ Description
< formatted-number> String 指定された数値を、指定した形式の文字列で表したもの。 この戻り値は int または float にキャストできます。

Example 1

数値 1234567890 の形式を設定するとします。 この例では、この数値の形式を文字列 "1,234,567,890.00" として設定します。

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

*Example 2"

数値 1234567890 の形式を設定するとします。 この例では、数値の形式を文字列 "1.234.567.890,00" に設定します。

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

Example 3

数値 17.35 の形式を設定するとします。 この例では、数値の形式を文字列 "$17.35" に設定します。

formatNumber(17.35, 'C2')

Example 4

数値 17.35 の形式を設定するとします。 この例では、数値の形式を文字列 "17,35 kr" に設定します。

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

G

getFutureTime

現在のタイムスタンプと指定した時間単位を返します。

getFutureTime(<interval>, <timeUnit>, <format>?)
Parameter Required タイプ Description
< interval> Yes Integer 加算する時間単位数
< timeUnit> Yes String The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< format> No String 単一の書式指定子またはカスタム書式パターン。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、指定された形式が無効であり、数値形式の文字列である必要があるというエラーが生成されます。
Return value タイプ Description
< updated-timestamp> String 現在のタイムスタンプに指定した時間単位数を加えた値

Example 1

現在のタイムスタンプが "2018-03-01T00:00:00.0000000Z" であるものとします。 この例は、そのタイムスタンプに 5 日を加算します。

getFutureTime(5, 'Day')

次の結果が返されます。 "2018-03-06T00:00:00.0000000Z"

Example 2

現在のタイムスタンプが "2018-03-01T00:00:00.0000000Z" であるものとします。 この例は、5 日を加算して、結果を "D" 形式に変換します。

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

次の結果が返されます。 "Tuesday, March 6, 2018"

getPastTime

現在のタイムスタンプから指定した時間単位を引いた値を返します。

getPastTime(<interval>, <timeUnit>, <format>?)
Parameter Required タイプ Description
< interval> Yes Integer 減算する指定した時間単位の数
< timeUnit> Yes String The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< format> No String 単一の書式指定子またはカスタム書式パターン。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、指定された形式が無効であり、数値形式の文字列である必要があるというエラーが生成されます。
Return value タイプ Description
< updated-timestamp> String 現在のタイムスタンプから指定した時間単位数を引いた値

Example 1

現在のタイムスタンプが "2018-02-01T00:00:00.0000000Z" であるものとします。 この例は、そのタイムスタンプから 5 日を減算します。

getPastTime(5, 'Day')

次の結果が返されます。 "2018-01-27T00:00:00.0000000Z"

Example 2

現在のタイムスタンプが "2018-02-01T00:00:00.0000000Z" であるものとします。 この例は、5 日を減算して、結果を "D" 形式に変換します。

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

次の結果が返されます。 "Saturday, January 27, 2018"

greater

最初の値が 2 番目の値より大きいかどうかを確認します。 最初の値が多い場合は true を返し、小さい場合は false を返します。

greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
Parameter Required タイプ Description
< value> Yes 整数、浮動小数点数、混合 2 番目の値より大きいかどうかをチェックする最初の値
< compareTo> Yes それぞれ整数、浮動小数点数、混合 比較値
Return value タイプ Description
正 または 誤 ブール値 最初の値が 2 番目の値より大きい場合は true を返します。 最初の値が 2 番目の値以下の場合は false を返します。

Example

次の例では、最初の値が 2 番目の値より大きいかどうかをチェックします。

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

次の結果を返します。

  • 最初の例: true
  • 2 番目の例: false

greaterOrEquals

最初の値が 2 番目の値以上かどうかを確認します。 最初の値が大きいか等しい場合は true を返し、最初の値が小さい場合は false を返します。

greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
Parameter Required タイプ Description
< value> Yes 整数、浮動小数点数、混合 2 番目の値より大きいか等しいかをチェックする最初の値
< compareTo> Yes それぞれ整数、浮動小数点数、混合 比較値
Return value タイプ Description
正 または 誤 ブール値 最初の値が 2 番目の値以上の場合は true を返します。 最初の値が 2 番目の値より小さい場合は false を返します。

Example

これらの例では、最初の値が 2 番目の値より大きいか等しいかをチェックします。

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

次の結果を返します。

  • 最初の例: true
  • 2 番目の例: false

guid

グローバル一意識別子 (GUID) を文字列として生成します (例: "c2ecc88d-88c8-4096-912c-d6f2e2b138ce")。

guid()

既定の "D" 形式 (ハイフンで区切られた 32 桁) 以外の GUID 形式を指定することもできます。

guid('<format>')
Parameter Required タイプ Description
< format> No String A single format specifier for the returned GUID. 規定の形式は "D" ですが、"N"、"D"、"B"、"P"、"X" も指定できます。
Return value タイプ Description
< GUID-value> String ランダムに生成された GUID

Example

この例は同じ GUID を生成しますが、32 桁で、ハイフンによって区切られており、かっこで囲まれています。

guid('P')

次の結果が返されます。 "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"

I

if

式が true か false かを確認します。 結果に基づいて、指定した値を返します。 パラメーターは左から右へ評価されます。

if(<expression>, <valueIfTrue>, <valueIfFalse>)
Parameter Required タイプ Description
< expression> Yes ブール値 チェックする式
< valueIfTrue> Yes Any 式が true の場合に返す値
< valueIfFalse> Yes Any 式が false の場合に返す値
Return value タイプ Description
< specified-return-value> Any 式が true か false かに基づいて返すように指定された値

Example

この例は、指定した式が true を返すため "yes" を返します。 それ以外の場合、この例は "no" を返します。

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

indexOf

部分文字列の開始位置またはインデックス値を返します。 この関数は大文字と小文字を区別せず、インデックスは値 0 から始まります。

indexOf('<text>', '<searchText>')
Parameter Required タイプ Description
< text> Yes String 検索する部分文字列を含む文字列
< searchText> Yes String 検索する部分文字列
Return value タイプ Description
< index-value> Integer 指定した部分文字列の開始位置またはインデックス値。

文字列が見つからない場合は、値 -1 を返します。

Example

この例は、文字列 "hello world" 内で部分文字列 "world" の開始インデックス値を検索します。

indexOf('hello world', 'world')

次の結果が返されます。 6

int

整数の文字列バージョンを実際の整数値に変換します。

int('<value>')
Parameter Required タイプ Description
< value> Yes String 変換する整数の文字列バージョン。 最小値と最大値は、整数データ型の制限と同じです。
Return value タイプ Description
< integer-result> Integer 指定した文字列の整数バージョン。 最小値と最大値は、整数データ型の制限と同じです。

Example

この例は、文字列 "10" の整数バージョンを作成します。

int('10')

次の結果が返されます。 10

isFloat

文字列が浮動小数点数かどうかを示すブール値を返します。 既定では、この関数は浮動小数点形式にインバリアント カルチャを使用します。 他のロケール固有の形式で表される浮動小数点数を識別するため、必要に応じて RFC 4646 ロケール コードを指定できます。

isFloat('<string>', '<locale>'?)
Parameter Required タイプ Description
< value> Yes String チェックする文字列
< locale> No String 使用する RFC 4646 ロケール コード
Return value タイプ Description
< boolean-result> ブール値 文字列が浮動小数点数かどうかを示すブール値

Example 1

次の例は、文字列がインバリアント カルチャの浮動小数点数かどうかを確認します。

isFloat('10,000.00')

次の結果が返されます。 true

Example 2

次の例は、文字列がドイツ語ロケールの浮動小数点数かどうかを確認します。

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

次の結果が返されます。 true

isInt

文字列が整数かどうかを示すブール値を返します。

isInt('<string>')
Parameter Required タイプ Description
< string> Yes String チェックする文字列
Return value タイプ Description
< boolean-result> ブール値 文字列が整数かどうかを示すブール値

Example

次の例は、文字列が整数かどうかを確認します。

isInt('10')

次の結果が返されます。 true

項目

配列に対する繰り返しアクションの内部で使うと、アクションの現在の繰り返しの間に配列の現在の項目を返します。 その項目のプロパティから値を取得することもできます。

item()
Return value タイプ Description
< current-array-item> Any アクションの現在の繰り返しに対する配列内の現在の項目

Example

この例は、for-each ループの現在の繰り返しの内部で "Send_an_email" アクションに対する現在のメッセージから body 要素を取得します。

item().body

items

for-each ループの各サイクルから現在の項目を返します。 この関数は、for-each ループの内部で使います。

items('<loopName>')
Parameter Required タイプ Description
< loopName> Yes String for-each ループの名前
Return value タイプ Description
< item> Any 指定した for-each ループの現在のサイクルからの項目

Example

この例は、指定した for-each ループから現在の項目を取得します。

items('myForEachLoopName')

iterationIndexes

Until ループ内の現在の繰り返しのインデックス値を返します。 この関数は、入れ子になった Until ループ内で使用できます。

iterationIndexes('<loopName>')
Parameter Required タイプ Description
< loopName> Yes String Until ループの名前
Return value タイプ Description
< index> Integer 指定された Until ループ内の現在の繰り返しのインデックス値

Example

この例では、カウンター変数を作成し、カウンター値が 5 に達するまで、Until ループ内の各繰り返しの間に 1 つずつその変数を増分します。 また、この例では各繰り返しの現在のインデックスを追跡する変数も作成します。 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

文字列または XML に対する JSON (JavaScript Object Notation) 型の値、オブジェクト、またはオブジェクトの配列を返します。

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

Important

出力の構造を定義する XML スキーマがない場合、入力によっては、予期される形式と大幅に異なる構造の結果が関数から返されることがあります。

この動作により、(重要なビジネス システムやソリューションなどの) 明確に定義されたコントラクトに出力が従う必要があるシナリオでは、この関数は適していません。

Parameter Required タイプ Description
< value> Yes 文字列、XML 変換する文字列または XML
Return value タイプ Description
< JSON-result> JSON ネイティブの型、オブジェクト、または配列 入力文字列または XML からの JSON ネイティブの型の値、オブジェクト、またはオブジェクトの配列。



- ルート要素に 1 つの子要素を含む XML を渡すと、この関数はその子要素に対して 1 つの JSON オブジェクトを返します。

- ルート要素に複数の子要素を含む XML を渡すと、この関数はそれらの子要素に対する JSON オブジェクトを含む 1 つの配列を返します。

- 文字列が null 値である場合、この関数は空のオブジェクトを返します。

Example 1

この例では、次の文字列を JSON 値に変換します。

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

次の結果が返されます。 [1, 2, 3]

Example 2

この例では、次の文字列を JSON に変換します。

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

返される結果:

{
  "fullName": "Sophia Owen"
}

Example 3

この例では、json() および xml() の各関数を使用して、ルート要素に 1 つの子要素を含む XML を、その子要素に対する person という名前の JSON オブジェクトに変換します。

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

返される結果:

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

Example 4

この例では、json() および xml() の各関数を使用して、ルート要素に複数の子要素を含む XML を、それらの子要素に対する JSON オブジェクトを含む person という名前の配列に変換します。

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

返される結果:

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

intersection

Return a collection that has only the common items across the specified collections. 結果に表示するには、この関数に渡されるすべてのコレクションに項目が含まれている必要があります。 1 つ以上の項目の名前が同じである場合、その名前の最後の項目が結果に表示されます。

intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
Parameter Required タイプ Description
< collection1>, <collection2>, ... Yes 配列またはオブジェクト、両方ともは不可 The collections from where you want only the common items
Return value タイプ Description
< common-items> それぞれ、配列またはオブジェクト 指定したコレクションすべてに共通する項目のみを含むコレクション

Example

この例は、次のすべての配列に共通する項目を検索します。

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

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

参加

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

join([<collection>], '<delimiter>')
Parameter Required タイプ Description
< collection> Yes Array 結合する項目を含む配列
< delimiter> Yes String 結果の文字列内の各文字の間に挿入される区切り記号
Return value タイプ Description
< char1><delimiter><char2><delimiter>... String 指定した配列内のすべての項目から作成された結果の文字列。



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

Example

この例は、指定した文字で区切られた、次の配列のすべての項目を含む文字列を作成します。

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

次の結果が返されます。 "a.b.c"

L

last

コレクションから最後の項目を返します。

last('<collection>')
last([<collection>])
Parameter Required タイプ Description
< collection> Yes 文字列、配列 最後の項目を検索するコレクション
Return value タイプ Description
< last-collection-item> それぞれ文字列、配列 コレクション内の最後の項目

Example

これらの例は、以下のコレクション内の最後の項目を検索します。

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

次の結果を返します。

  • 最初の例: "d"
  • 2 番目の例: 3

lastIndexOf

部分文字列の最後の出現箇所の開始位置またはインデックス値を返します。 この関数は大文字と小文字を区別せず、インデックスは値 0 から始まります。

lastIndexOf('<text>', '<searchText>')
Parameter Required タイプ Description
< text> Yes String 検索する部分文字列を含む文字列
< searchText> Yes String 検索する部分文字列
Return value タイプ Description
< ending-index-value> Integer 指定された部分文字列の最後の出現箇所の開始位置またはインデックス値。

文字列または部分文字列の値が空の場合は、以下の動作が発生します。

  • 文字列の値のみが空の場合、関数により -1 が返されます。

  • 文字列と部分文字列の値がどちらも空の場合、関数により 0 が返されます。

  • 部分文字列の値のみが空の場合、関数により文字列の長さから 1 を引いた値が返されます。

Examples

この例では、文字列 world 内の部分文字列 hello world hello world の最後の出現箇所の開始インデックス値を見つけます。 返される結果は 18 です。

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

この例には部分文字列のパラメーターがなく、入力文字列の値 (22) から 1 を引いた値は 0 より大きいため、23 の値が返されます。

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

length

コレクション内の項目の数を返します。

length('<collection>')
length([<collection>])
Parameter Required タイプ Description
< collection> Yes 文字列、配列 項目を数えるコレクション
Return value タイプ Description
< length-or-count> Integer コレクション内の項目数

Example

次の例では、これらのコレクション内の項目の数をカウントします。

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

返される結果: 4

less

最初の値が 2 番目の値より小さいかどうかを確認します。 最初の値が小さい場合は true を返し、最初の値が多い場合は false を返します。

less(<value>, <compareTo>)
less('<value>', '<compareTo>')
Parameter Required タイプ Description
< value> Yes 整数、浮動小数点数、混合 2 番目の値より小さいかどうかをチェックする最初の値
< compareTo> Yes それぞれ整数、浮動小数点数、混合 比較する項目
Return value タイプ Description
正 または 誤 ブール値 最初の値が 2 番目の値より小さい場合は true を返します。 最初の値が 2 番目の値以上の場合は false を返します。

Example

これらの例では、最初の値が 2 番目の値より小さいかどうかをチェックします。

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

次の結果を返します。

  • 最初の例: true
  • 2 番目の例: false

lessOrEquals

最初の値が 2 番目の値以下かどうかを確認します。 最初の値が以下の場合は true を返し、最初の値が多い場合は false を返します。

lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
Parameter Required タイプ Description
< value> Yes 整数、浮動小数点数、混合 2 番目の値以下かどうかをチェックする最初の値
< compareTo> Yes それぞれ整数、浮動小数点数、混合 比較する項目
Return value タイプ Description
正 または 誤 ブール値 最初の値が 2 番目の値以下の場合は true を返します。 最初の値が 2 番目の値より大きい場合は false を返します。

Example

これらの例では、最初の値が 2 番目の値より小さいか等しいかをチェックします。

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

次の結果を返します。

  • 最初の例: true
  • 2 番目の例: false

listCallbackUrl

トリガーまたはアクションを呼び出す "コールバック URL" を返します。 This function works only with triggers and actions for the HttpWebhook and ApiConnectionWebhook connector types, but not the Manual, Recurrence, HTTP, and APIConnection types.

listCallbackUrl()
Return value タイプ Description
< callback-URL> String トリガーまたはアクションに対するコールバック URL

Example

この例は、この関数が返すことのあるコールバック URL の例を示します。

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

M

max

両端を含む数値のリストまたは配列から最大の値を返します。

max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
Parameter Required タイプ Description
< number1>, <number2>, ... Yes 整数、浮動小数点数、または両方 最大値を取得する数値のセット
[<number1>, <number2>, ...] Yes 配列 - 整数、浮動小数点数、または両方 最大値を取得する数値の配列
Return value タイプ Description
< max-value> 整数または浮動小数点数 指定した配列内または数値セット内で最大の値

Example

これらの例は、数値のセットと配列から最大値を取得します。

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

返される結果: 3

min

数値のセットまたは配列から最小の値を返します。

min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
Parameter Required タイプ Description
< number1>, <number2>, ... Yes 整数、浮動小数点数、または両方 最小値を取得する数値のセット
[<number1>, <number2>, ...] Yes 配列 - 整数、浮動小数点数、または両方 最小値を取得する数値の配列
Return value タイプ Description
< min-value> 整数または浮動小数点数 指定した数値セット内または配列内で最小の値

Example

これらの例は、数値のセットと配列で最小の値を取得します。

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

返される結果: 1

mod

2 つの数値を除算した剰余を返します。 To get the integer result, see div().

mod(<dividend>, <divisor>)
Parameter Required タイプ Description
< dividend> Yes 整数または浮動小数点数 The number to divide by the divisor
< divisor> Yes 整数または浮動小数点数 The number that divides the dividend, but can't be zero
Return value タイプ Description
< modulo-result> 整数または浮動小数点数 1 番目の数値を 2 番目の数値で除算した剰余

Example 1

この例は、1 番目の数値を 2 番目の数値で除算します。

mod(3, 2)

次の結果が返されます。 1

Example 2

この例では、一方または両方の値が負の場合、結果は被除数の符号と一致することを示しています。

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

この例では、次の結果が返されます。

  • 最初の例: -1
  • 2 番目の例: 1

mul

2 つの数値を乗算した積を返します。

mul(<multiplicand1>, <multiplicand2>)
Parameter Required タイプ Description
< multiplicand1> Yes 整数または浮動小数点数 The number to multiply by multiplicand2
< multiplicand2> Yes 整数または浮動小数点数 The number that multiples multiplicand1
Return value タイプ Description
< product-result> 整数または浮動小数点数 1 番目の数値と 2 番目の数値を乗算した積

Example

これらの例は、1 番目の数値と 2 番目の数値を乗算します。

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

次の結果を返します。

  • 最初の例: 2
  • 2 番目の例: 3

multipartBody

複数の部分を持つアクションの出力の特定の部分に対する本文を返します。

multipartBody('<actionName>', <index>)
Parameter Required タイプ Description
< actionName> Yes String 複数の部分を含む出力を持つアクションの名前
< index> Yes Integer 取得する部分のインデックス値
Return value タイプ Description
< body> String 指定した部分の本文

N

not

式が false かどうかを確認します。 式が false の場合は true を返し、true の場合は false を返します。

not(<expression>)
Parameter Required タイプ Description
< expression> Yes ブール値 チェックする式
Return value タイプ Description
正 または 誤 ブール値 式が false の場合は true を返します。 式が true の場合は false を返します。

Example 1

これらの例では、指定した式が false であるかどうかをチェックします。

not(false)
not(true)

次の結果を返します。

  • 最初の例: 式は false であるため、関数は trueを返します。
  • 2 番目の例: 式は true であるため、関数は falseを返します。

Example 2

これらの例では、指定した式が false であるかどうかをチェックします。

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

次の結果を返します。

  • 最初の例: 式は false であるため、関数は trueを返します。
  • 2 番目の例: 式は true であるため、関数は falseを返します。

nthIndexOf

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

nthIndexOf('<text>', '<searchText>', <occurrence>)
Parameter Required タイプ Description
< text> Yes String 検索する部分文字列を含む文字列
< searchText> Yes String 検索する部分文字列
< occurrence> Yes Integer A number that specifies the nth occurrence of the substring to find. If occurrence is negative, start searching from the end.
Return value タイプ Description
< index-value> Integer The starting position or index value for the nth occurrence of the specified substring. If the substring isn't found or fewer than n occurrences of the substring exist, return -1.

Examples

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

O

or

少なくとも 1 つの式が true かどうかを確認します。 少なくとも 1 つの式が true の場合は true を返し、すべて false の場合は false を返します。

or(<expression1>, <expression2>, ...)
Parameter Required タイプ Description
< expression1>, <expression2>, ... Yes ブール値 調べる式
Return value タイプ Description
正 または 誤 ブール値 少なくとも 1 つの式が true の場合は true を返します。 すべての式が false の場合は false を返します。

Example 1

これらの例では、少なくとも 1 つの式が true かどうかをチェックします。

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

次の結果を返します。

  • 最初の例: 少なくとも 1 つの式が true であるため、関数は trueを返します。
  • 2 番目の例: どちらの式も false であるため、関数は falseを返します。

Example 2

これらの例では、少なくとも 1 つの式が true かどうかをチェックします。

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

次の結果を返します。

  • 最初の例: 少なくとも 1 つの式が true であるため、関数は trueを返します。
  • 2 番目の例: どちらの式も false であるため、関数は falseを返します。

outputs

実行時のアクションの出力を返します。

outputs('<actionName>')
Parameter Required タイプ Description
< actionName> Yes String 取得するアクションの出力の名前
Return value タイプ Description
< output> String 指定したアクションからの出力

Example

この例は、X アクション Get user からの出力を取得します。

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 タイプ Description
< parameterName> Yes String 値を取得するパラメーターの名前。
Return value タイプ Description
< parameter-value> Any 指定したパラメーターの値

Example

次のような JSON 値があるものとします。

{
  "fullName": "Sophia Owen"
}

この例は、指定したパラメーターの値を取得します。

parameters('fullName')

次の結果が返されます。 "Sophia Owen"

parseDateTime

タイムスタンプを含む文字列からタイムスタンプを返します。

parseDateTime('<timestamp>', '<locale>'?, '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< locale> No String 使用するロケール。

指定しない場合、既定のロケールは en-us です。

If locale isn't a valid value, an error is generated.
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information. 形式が指定されていない場合は、指定されたロケールと互換性のある複数の形式で解析を試みます。 形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< parsed-timestamp> String The parsed timestamp in "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) format, which complies with ISO 8601 and preserves time zone information.

Examples

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

R

rand

指定した範囲からランダムな整数を返します。これは、開始端でのみ含まれます。

rand(<minValue>, <maxValue>)
Parameter Required タイプ Description
< minValue> Yes Integer 範囲に含まれる最小の整数
< maxValue> Yes Integer 関数が返すことのできる範囲内で最も大きい整数の次の整数
Return value タイプ Description
< random-result> Integer 指定した範囲から返されるランダムな整数

Example

この例は、指定した範囲 (最大値は除きます) からランダムな整数を取得します。

rand(1, 5)

結果として次のいずれかの整数が返ります: 1234

範囲

指定した整数から始まる整数の配列を返します。

range(<startIndex>, <count>)
Parameter Required タイプ Description
< startIndex> Yes Integer 最初の項目として配列を開始する整数値
< count> Yes Integer 配列内の整数の数。 count パラメーター値は、10 万を超えない正の整数である必要があります。



Note: The sum of the startIndex and count values must not exceed 2,147,483,647.
Return value タイプ Description
[<range-result>] Array 指定したインデックスから始まる整数の配列

Example

この例は、指定したインデックスから始まり、指定された数の整数を含む、整数の配列を作成します。

range(1, 4)

次の結果が返されます。 [1, 2, 3, 4]

removeProperty

オブジェクトからプロパティを削除し、更新されたオブジェクトを返します。 削除しようとしたプロパティが存在しない場合、この関数は元のオブジェクトを返します。

removeProperty(<object>, '<property>')
Parameter Required タイプ Description
< object> Yes Object プロパティを削除する JSON オブジェクト
< property> Yes String 削除するプロパティの名前
Return value タイプ Description
< updated-object> Object 指定したプロパティを含まない更新された JSON オブジェクト

既存のプロパティから子プロパティを削除するには、次の構文を使用します。

removeProperty(<object>['<parent-property>'], '<child-property>')
Parameter Required タイプ Description
< object> Yes Object プロパティを削除する JSON オブジェクト
< parent-property> Yes String 子プロパティを削除する親プロパティの名前
< child-property> Yes String 削除する子プロパティの名前
Return value タイプ Description
< updated-object> Object 子プロパティが削除された、更新済みの JSON オブジェクト

Example 1

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

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

現在の JSON オブジェクトを次に示します。

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

更新された JSON オブジェクトを次に示します。

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

Example 2

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

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

現在の JSON オブジェクトを次に示します。

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

更新された JSON オブジェクトを次に示します。

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

置換

部分文字列を指定した文字列に置き換え、結果文字列を返します。 この関数では大文字と小文字が区別されます。

replace('<text>', '<oldText>', '<newText>')
Parameter Required タイプ Description
< text> Yes String 置換する部分文字列を含む文字列
< oldText> Yes String 置換前の部分文字列
< newText> Yes String 置換後の文字列
Return value タイプ Description
< updated-text> String 部分文字列を置換した後の更新された文字列

部分文字列が見つからない場合は、元の文字列を返します。

Example

この例は、文字列 "the old string" で部分文字列 "old" を検索し、"old" を "new" に置き換えます。

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

次の結果が返されます。 "the new string"

result

指定されたスコープ付きアクション内の最上位レベルのアクション (For_eachUntilScope アクションなど) からの結果を返します。 result() 関数は、単一のパラメーター (スコープの名前) を受け取り、そのスコープ内の第 1 レベルのアクションの情報を含んだ配列を返します。 これらのアクションのオブジェクトには、actions() 関数によって返される属性と同じ属性 (アクションの開始時刻、終了時刻、状態、入力、相関 ID、出力など) が含まれます。

Note

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

たとえば、この関数を使用すると、失敗したアクションの結果を取得して、例外の診断や処理に役立てることができます。 詳細については「エラーのコンテキストと結果を取得する」をご覧ください。

result('<scopedActionName>')
Parameter Required タイプ Description
< scopedActionName> Yes String スコープ付きアクションの名前です。最上位レベルのアクションの入力と出力がこのスコープに含まれます
Return value タイプ Description
< array-object> Array object 指定されたスコープ内にある各最上位アクションの入力と出力の配列を格納した配列

Example

この例では、For_each アクションで result() 関数を使用して、Compose ループ内にある HTTP アクションの各繰り返しからの入力と出力を返します。

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

以下に、返される配列の例を示します。ここで、外側の outputs オブジェクトに、For_each アクション内にあるアクションの各繰り返しからの入力と出力が格納されています。

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

reverse

コレクション内の項目の順序を逆にします。 When you use this function with sort(), you can sort a collection in descending order.

reverse([<collection>])
Parameter Required タイプ Description
< collection> Yes Array 順序を逆にするコレクション
Return value タイプ Description
[<updated-collection>] Array 順序を逆にしたコレクション

Example

次の例は、整数の配列の順序を逆にします。

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

次の配列を返します: [3,2,1,0]

S

setProperty

JSON オブジェクトのプロパティの値を設定し、更新されたオブジェクトを返します。 設定しようとしたプロパティが存在しない場合、そのプロパティがオブジェクトに追加されます。 To add a new property, use the addProperty() function.

setProperty(<object>, '<property>', <value>)
Parameter Required タイプ Description
< object> Yes Object プロパティを設定する JSON オブジェクト
< property> Yes String 設定する既存または新規のプロパティの名前
< value> Yes Any 指定したプロパティに設定する値

子オブジェクト内に子プロパティを設定するには、入れ子になった setProperty() 呼び出しを代わりに使用します。 それ以外の場合、関数は子オブジェクトだけを出力として返します。

setProperty(<object>, '<parent-property>', setProperty(<object>['parentProperty'], '<child-property>', <value>))
Parameter Required タイプ Description
< object> Yes Object プロパティを設定する JSON オブジェクト
< parent-property> Yes String 子プロパティを設定する親プロパティの名前
< child-property> Yes String 設定する子プロパティの名前
< value> Yes Any 指定したプロパティに設定する値
Return value タイプ Description
< updated-object> Object プロパティが設定された更新後の JSON オブジェクト

Example 1

This example sets the surName property in a JSON object, which is converted from a string to JSON by using the JSON() function. この関数は、指定された値をこのプロパティに割り当て、更新されたオブジェクトを返します。

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

現在の JSON オブジェクトを次に示します。

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

更新された JSON オブジェクトを次に示します。

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

Example 2

This example sets the surName child property for the customerName parent property in a JSON object, which is converted from a string to JSON by using the JSON() function. この関数は、指定された値をこのプロパティに割り当て、更新されたオブジェクトを返します。

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

現在の JSON オブジェクトを次に示します。

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

更新された JSON オブジェクトを次に示します。

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

スキップ

コレクションの先頭から項目を削除し、"他のすべて" の項目を返します。

skip([<collection>], <count>)
Parameter Required タイプ Description
< collection> Yes Array 項目を削除するコレクション
< count> Yes Integer 先頭から削除する項目の数を示す正の整数
Return value タイプ Description
[<updated-collection>] Array 指定した項目を削除した後の更新されたコレクション

Example

この例は、指定した配列の先頭から 1 つの項目 (番号 0) を削除します。

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

そして、残りの項目を含む配列 [1,2,3] を返します。

スライス

開始およびは終了位置または値を指定して部分文字列を返します。 See also substring().

slice('<text>', <startIndex>, <endIndex>?)
Parameter Required タイプ Description
< text> Yes String 検索する部分文字列を含む文字列
< startIndex> Yes Integer 部分文字列の検索開始位置の 0 から始まる開始位置または値

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

- If startIndex is negative, start searching at the index value that's the sum of the string length and startIndex.
< endIndex> No Integer 部分文字列の検索終了位置の 0 から始まる終了位置または値。 終了インデックス値にある文字は検索に含まれません。

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

- If endIndex is negative, end searching at the index value that the sum of the string length and endIndex.
Return value タイプ Description
< slice-result> String 見つかった部分文字列を含む新しい文字列

Examples

slice('Hello World', 2) // Returns 'llo World'.
slice('Hello World', 30) // Returns ''.
slice('Hello World', 10, 2) // Returns ''.
slice('Hello World', 0) // Returns 'Hello World'.
slice('Hello World', 2, 5) // Returns 'llo'.
slice('Hello World', 6, 20) // Returns 'World'.
slice('Hello World', -2) // Returns 'ld'.
slice('Hello World', 3, -1) // Returns 'lo Worl'.
slice('Hello World', 3, 3) // Returns ''.

並べ替え

コレクション内の項目を並べ替えます。 単純型を含む任意のキーを使用して、コレクション オブジェクトを並べ替えることができます。

sort([<collection>], <sortBy>?)
Parameter Required タイプ Description
< collection> Yes Array 項目を並べ替えるコレクション
< sortBy> No String コレクション オブジェクトの並べ替えに使用するキー
Return value タイプ Description
[<updated-collection>] Array 並べ替えたコレクション

Example 1

次の例は、整数の配列を並べ替えます。

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

次の配列を返します: [0,1,2,3]

Example 2

次の例は、オブジェクトの配列をキー順に並べ替えます。

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

次の配列を返します: [{ "first": "Elise", "last": "Renee" }, {"first": "Amalie", "last": "Rose" }')]

分割する

元の文字列の指定した区切り文字に基づいて、コンマで区切られた部分文字列を含む配列を返します。

split('<text>', '<delimiter>')
Parameter Required タイプ Description
< text> Yes String 元の文字列で指定された区切り記号に基づいて部分文字列に分割する文字列
< delimiter> Yes String 区切り記号として使用する、元の文字列内の文字
Return value タイプ Description
[<substring1>,<substring2>,...] Array コンマで区切られた、元の文字列からの部分文字列を含む配列

Example 1

この例では、区切り記号として指定した文字に基づいて指定された文字列からの部分文字列を含む配列を作成します。

split('a_b_c', '_')

返される配列の結果: ["a","b","c"]

Example 2

この例では、文字列に区切り記号が存在しない場合、1 つの要素を持つ配列が作成されます。

split('a_b_c', ' ')

返される配列の結果: ["a_b_c"]

startOfDay

タイムスタンプの日の始まりを返します。

startOfDay('<timestamp>', '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< updated-timestamp> String 指定したタイムスタンプの日の午前 0 時を表す日時文字列

Example

この例は、次のタイムスタンプの日の開始を取得します。

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

次の結果が返されます。 "2018-03-15T00:00:00.0000000Z"

startOfHour

タイムスタンプの時間の先頭を返します。

startOfHour('<timestamp>', '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< updated-timestamp> String 指定したタイムスタンプの時刻の 0 分を表す日時文字列

Example

この例は、次のタイムスタンプの時刻の開始を取得します。

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

次の結果が返されます。 "2018-03-15T13:00:00.0000000Z"

startOfMonth

タイムスタンプの月の始まりを返します。

startOfMonth('<timestamp>', '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< updated-timestamp> String 指定したタイムスタンプの月の開始日の午前 0 時を表す文字列

Example 1

この例は、次のタイムスタンプの月の開始を返します。

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

次の結果が返されます。 "2018-03-01T00:00:00.0000000Z"

Example 2

この例では、次のタイムスタンプの月の開始を指定した形式で返します。

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

次の結果が返されます。 "2018-03-01"

startsWith

文字列が特定の部分文字列で始まるかどうかを確認します。 部分文字列が見つかった場合は true を返し、見つからない場合は false を返します。 この関数は、大文字と小文字を区別しません。

startsWith('<text>', '<searchText>')
Parameter Required タイプ Description
< text> Yes String チェックする文字列
< searchText> Yes String 検索する開始文字列
Return value タイプ Description
正 または 誤 ブール値 開始部分文字列が見つかった場合は true を返します。 見つからない場合は false を返します。

Example 1

次の使用例は、"hello world" 文字列が "hello" 部分文字列で始まるかどうかを確認します。

startsWith('hello world', 'hello')

次の結果が返されます。 true

Example 2

次の使用例は、"hello world" 文字列が "greetings" 部分文字列で始まるかどうかを確認します。

startsWith('hello world', 'greetings')

次の結果が返されます。 false

文字列

値の文字列バージョンを返します。

string(<value>)
Parameter Required タイプ Description
< value> Yes Any 変換する値。 この値が null の場合、または null に評価される場合、値は空の文字列 ("") 値に変換されます。



たとえば、? 演算子を使用してアクセスできる、存在しないプロパティに文字列変数を割り当てると、null 値は空の文字列に変換されます。 ただし、null 値の比較は、空の文字列の比較と同じではありません。
Return value タイプ Description
< string-value> String 指定した値の文字列バージョン。 If the value parameter is null or evaluates to null, this value is returned as an empty string ("") value.

Example 1

この例は、次の数値の文字列バージョンを作成します。

string(10)

次の結果が返されます。 "10"

Example 2

この例は、指定した JSON オブジェクトの文字列を作成します。二重引用符 (") のエスケープ文字として、バックスラッシュ文字 (\) を使います。

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

次の結果が返されます。 "{ \\"name\\": \\"Sophie Owen\\" }"

sub

1 番目の数値から 2 番目の数値を減算して、結果を返します。

sub(<minuend>, <subtrahend>)
Parameter Required タイプ Description
< minuend> Yes 整数または浮動小数点数 The number from which to subtract the subtrahend
< subtrahend> Yes 整数または浮動小数点数 The number to subtract from the minuend
Return value タイプ Description
< result> 整数または浮動小数点数 1 番目の数値から 2 番目の数値を減算した結果

Example

この例は、1 番目の数値から 2 番目の数値を減算します。

sub(10.3, .3)

次の結果が返されます。 10

substring

文字列から、指定された位置またはインデックスから始まる文字を返します。 インデックス値は 0 から始まります。 See also slice().

substring('<text>', <startIndex>, <length>)
Parameter Required タイプ Description
< text> Yes String 文字を取得する文字列
< startIndex> Yes Integer 開始位置またはインデックスの値として使用する 0 以上の正の数
< length> No Integer 取得する部分文字列の文字数を示す正の値

Note

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

Return value タイプ Description
< substring-result> String ソース文字列の指定したインデックス位置から始まる、指定した文字数を含む部分文字列

Example

この例は、指定した文字列のインデックス値 6 から始まる 5 文字を含む部分文字列を作成します。

substring('hello world', 6, 5)

次の結果が返されます。 "world"

subtractFromTime

タイムスタンプから時間単位の数を減算します。 See also getPastTime.

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプを含む文字列。
< interval> Yes Integer 減算する指定した時間単位の数
< timeUnit> Yes String The unit of time to use with interval: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year"
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< updated-timestamp> String タイムスタンプから指定した時間単位数を引いた値

Example 1

この例は、次のタイムスタンプから 1 日を減算します。

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

次の結果が返されます。 "2018-01-01T00:00:00.0000000Z"

Example 2

この例は、次のタイムスタンプから 1 日を減算します。

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

省略可能な "D" 形式を使用して返される結果: "Monday, January, 1, 2018"

T

take

コレクションの先頭から項目を返します。

take('<collection>', <count>)
take([<collection>], <count>)
Parameter Required タイプ Description
< collection> Yes 文字列、配列 項目を取得するコレクション
< count> Yes Integer 先頭から取得する項目の数を示す正の整数
Return value タイプ Description
< subset> or [<subset>] それぞれ文字列、配列 元のコレクションの先頭から取得された指定個数の項目を含む文字列または配列

Example

これらの例は、次のコレクションの先頭から指定した数の項目を取得します。

take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)

次の結果を返します。

  • 最初の例: "abc"
  • 2 番目の例: [0, 1, 2]

ticks

1 月 1 日 0001 12:00:00 午前 0 時から指定したタイムスタンプまでの 100 ナノ秒間隔のティック数 (または C# の DateTime.Ticks) を返します。 詳細については、DateTime.Ticks プロパティ (システム) のトピックを参照してください。

ticks('<timestamp>')
Parameter Required タイプ Description
< timestamp> Yes String タイムスタンプの文字列
Return value タイプ Description
< ticks-number> Integer 指定したタイムスタンプからのティック数

toLower

小文字の形式で文字列を返します。 文字列内の文字に小文字のバージョンがない場合、その文字は返された文字列内で変更されません。

toLower('<text>')
Parameter Required タイプ Description
< text> Yes String 小文字形式で返される文字列
Return value タイプ Description
< lowercase-text> String 元の文字列の小文字形式

Example

この例は、次の文字列を小文字に変換します。

toLower('Hello World')

次の結果が返されます。 "hello world"

toUpper

大文字の形式で文字列を返します。 文字列内の文字に大文字のバージョンがない場合、その文字は返される文字列内で変更されません。

toUpper('<text>')
Parameter Required タイプ Description
< text> Yes String 大文字形式で返される文字列
Return value タイプ Description
< uppercase-text> String 元の文字列の大文字形式

Example

この例は、次の文字列を大文字に変換します。

toUpper('Hello World')

次の結果が返されます。 "HELLO WORLD"

トリガ

実行時のトリガーの出力を返すか、または式に割り当てることができる他の JSON の名前と値のペアの値を返します。

  • トリガーの入力の内部では、この関数は前の実行からの出力を返します。

  • トリガーの条件の内部では、この関数は現在の実行からの出力を返します。

既定では、この関数はトリガー オブジェクト全体を参照しますが、必要に応じて値を取得するプロパティを指定することができます。 Also, this function has shorthand versions available, see triggerOutputs() and triggerBody().

trigger()
Return value タイプ Description
< trigger-output> String 実行時のトリガーからの出力

triggerBody

実行時にトリガーの body 出力を返します。 trigger().outputs.body の短縮形です。 See trigger().

triggerBody()
Return value タイプ Description
< trigger-body-output> String トリガーからの body 出力

triggerFormDataMultiValues

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

triggerFormDataMultiValues('<key>')
Parameter Required タイプ Description
< key> Yes String 値を指定するキーの名前
Return value タイプ Description
[<array-with-key-values>] Array 指定したキーと一致するすべての値で構成される配列

Example

この例は、RSS トリガーの form-data 出力または form-encoded 出力内の "feedUrl" キーの値から配列を作成します。

triggerFormDataMultiValues('feedUrl')

例の結果として返される配列: ["https://feeds.a.dj.com/rss/RSSMarketsMain.xml"]

triggerFormDataValue

Return a string with a single value that matches a key name in a trigger's form-data or form-encoded output. 複数の一致が見つかった場合、関数はエラーをスローします。

triggerFormDataValue('<key>')
Parameter Required タイプ Description
< key> Yes String 値を指定するキーの名前
Return value タイプ Description
< key-value> String 指定したキーの値

Example

この例は、RSS トリガーの form-data 出力または form-encoded 出力内の "feedUrl" キーの値から文字列を作成します。

triggerFormDataValue('feedUrl')

例の結果として返される文字列: "https://feeds.a.dj.com/rss/RSSMarketsMain.xml"

triggerMultipartBody

複数の部分を持つトリガーの出力の特定の部分に対する本文を返します。

triggerMultipartBody(<index>)
Parameter Required タイプ Description
< index> Yes Integer 取得する部分のインデックス値
Return value タイプ Description
< body> String トリガーの複数の部分からなる出力内の指定した部分の本文

triggerOutputs

実行時のトリガーの出力を返すか、または他の JSON の名前と値のペアの値を返します。 trigger().outputs の短縮形です。 See trigger().

triggerOutputs()
Return value タイプ Description
< trigger-output> String 実行時のトリガーからの出力

トリミングする

文字列から先頭と末尾の空白を削除し、更新された文字列を返します。

trim('<text>')
Parameter Required タイプ Description
< text> Yes String 先頭と末尾に削除する空白を含む文字列
Return value タイプ Description
< updatedText> String 先頭または末尾の空白が削除された、元の文字列の更新バージョン

Example

この例では、文字列 " Hello World " から先頭と末尾の空白が削除されます。

trim(' Hello World  ')

次の結果が返されます。 "Hello World"

U

UNION

Return a collection that has all the items from the specified collections. 結果に表示するには、この関数に渡されるすべてのコレクションに項目を表示できます。 1 つ以上の項目の名前が同じである場合、その名前の最後の項目が結果に表示されます。

union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
Parameter Required タイプ Description
< collection1>, <collection2>, ... Yes 配列またはオブジェクト、両方ともは不可 The collections from where you want all the items
Return value タイプ Description
< updatedCollection> それぞれ、配列またはオブジェクト 指定したコレクションのすべての項目を含むコレクション。重複はありません。

Example

This example gets all the items from these collections:

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

次の結果が返されます。 [1, 2, 3, 10, 101]

uriComponent

URL の安全でない文字がエスケープ文字に置き換えられた、文字列の URI (Uniform Resource Identifier) エンコード バージョンを返します。 Use this function rather than encodeUriComponent(). どちらの関数も機能は同じですが、uriComponent() をお勧めします。

uriComponent('<value>')
Parameter Required タイプ Description
< value> Yes String URI エンコード形式に変換する文字列
Return value タイプ Description
< encoded-uri> String エスケープ文字が使われている URI エンコード文字列

Example

この例は、次の文字列の URI エンコード バージョンを作成します。

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

次の結果が返されます。 "https%3A%2F%2Fcontoso.com"

uriComponentToBinary

URI (Uniform Resource Identifier) コンポーネントのバイナリ バージョンを返します。

uriComponentToBinary('<value>')
Parameter Required タイプ Description
< value> Yes String 変換する URI エンコード文字列
Return value タイプ Description
< binary-for-encoded-uri> String URI エンコード文字列のバイナリ バージョン バイナリ コンテンツは base64 でエンコードされ、$content によって表されます。

Example

この例は、次の URI エンコード文字列のバイナリ バージョンを作成します。

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

次の結果が返されます。 "aHR0cHM6Ly9jb250b3NvLmNvbQ=="

uriComponentToString

URI (Uniform Resource Identifier) エンコード文字列の文字列バージョンを返します。実質的に、URI エンコード文字列をデコードします。

uriComponentToString('<value>')
Parameter Required タイプ Description
< value> Yes String デコードする URI エンコード文字列
Return value タイプ Description
< decoded-uri> String URI エンコード文字列のデコード バージョン

Example

この例は、次の URI エンコード文字列のデコードされた文字列バージョンを作成します。

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

次の結果が返されます。 "https://contoso.com"

uriHost

URI (Uniform Resource Identifier) の host 値を返します。

uriHost('<uri>')
Parameter Required タイプ Description
< uri> Yes String host 値を取得する URI
Return value タイプ Description
< host-value> String 指定した URI の host

Example

この例は、次の URI の host 値を検索します。

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

次の結果が返されます。 "www.localhost.com"

uriPath

URI (Uniform Resource Identifier) の path 値を返します。

uriPath('<uri>')
Parameter Required タイプ Description
< uri> Yes String path 値を取得する URI
Return value タイプ Description
< path-value> String 指定した URI の pathpath に値がない場合は、"/" 文字を返します。

Example

この例は、次の URI の path 値を検索します。

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

次の結果が返されます。 "/catalog/shownew.htm"

uriPathAndQuery

URI (Uniform Resource Identifier) の pathquery の値を返します。

uriPathAndQuery('<uri>')
Parameter Required タイプ Description
< uri> Yes String pathquery の値を取得する URI
Return value タイプ Description
< path-query-value> String 指定した URI の pathquery の値。 path の値が指定されていない場合は、"/" 文字を返します。

Example

この例は、次の URI の pathquery の値を検索します。

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

次の結果が返されます。 "/catalog/shownew.htm?date=today"

uriPort

URI (Uniform Resource Identifier) の port 値を返します。

uriPort('<uri>')
Parameter Required タイプ Description
< uri> Yes String port 値を取得する URI
Return value タイプ Description
< port-value> Integer 指定した URI の portport の値が指定されていない場合は、プロトコルの既定のポートを返します。

Example

この例は、次の URI の port 値を返します。

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

次の結果が返されます。 8080

uriQuery

URI (Uniform Resource Identifier) の query 値を返します。

uriQuery('<uri>')
Parameter Required タイプ Description
< uri> Yes String query 値を取得する URI
Return value タイプ Description
< query-value> String 指定した URI の query

Example

この例は、次の URI の query 値を返します。

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

次の結果が返されます。 "?date=today"

uriScheme

URI (Uniform Resource Identifier) の scheme 値を返します。

uriScheme('<uri>')
Parameter Required タイプ Description
< uri> Yes String scheme 値を取得する URI
Return value タイプ Description
< scheme-value> String 指定した URI の scheme

Example

この例は、次の URI の scheme 値を返します。

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

次の結果が返されます。 "http"

utcNow

現在のタイムスタンプを返します。

utcNow('<format>')

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

Parameter Required タイプ Description
< format> No String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 The default format for the timestamp is "o" (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with ISO 8601 and preserves time zone information.

形式が有効な値でない場合は、エラーが生成されます。
Return value タイプ Description
< current-timestamp> String 現在の日付と時刻

Example 1

現在の日時が 2018 年 4 月 15 日午後 1 時 0 分 0 秒であるものとします。 この例は、現在のタイムスタンプを取得します。

utcNow()

次の結果が返されます。 "2018-04-15T13:00:00.0000000Z"

Example 2

現在の日時が 2018 年 4 月 15 日午後 1 時 0 分 0 秒であるものとします。 この例は、オプションの "D" 形式を使って現在のタイムスタンプを取得します。

utcNow('D')

次の結果が返されます。 "Sunday, April 15, 2018"

V

variables

指定した変数の値を返します。

variables('<variableName>')
Parameter Required タイプ Description
< variableName> Yes String 値を取得する変数の名前
Return value タイプ Description
< variable-value> Any 指定した変数の値

Example

"numItems" 変数の現在の値が 20 であるものとします。 この例は、この変数の整数値を取得します。

variables('numItems')

次の結果が返されます。 20

W

ワークフロー

実行時にワークフロー自体に関するすべての詳細を返します。

workflow().<property>
Parameter Required タイプ Description
< property> No String 値を取得するワークフロー プロパティの名前



既定では、ワークフロー オブジェクトには次のプロパティがあります: nametypeid___locationruntags



- run プロパティ値は JSON オブジェクトであり、次のプロパティを含んでいます: nametypeid



- tags プロパティは JSON オブジェクトであり、Azure Logic Apps のロジック アプリまたは Power Automate のフローに関連付けられているタグ、およびそれらのタグの値を含んでいます。 タグの詳細については、Azure での論理的な組織化のためのリソース、リソース グループ、およびサブスクリプションへのタグ付けに関するページを参照してください。



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

Example 1

この例は、ワークフローの現在の実行の名前を返します。

workflow().run.name

Example 2

Power Automate を使用する場合は、@workflow() 出力プロパティを使用する tags 式を作成して、フローの flowDisplayName または environmentName プロパティから値を取得できます。

たとえば、リンクをたどってフローに戻るカスタム電子メール通知をフロー自体から送信することができます。 これらの通知に、電子メール タイトルにフローの表示名を含み、次の構文に従う HTML リンクを含めることができます。

<a href=https://flow.microsoft.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/details>Open flow @{workflow()['tags']['flowDisplayName']}</a>

X

xml

JSON オブジェクトを含む文字列の XML バージョンを返します。

xml('<value>')
Parameter Required タイプ Description
< value> Yes String 変換する JSON オブジェクトを含む文字列

JSON オブジェクトのルート プロパティは 1 つに限る必要があり、配列にはできません。
二重引用符 (") のエスケープ文字としてはバックスラッシュ文字 (\) を使います。
Return value タイプ Description
< xml-version> Object 指定した文字列または JSON オブジェクトのエンコードされた XML

Example 1

この例は、文字列を XML に変換します。

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

返される結果の XML:

<name>Sophia Owen</name>

Example 2

この例は、JSON オブジェクトを含む次の文字列の XML バージョンを作成します。

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

返される結果の XML:

<name>Sophia Owen</name>

Example 3

次のような JSON オブジェクトがあるものとします。

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

この例は、この JSON オブジェクトを含む文字列の XML を作成します。

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

返される結果の XML:

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

xpath

XML で XPath (XML Path Language) 式と一致するノードまたは値を調べて、一致するノードまたは値を返します。 XPath 式または単に "XPath" は、XML コンテンツ内のノードまたは計算値を選択できるように、XML ドキュメント構造内の移動を補助します。

Note

従量課金 ロジック アプリと Standard ロジック アプリでは、すべての関数式で .NET XPath ライブラリが使用されます。 XPath 式は、基になる .NET ライブラリと互換性があり、基になる .NET ライブラリがサポートする式のみをサポートします。

xpath('<xml>', '<xpath>')
Parameter Required タイプ Description
< xml> Yes Any XPath 式の値に一致するノードまたは値を検索する XML 文字列
< xpath> Yes Any 一致する XML ノードまたは値の検索に使用する XPath 式
Return value タイプ Description
< xml-node> XML 1 つのノードだけが指定した XPath 式と一致するときの XML ノード
< value> Any 1 つの値だけが指定した XPath 式と一致するときの XML ノードの値
[<xml-node1>, <xml-node2>, ...] -or- [<value1>, <value2>, ...] Array 指定した XPath 式と一致する XML ノードまたは値の配列

Example 1

この 'items' XML 文字列があるとします。

<?xml version="1.0"?>
<produce>
  <item>
    <name>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

この例では、XPath 式 '/produce/item/name/text()' を渡して、<name></name> XML 文字列内の 'items' ノードに一致するノードを検索し、それらのノード値を含む配列を返します。

xpath(xml(parameters('items')), '/produce/item/name/text()')

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

<name></name> と一致するノードの値が設定された結果配列は次のとおりです。

[ Gala, Honeycrisp ]

Example 2

例 1 に続いて、この例では、XPath 式 '/produce/item/name[1]' を渡して、name 要素の子である最初の item 要素を検索します。

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

結果は次のとおりです: Gala

Example 3

例 1 に続いて、この例では、XPath 式 '/produce/item/name[last()]' を渡して、name 要素の子である最後の item 要素を検索します。

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

結果は次のとおりです: Honeycrisp

Example 4

この例では、items XML 文字列に、expired='true'expired='false' の属性も含まれているとします。

<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name expired='false'>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

この例では、XPath 式 '//name[@expired]' を渡して、name 属性を持つすべての expired 要素を検索します。

xpath(xml(parameters('items')), '//name[@expired]')

結果は次のとおりです: [ Gala, Honeycrisp ]

Example 5

この例では、items XML 文字列に属性 expired = 'true' のみが含まれているとします。

<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

この例では、XPath 式 '//name[@expired = 'true']' を渡して、属性 name を持つすべての expired = 'true' 要素を検索します。

xpath(xml(parameters('items')), '//name[@expired = 'true']')

結果は次のとおりです: [ Gala ]

Example 6

この例では、items XML 文字列に次の属性も含まれているとします。

  • expired='true' price='12'
  • expired='false' price='40'
<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true' price='12'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name expired='false' price='40'>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

この例では、XPath 式 '//name[@price>35]' を渡して、name を持つすべての price > 35 要素を検索します。

xpath(xml(parameters('items')), '//name[@price>35]')

結果は次のとおりです: Honeycrisp

Example 7

この例では、items XML 文字列が例 1 と同じであるとします。

<?xml version="1.0"?>
<produce>
  <item>
    <name>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

この例では <count></count> ノードと一致するノードを検索し、sum() 関数でそれらのノードの値を追加します。

xpath(xml(parameters('items')), 'sum(/produce/item/count)')

結果は次のとおりです: 30

Example 8

この例では、次の XML 文字列があるとします。これには、XML ドキュメントの名前空間 xmlns="https://contoso.com" が含まれています。

<?xml version="1.0"?><file xmlns="https://contoso.com"><___location>Paris</___location></file>

これらの式では、XPath 式 /*[name()="file"]/*[name()="___location"] または /*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="___location"] を使用して、<___location></___location> ノードに一致するノードを検索します。 これらの例は、デザイナーまたは式エディターで使用する構文を示しています。

  • xpath(xml(body('Http')), '/*[name()="file"]/*[name()="___location"]')
  • xpath(xml(body('Http')), '/*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="___location"]')

<___location></___location> ノードと一致する結果のノード:

<___location xmlns="https://contoso.com">Paris</___location>

Important

コード ビューで作業している場合は、円記号 (\) を使用して二重引用符 (") をエスケープします。 たとえば、式を JSON 文字列としてシリアル化する場合は、エスケープ文字を使用する必要があります。 ただし、デザイナーまたは式エディターで作業している場合、基になる定義に円記号が自動的に追加されるため、二重引用符をエスケープする必要はありません。次に例を示します。

  • コード ビュー: xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"___location\"]')

  • 式エディター: xpath(xml(body('Http')), '/*[name()="file"]/*[name()="___location"]')

Example 9

例 8 に続いてこの例では、XPath 式 'string(/*[name()="file"]/*[name()="___location"])' を使用して、<___location></___location> ノードの値を検索します。

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

結果は次のとおりです: Paris

Next steps

ワークフロー定義言語について学習してください