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

Azure Logic Apps および Power Automate のワークフロー定義では、ワークフローの行開始時にまだ存在しない可能性のある実行時アクションから値を取得する式があります。 これらの式で値を参照または処理するには、ワークフロー定義言語によって提供される式関数を使用できます。

注意

このリファレンス ページは、Azure Logic Apps と Power Automate の両方に適用されますが、Azure Logic Apps のドキュメントに記載されています。 このページでは特にロジック アプリ ワークフローについて参照されていますが、これらの関数はフローとロジック アプリ ワークフローの両方で動作します。 Power Automate での関数と式について詳しくは、条件のある式の使用に関する記事をご覧ください。

たとえば、整数や浮動小数点数の合計が必要なときは、add() 関数などの数学関数を使って値を計算できます。 関数を使用して実行できるタスクの他の例を示します。

タスク 関数の構文 結果
小文字の形式で文字列を返します。 toLower('<text>')

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

一般的な目的に基づいて関数を探すには、以降の表をご覧ください。 または、各関数の詳細については、アルファベット順の一覧を参照してください。

式の関数

式で関数を使用する方法を示すために、次の例では、customerName パラメーターから値を取得し、式の中で parameters() 関数を使ってその値を accountName プロパティに割り当てる方法を示します。

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

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

タスク 式の中の関数構文
項目を関数に渡すことにより、項目に関する作業を実行します。 "@<functionName>(<item>)"
1.入れ子になった parameters() 関数を使って、parameterName の値を取得します。
2.その値を functionName に渡すことによって、結果に関する作業を実行します。
"@<functionName>(parameters('<parameterName>'))"
1.入れ子になった内側の関数 functionName から結果を取得します。
2.結果を外側の関数 functionName2 に渡します。
"@<functionName2>(<functionName>(<item>))"
1.functionName から結果を取得します。
2.結果がプロパティ propertyName を含むオブジェクトであるとして、そのプロパティの値を取得します。
"@<functionName>(<item>).<propertyName>"

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

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

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

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

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

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

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

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

  • パラメーターの定義の構文において、パラメーターの後に疑問符 (?) が付いている場合は、そのパラメーターが省略可能であることを意味します。 たとえば、getFutureTime() をご覧ください。

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

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

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

    正しくない: "<text>/@<function-name>('<parameter-name>')/<text>"

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

次のセクションでは、一般的な目的に基づいて関数を整理します。または、これらの関数をアルファベット順で参照することもできます。

文字列関数

文字列を処理するには、以下の文字列関数および一部のコレクション関数も使用できます。 文字列関数は文字列でのみ機能します。

文字列関数 タスク
concat 2 つ以上の文字列を結合し、結合された文字列を返します。
endsWith 文字列が指定された部分文字列で終わっているかどうかを調べます。
formatNumber 指定された形式に基づいて数値を文字列として返します
guid 文字列としてグローバル一意識別子 (GUID) を生成します。
indexOf 部分文字列の開始位置を返します。
isInt 文字列が整数かどうかを示すブール値を返します。
lastIndexOf 部分文字列の最後の出現箇所の開始位置を返します。
length 文字列または配列内の項目の数を返します。
nthIndexOf 文字列内での部分文字列の n 番目の出現箇所の開始位置またはインデックス値を返します。
replace 部分文字列を指定した文字列で置換し、更新された文字列を返します。
slice 開始およびは終了位置または値を指定して部分文字列を返します。 「substring」も参照してください。
split 元の文字列で指定された区切り文字に基づいたより大きい文字列から、コンマで区切られた部分文字列を含む配列を返します。
startsWith 文字列が特定の部分文字列で始まっているかどうかを調べます。
substring 文字列から、指定された位置から始まる文字を返します。 「slice」も参照してください。
toLower 小文字の形式で文字列を返します。
toUpper 大文字の形式で文字列を返します。
trim 文字列から先頭と末尾の空白を削除し、更新された文字列を返します。

コレクション関数

コレクション (通常は配列や文字列、場合によってはディクショナリ) を操作するには、以下のコレクション関数を使用できます。

コレクション関数 タスク
contains コレクションに特定の項目があるかどうかを確認します。
empty コレクションが空かどうかを調べます。
first コレクションから最初の項目を返します。
intersection 指定したコレクションすべてに共通する項目 "のみ" を含むコレクションを返します。
item この関数が配列に対する繰り返しアクションの内部に出現した場合、アクションの現在の繰り返しの間に配列の現在の項目を返します。
join 配列の "すべて" の項目を含み、指定された区切り記号で各項目が区切られた、文字列を返します。
last コレクションから最後の項目を返します。
length 文字列または配列内の項目の数を返します。
skip コレクションの先頭から項目を削除し、"他のすべて" の項目を返します。
take コレクションの先頭から項目を返します。
union 指定した複数のコレクションの "すべての" 項目を含む 1 つのコレクションを返します。

論理比較関数

条件の処理、値と式の結果の比較、さまざまな種類のロジックの評価などを行うには、以下の論理比較関数を使用できます。 各関数の完全なリファレンスについては、アルファベット順の一覧を参照してください。

注意

論理関数または条件を使用して値を比較する場合、null 値は空の文字列 ("") 値に変換されます。 条件の動作は、null 値ではなく空の文字列と比較すると異なります。 詳細については、string() 関数に関するページを参照してください。

論理比較関数 タスク
and すべての式が true かどうかを調べます。
equals 両方の値が等しいかどうかを調べます。
greater 1 番目の値が 2 番目の値より大きいかどうかを調べます。
greaterOrEquals 1 番目の値が 2 番目の値以上かどうかを調べます。
if 式が true か false かを調べます。 結果に基づき、指定された値を返します。
less 1 番目の値が 2 番目の値より小さいかどうかを調べます。
lessOrEquals 1 番目の値が 2 番目の値以下かどうかを調べます。
not 式が false かどうかを調べます。
or 少なくとも 1 つの式が true かどうかを調べます。

変換関数

値の型または形式を変更するには、以下の変換関数を使用できます。 たとえば、値をブール値から整数に変更できます。 Azure Logic Apps が変換時にコンテンツ タイプを処理する方法の詳細については、「コンテンツ タイプを処理する」を参照してください。 各関数の完全なリファレンスについては、アルファベット順の一覧を参照してください。

注意

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

変換関数 タスク
array 指定した 1 つの入力から配列を返します。 複数の入力の場合は、createArray をご覧ください。
base64 文字列の base64 エンコード バージョンを返します。
base64ToBinary base64 エンコード文字列のバイナリ バージョンを返します。
base64ToString base64 エンコード文字列の文字列バージョンを返します。
[バイナリ] 入力値のバイナリ バージョンを返します。
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>)

注意

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

算術関数

整数と浮動小数点数を操作するには、以下の算術関数を使用できます。 各関数の完全なリファレンスについては、アルファベット順の一覧を参照してください。

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

日付と時刻関数

日付と時刻を操作するには、以下の日付と時刻の関数を使用できます。 各関数の完全なリファレンスについては、アルファベット順の一覧を参照してください。

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

ワークフロー関数

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

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

たとえば、あるアクションからの出力を参照し、後のアクションでそのデータを使用できます。 各関数の完全なリファレンスについては、アルファベット順の一覧を参照してください。

ワークフロー関数 タスク
action 実行時に現在のアクションの出力を返すか、または他の JSON の名前と値のペアの値を返します。 actions もご覧ください。
actionBody 実行時のアクションの body 出力を返します。 body もご覧ください。
actionOutputs 実行時のアクションの出力を返します。 outputsactions を参照してください。
actions 実行時にアクションの出力を返すか、または他の JSON の名前と値のペアの値を返します。 action もご覧ください。
body 実行時のアクションの body 出力を返します。 actionBody もご覧ください。
formDataMultiValues form-data または form-encoded アクション出力内のキー名と一致する値を含む配列を作成します。
formDataValue アクションの form-data 出力または form-encoded 出力内のキー名と一致する単一の値を返します。
item この関数が配列に対する繰り返しアクションの内部に出現した場合、アクションの現在の繰り返しの間に配列の現在の項目を返します。
items この関数が Foreach ループまたは Until ループ内に出現した場合、指定したループから現在の項目を返します。
iterationIndexes この関数が Until ループ内に出現した場合、現在の繰り返しのインデックス値を返します。 この関数は、入れ子になった Until ループ内で使用できます。
listCallbackUrl トリガーまたはアクションを呼び出す "コールバック URL" を返します。
multipartBody 複数の部分を持つアクションの出力の特定の部分に対する本文を返します。
outputs 実行時のアクションの出力を返します。
parameters ワークフローの定義で記述されているパラメーターの値を返します。
result For_eachUntilScope など、指定されたスコープ付きアクション内の最上位レベルのアクションの入力と出力を返します。
trigger 実行時に、または他の JSON の名前と値のペアから、トリガーの出力を返します。 triggerOutputs および triggerBody もご覧ください。
triggerBody 実行時にトリガーの body 出力を返します。 trigger をご覧ください。
triggerFormDataValue form-data または form-encoded トリガー出力のキー名と一致する単一の値を返します。
triggerMultipartBody トリガーの複数部分からなる出力内の特定の部分の本文を返します。
triggerFormDataMultiValues form-data または form-encoded トリガー出力内のキー名と一致する値を含む配列を作成します。
triggerOutputs 実行時のトリガーの出力を返すか、または他の JSON の名前と値のペアの値を返します。 trigger をご覧ください。
variables 指定した変数の値を返します。
workflow 実行時にワークフロー自体に関するすべての詳細を返します。

URI 解析関数

URI (Uniform Resource Identifier) を処理して、URI のさまざまなプロパティ値を取得します。以下の URI 解析関数を使用できます。 各関数の完全なリファレンスについては、アルファベット順の一覧を参照してください。

URI 解析関数 タスク
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 ノードを処理するには、以下の操作関数を使用できます。 各関数の完全なリファレンスについては、アルファベット順の一覧を参照してください。

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

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

すべての関数 (アルファベット順)

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

A

action

実行時の "現在の" アクションの出力を返すか、または式に割り当てることができる他の JSON の名前と値のペアの値を返します。 既定では、この関数はアクション オブジェクト全体を参照しますが、必要に応じて値を取得するプロパティを指定することができます。 actions() も参照してください。

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

  • 元の subscribe 要求の結果にアクセスできるように、webhook アクションの unsubscribe プロパティ
  • アクションの trackedProperties プロパティ
  • アクションの do-until ループ条件
action()
action().outputs.body.<property>
パラメーター 必須 Type 説明
<property> いいえ String 値が必要なアクション オブジェクトのプロパティの名前: namestartTimeendTimeinputsoutputsstatuscodetrackingIdclientTrackingId。 Azure portal では、特定の実行履歴の詳細を調べることで、これらのプロパティを確認できます。 詳しくは、REST API のワークフロー実行アクションに関するページをご覧ください。
戻り値 Type 説明
<action-output> String 現在のアクションまたはプロパティからの出力

actionBody

実行時のアクションの body 出力を返します。 actions('<actionName>').outputs.body の短縮形です。 body() および actions() をご覧ください。

actionBody('<actionName>')
パラメーター 必須 Type 説明
<actionName> はい String 取得するアクションの body 出力の名前
戻り値 Type 説明
<action-body-output> String 指定したアクションからの body 出力

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

actionBody('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"
}

actionOutputs

実行時のアクションの出力を返します。 actions('<actionName>').outputs の短縮形です。 actions() をご覧ください。 actionOutputs() 関数はデザイナーでは outputs() に解決されるため、actionOutputs() ではなく outputs() を使用することを検討してください。 どちらの関数も機能は同じですが、outputs() をお勧めします。

actionOutputs('<actionName>')
パラメーター 必須 Type 説明
<actionName> はい String 取得するアクションの出力の名前
戻り値 Type 説明
<output> String 指定したアクションからの出力

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

actionOutputs('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"
  }
}

actions

実行時のアクションの出力を返すか、または式に割り当てることができる他の JSON の名前と値のペアの値を返します。 既定では、この関数はアクション オブジェクト全体を参照しますが、必要に応じて値を取得するプロパティを指定することができます。 短縮バージョンについては、actionBody()actionOutputs()body() をご覧ください。 現在のアクションの場合は、action() をご覧ください。

ヒント

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

注意

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

actions('<actionName>')
actions('<actionName>').outputs.body.<property>
パラメーター 必須 Type 説明
<actionName> はい String 出力を取得するアクション オブジェクトの名前
<property> いいえ String 値が必要なアクション オブジェクトのプロパティの名前: namestartTimeendTimeinputsoutputsstatuscodetrackingIdclientTrackingId。 Azure portal では、特定の実行履歴の詳細を調べることで、これらのプロパティを確認できます。 詳しくは、REST API のワークフロー実行アクションに関するページをご覧ください。
戻り値 Type 説明
<action-output> String 指定したアクションまたはプロパティからの出力

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

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

返される結果: "Succeeded"

add

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

add(<summand_1>, <summand_2>)
パラメーター 必須 Type 説明
<summand_1>, <summand_2> はい 整数、浮動小数点数、または混合 加算する数値
戻り値 Type 説明
<result-sum> 整数または浮動小数点数 指定した数値を加算した結果

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

add(1, 1.5)

返される結果: 2.5

addDays

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

addDays('<timestamp>', <days>, '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<days> はい Integer 追加する正または負の日数
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

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

返される結果: "2018-03-25T00:00:00.0000000Z"

例 2

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

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

返される結果: "2018-03-10T00:00:00.0000000Z"

addHours

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

addHours('<timestamp>', <hours>, '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<hours> はい Integer 追加する正または負の時間数
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

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

返される結果: "2018-03-15T10:00:00.0000000Z"

例 2

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

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

返される結果: "2018-03-15T10:00:00.0000000Z"

addMinutes

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

addMinutes('<timestamp>', <minutes>, '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<minutes> はい Integer 追加する正または負の分数
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

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

返される結果: "2018-03-15T00:20:00.0000000Z"

例 2

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

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

返される結果: "2018-03-15T00:15:00.0000000Z"

addProperty

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

addProperty(<object>, '<property>', <value>)
パラメーター 必須 Type 説明
<object> はい Object プロパティを追加する JSON オブジェクト
<property> はい String 追加するプロパティの名前
<value> はい Any プロパティの値
戻り値 Type 説明
<updated-object> Object 指定したプロパティを含む更新された JSON オブジェクト

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

setProperty(<object>['<parent-property>'], '<parent-property>', addProperty(<object>['<parent-property>'], '<child-property>', <value>)
パラメーター 必須 Type 説明
<object> はい Object プロパティを追加する JSON オブジェクト
<parent-property> はい String 子プロパティを追加する親プロパティの名前
<child-property> はい String 追加する子プロパティの名前
<value> はい Any 指定したプロパティに設定する値
戻り値 Type 説明
<updated-object> Object プロパティが設定された更新後の JSON オブジェクト

例 1

この例では、JSON() 関数を使用して文字列から JSON に変換される JSON オブジェクトに middleName プロパティを追加します。 このオブジェクトには、プロパティ firstNamesurName が既に含まれています。 この関数は、指定された値を新しいプロパティに割り当て、更新されたオブジェクトを返します。

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

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

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

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

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

例 2

この例では、JSON() 関数を使用して文字列から JSON に変換される JSON オブジェクトの既存の customerName プロパティに middleName 子プロパティを追加します。 この関数は、指定された値を新しいプロパティに割り当て、更新されたオブジェクトを返します。

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

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

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

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

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

addSeconds

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

addSeconds('<timestamp>', <seconds>, '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<seconds> はい Integer 追加する正または負の秒数
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

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

返される結果: "2018-03-15T00:00:10.0000000Z"

例 2

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

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

返される結果: "2018-03-15T00:00:25.0000000Z"

addToTime

タイムスタンプに指定した時間単位を加算します。 getFutureTime() もご覧ください。

addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<interval> はい Integer 追加する指定した時間単位の数
<timeUnit> はい String 間隔と共に使用する時間単位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year"
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

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

返される結果: "2018-01-02T00:00:00.0000000Z"

例 2

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

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

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

and

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

and(<expression1>, <expression2>, ...)
パラメーター 必須 Type 説明
<expression1>, <expression2>, ... はい Boolean 調べる式
戻り値 Type 説明
true または false Boolean すべての式が true の場合は true を返します。 少なくとも 1 つの式が false の場合は false を返します。

例 1

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

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

次の結果を返します。

  • 1 番目の例:両方の式が true なので、true を返します。
  • 2 番目の例:片方の式が false なので、false を返します。
  • 3 番目の例:両方の式が false なので、false を返します。

例 2

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

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

次の結果を返します。

  • 1 番目の例:両方の式が true なので、true を返します。
  • 2 番目の例:片方の式が false なので、false を返します。
  • 3 番目の例:両方の式が false なので、false を返します。

array

指定した 1 つの入力から配列を返します。 複数の入力の場合は、createArray() をご覧ください。

array('<value>')
パラメーター 必須 Type 説明
<value> はい String 配列を作成するための文字列
戻り値 Type 説明
[<value>] Array 指定した 1 つの入力を含む配列

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

array('hello')

返される結果: ["hello"]

B

base64

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

注意

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

base64('<value>')
パラメーター 必須 Type 説明
<value> はい String 入力文字列
戻り値 Type 説明
<base64-string> String 入力文字列の base64 エンコード バージョン

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

base64('hello')

返される結果: "aGVsbG8="

base64ToBinary

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

注意

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

base64ToBinary('<value>')
パラメーター 必須 Type 説明
<value> はい String 変換する base64 エンコード文字列
戻り値 Type 説明
<binary-for-base64-string> String base64 エンコード文字列のバイナリ バージョン

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

base64ToBinary('aGVsbG8=')

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

base64ToString

base64 エンコード文字列の文字列バージョンを返し、実質的に base64 の文字列をデコードします。 非推奨の decodeBase64() ではなく、この関数を使用してください。

注意

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

base64ToString('<value>')
パラメーター 必須 Type 説明
<value> はい String デコードする base64 エンコード文字列
戻り値 Type 説明
<decoded-base64-string> String base64 エンコード文字列の文字列バージョン。

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

base64ToString('aGVsbG8=')

返される結果: "hello"

binary

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

binary('<value>')
パラメーター 必須 Type 説明
<value> はい String 変換する文字列
戻り値 Type 説明
<binary-for-input-value> String 指定した文字列の base64 エンコード バイナリ バージョン

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

body

実行時のアクションの body 出力を返します。 actions('<actionName>').outputs.body の短縮形です。 actionBody() および actions() をご覧ください。

body('<actionName>')
パラメーター 必須 Type 説明
<actionName> はい String 取得するアクションの body 出力の名前
戻り値 Type 説明
<action-body-output> String 指定したアクションからの body 出力

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

body('Get_user')

返される結果:

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

[bool]

値のブール値バージョンを返します。

bool(<value>)
パラメーター 必須 Type 説明
<value> はい Any ブール値に変換する値。

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

戻り値 Type 説明
true または false Boolean 指定した値のブール値バージョン。

出力

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

入力値 種類 戻り値
bool(1) Integer true
bool(0) Integer false
bool(-1) Integer true
bool('true') String true
bool('false') String false

C

coalesce

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

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

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

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

次の結果を返します。

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

concat

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

concat('<text1>', '<text2>', ...)
パラメーター 必須 Type 説明
<text1>, <text2>, ... はい String 結合する少なくとも 2 つの文字列
戻り値 Type 説明
<text1text2...> String 入力文字列を結合して作成された文字列。



: この結果の長さは 104,857,600 文字以下にする必要があります。

注意

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

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

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

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

concat('Hello', 'World')

返される結果: "HelloWorld"

contains

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

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

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

  • "文字列" からの "部分文字列" の検索
  • "配列" からの "" の検索
  • "ディクショナリ" からの "キー" の検索
パラメーター 必須 Type 説明
<collection> はい 文字列、配列、ディクショナリ 調べるコレクション
<value> はい それぞれ文字列、配列、ディクショナリ 検索する項目
戻り値 Type 説明
true または false Boolean 項目が見つかった場合は true を返します。 見つからなかった場合は false を返します。

例 1

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

contains('hello world', 'world')

例 2

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

contains('hello world', 'universe')

convertFromUtc

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

convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<destinationTimeZone> はい String ターゲット タイム ゾーンの名前。 タイム ゾーン名については、Microsoft Windows の既定のタイム ゾーンに関するページを参照してください。
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

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

返される結果: "2018-01-01T00:00:00.0000000"

例 2

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

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

返される結果: "Monday, January 1, 2018"

convertTimeZone

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

convertTimeZone('<timestamp>', '<sourceTimeZone>', '<destinationTimeZone>', '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<sourceTimeZone> はい String ソース タイム ゾーンの名前。 タイム ゾーン名については、Microsoft Windows の既定のタイム ゾーンに関する記事を参照してください。ただし、タイム ゾーン名から句読点を削除することが必要な場合があります。
<destinationTimeZone> はい String ターゲット タイム ゾーンの名前。 タイム ゾーン名については、Microsoft Windows の既定のタイム ゾーンに関する記事を参照してください。ただし、タイム ゾーン名から句読点を削除することが必要な場合があります。
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

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

返される結果: "2018-01-01T00:00:00.0000000"

例 2

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

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

返される結果: "Monday, January 1, 2018"

convertToUtc

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

convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<sourceTimeZone> はい String ソース タイム ゾーンの名前。 タイム ゾーン名については、Microsoft Windows の既定のタイム ゾーンに関する記事を参照してください。ただし、タイム ゾーン名から句読点を削除することが必要な場合があります。
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

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

返される結果: "2018-01-01T08:00:00.0000000Z"

例 2

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

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

返される結果: "Monday, January 1, 2018"

createArray

複数の入力から配列を作成して返します。 単一入力の配列については、array() をご覧ください。

createArray('<object1>', '<object2>', ...)
パラメーター 必須 Type 説明
<object1>, <object2>, ... はい 任意、ただし混在していてはなりません 配列を作成する少なくとも 2 つの項目
戻り値 Type 説明
[<object1>, <object2>, ...] Array すべての入力項目から作成された配列

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

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

返される結果: ["h", "e", "l", "l", "o"]

D

dataUri

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

dataUri('<value>')
パラメーター 必須 Type 説明
<value> はい String 変換する文字列
戻り値 Type 説明
<data-uri> String 入力文字列に対するデータ URI

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

dataUri('hello')

返される結果: "data:text/plain;charset=utf-8;base64,aGVsbG8="

dataUriToBinary

データ URI (Uniform Resource Identifier) のバイナリ バージョンを返します。 decodeDataUri() ではなく、この関数を使用してください。 どちらの関数も機能は同じですが、dataUriBinary() をお勧めします。

dataUriToBinary('<value>')
パラメーター 必須 Type 説明
<value> はい String 変換するデータ URI
戻り値 Type 説明
<binary-for-data-uri> String データ URI のバイナリ バージョン

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

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

返される結果:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

dataUriToString

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

dataUriToString('<value>')
パラメーター 必須 Type 説明
<value> はい String 変換するデータ URI
戻り値 Type 説明
<string-for-data-uri> String データ URI の文字列バージョン

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

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

返される結果: "hello"

dayOfMonth

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

dayOfMonth('<timestamp>')
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
戻り値 Type 説明
<day-of-month> Integer 指定したタイムスタンプの月の日付

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

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

返される結果: 15

dayOfWeek

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

dayOfWeek('<timestamp>')
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
戻り値 Type 説明
<day-of-week> Integer 指定したタイムスタンプの曜日。日曜日は 0、月曜日は 1、などとなります。

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

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

返される結果: 4

dayOfYear

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

dayOfYear('<timestamp>')
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
戻り値 Type 説明
<day-of-year> Integer 指定したタイムスタンプの年初からの通算日数

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

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

返される結果: 74

decimal

文字列内の 10 進数を 10 進数として返します。 この関数は 10 進数の有効桁数を必要とするデータで作業しているとき使用できますが、論理比較関数算術関数の入力として使用することもできます。 decimal() 関数の結果を使用するときに有効桁数をキャプチャして保持するには、任意の 10 進出力を文字列関数でラップします。 この使用法を次の例で示します。10 進数の結果を数値として使用すると、有効桁数が失われる可能性があります。

Note

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

decimal('<value>')
パラメーター 必須 Type 説明
<value> はい String 文字列内の 10 進数
戻り値 Type 説明
<decimal> 10 進数 入力文字列の 10 進数

例 1

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

decimal('1.2345678912312131') // Returns 1.234567891231213.

例 2

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

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

例 3

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

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

例 4

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

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

decodeBase64 (非推奨)

この関数は非推奨です。代わりに base64ToString() を使用してください。

decodeDataUri

データ URI (Uniform Resource Identifier) のバイナリ バージョンを返します。 decodeDataUri() ではなく、dataUriToBinary() を使うようにしてください。 どちらの関数も機能は同じですが、dataUriToBinary() をお勧めします。

注意

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

decodeDataUri('<value>')
パラメーター 必須 Type 説明
<value> はい String デコードするデータ URI 文字列
戻り値 Type 説明
<binary-for-data-uri> String データ URI 文字列のバイナリ バージョン

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

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

返される結果:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

decodeUriComponent

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

decodeUriComponent('<value>')
パラメーター 必須 Type 説明
<value> はい String エスケープ文字をデコードする文字列
戻り値 Type 説明
<decoded-uri> String エスケープ文字がデコードされた更新後の文字列

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

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

返される結果: "https://contoso.com"

div

2 つの数値を除算した結果を返します。 結果の残りの部分を取得するには、mod() をご覧ください。

div(<dividend>, <divisor>)
パラメーター 必須 Type 説明
<dividend> はい 整数または浮動小数点数 divisor によって除算される値。
<divisor> はい 整数または浮動小数点数 dividend を除算する値。0 にすることはできません
戻り値 Type 説明
<quotient-result> 整数または浮動小数点数 1 番目の数値を 2 番目の数値で除算した結果。 被除数または除数が float 型である場合、結果は float 型になります。



:float の結果を整数に変換するには、ロジック アプリから Azure で関数を作成し、呼び出してみてください。

例 1

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

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

例 2

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

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

E

encodeUriComponent

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

注意

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

encodeUriComponent('<value>')
パラメーター 必須 Type 説明
<value> はい String URI エンコード形式に変換する文字列
戻り値 Type 説明
<encoded-uri> String エスケープ文字が使われている URI エンコード文字列

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

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

返される結果: "https%3A%2F%2Fcontoso.com"

empty

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

empty('<collection>')
empty([<collection>])
パラメーター 必須 Type 説明
<collection> はい 文字列、配列、オブジェクト 調べるコレクション
戻り値 Type 説明
true または false Boolean コレクションが空の場合は true を返します。 空でない場合は false を返します。

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

empty('')
empty('abc')

次の結果を返します。

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

endsWith

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

endsWith('<text>', '<searchText>')
パラメーター 必須 Type 説明
<text> はい String 調べる文字列。
<searchText> はい String 検索する末尾の部分文字列
戻り値 Type 説明
true または false Boolean 末尾の部分文字列が見つかった場合は true を返します。 見つからなかった場合は false を返します。

例 1

この例は、文字列 "hello world" が文字列 "world" で終わっているかどうかを調べます。

endsWith('hello world', 'world')

返される結果: true

例 2

この例は、文字列 "hello world" が文字列 "universe" で終わっているかどうかを調べます。

endsWith('hello world', 'universe')

返される結果: false

equals

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

equals('<object1>', '<object2>')
パラメーター 必須 Type 説明
<object1>, <object2> はい 各種 比較する値、式、またはオブジェクト
戻り値 Type 説明
true または false Boolean 両方が等しい場合は true を返します。 等しくない場合は false を返します。

これらの例は、指定した入力が等しいかどうかを調べます。

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

次の結果を返します。

  • 1 番目の例:両方の値が等しいので、関数は true を返します。
  • 2 番目の例:両方の値が等しくないので、関数は false を返します。

F

first

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

first('<collection>')
first([<collection>])
パラメーター 必須 Type 説明
<collection> はい 文字列、配列 最初の項目を検索するコレクション
戻り値 Type 説明
<first-collection-item> Any コレクション内の最初の項目

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

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

次の結果を返します。

  • 1 番目の例: "h"
  • 2 番目の例: 0

float

浮動小数点数の文字列バージョンを実際の浮動小数点数に変換します。 この関数は、ロジック アプリやフローなどのアプリにカスタム パラメーターを渡す場合にのみ使用できます。

float('<value>')
パラメーター 必須 Type 説明
<value> はい String 変換する有効な浮動小数点数を含む文字列。 最小値と最大値は、float データ型の制限と同じです。
戻り値 Type 説明
<float-value> Float 指定した文字列の浮動小数点数。 最小値と最大値は、float データ型の制限と同じです。

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

float('10.333')

返される結果: 10.333

formatDateTime

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

formatDateTime('<timestamp>', '<format>'?, '<locale>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。
<locale> いいえ String 使用するロケール。 指定しない場合、値は en-us です。 ロケールが有効な値でない場合は、エラーが生成されます。
戻り値 Type 説明
<reformatted-timestamp> String 指定されている場合、指定された形式およびロケールの更新済みタイムスタンプ。

使用例

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

formDataMultiValues

アクションの form-data 出力または form-encoded 出力内のキー名と一致する値の配列を返します。

formDataMultiValues('<actionName>', '<key>')
パラメーター 必須 Type 説明
<actionName> はい String 出力が指定したキー値であるアクション
<key> はい String 値を指定するキーの名前
戻り値 Type 説明
[<array-with-key-values>] Array 指定したキーと一致するすべての値で構成される配列

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

formDataMultiValues('Send_an_email', 'Subject')

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

formDataValue

アクションの form-data 出力または form-encoded 出力内のキー名と一致する単一の値を返します。 複数の一致が見つかった場合、関数はエラーをスローします。

formDataValue('<actionName>', '<key>')
パラメーター 必須 Type 説明
<actionName> はい String 出力が指定したキー値であるアクション
<key> はい String 値を指定するキーの名前
戻り値 Type 説明
<key-value> String 指定したキーの値

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

formDataValue('Send_an_email', 'Subject')

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

formatNumber

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

formatNumber(<number>, <format>, <locale>?)
パラメーター 必須 Type 説明
<number> はい 整数または倍精度浮動小数点数 形式を設定する値。
<format> はい String 使用する形式を指定する複合形式文字列。 サポートされている数値形式文字列については、number.ToString(<format>, <locale>) によってサポートされている標準の数値形式文字列を参照してください。
<locale> いいえ String number.ToString(<format>, <locale>) によってサポートされているとおりに使用するロケール。 指定しない場合、値は en-us です。 ロケールが有効な値でない場合は、エラーが生成されます。
戻り値 Type 説明
<formatted-number> String 指定された数値を、指定した形式の文字列で表したもの。 この戻り値は int または float にキャストできます。

例 1

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

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

*例 2"

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

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

例 3

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

formatNumber(17.35, 'C2')

例 4

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

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

G

getFutureTime

現在のタイムスタンプに指定した時刻単位を加えて返します。

getFutureTime(<interval>, <timeUnit>, <format>?)
パラメーター 必須 Type 説明
<interval> はい Integer 加算する時間単位数
<timeUnit> はい String 間隔と共に使用する時間単位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year"
<format> いいえ String 単一の書式指定子またはカスタム書式パターン。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

getFutureTime(5, 'Day')

返される結果: "2018-03-06T00:00:00.0000000Z"

例 2

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

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

返される結果: "Tuesday, March 6, 2018"

getPastTime

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

getPastTime(<interval>, <timeUnit>, <format>?)
パラメーター 必須 Type 説明
<interval> はい Integer 減算する指定した時間単位の数
<timeUnit> はい String 間隔と共に使用する時間単位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year"
<format> いいえ String 単一の書式指定子またはカスタム書式パターン。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

getPastTime(5, 'Day')

返される結果: "2018-01-27T00:00:00.0000000Z"

例 2

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

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

返される結果: "Saturday, January 27, 2018"

greater

1 番目の値が 2 番目の値より大きいかどうかを調べます。 1 番目の値の方が大きい場合は true を返し、大きくない場合は false を返します。

greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
パラメーター 必須 Type 説明
<value> はい 整数、浮動小数点数、混合 2 番目の値より大きいかどうかを調べる 1 番目の値
<compareTo> はい それぞれ整数、浮動小数点数、混合 比較する値
戻り値 Type 説明
true または false Boolean 1 番目の値が 2 番目の値より大きい場合は true を返します。 1 番目の値が 2 番目の値以下の場合は false を返します。

これらの例は、1 番目の値が 2 番目の値より大きいかどうかを調べます。

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

次の結果を返します。

  • 1 番目の例: true
  • 2 番目の例: false

greaterOrEquals

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

greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
パラメーター 必須 Type 説明
<value> はい 整数、浮動小数点数、混合 2 番目の値以上かどうかを調べる 1 番目の値。
<compareTo> はい それぞれ整数、浮動小数点数、混合 比較する値
戻り値 Type 説明
true または false Boolean 1 番目の値が 2 番目の値より大きいか等しい場合は true を返します。 1 番目の値が 2 番目より小さい場合は false を返します。

これらの例は、1 番目の値が 2 番目の値以上かどうかを調べます。

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

次の結果を返します。

  • 1 番目の例: true
  • 2 番目の例: false

guid

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

guid()

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

guid('<format>')
パラメーター 必須 Type 説明
<format> いいえ String 返される GUID の単一の形式指定子。 規定の形式は "D" ですが、"N"、"D"、"B"、"P"、"X" も指定できます。
戻り値 Type 説明
<GUID-value> String ランダムに生成された GUID

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

guid('P')

返される結果: "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"

I

if

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

if(<expression>, <valueIfTrue>, <valueIfFalse>)
パラメーター 必須 Type 説明
<expression> はい Boolean 調べる式。
<valueIfTrue> はい Any 式が true の場合に返す値
<valueIfFalse> はい Any 式が false の場合に返す値
戻り値 Type 説明
<specified-return-value> Any 式が true か false かに基づいて返すように指定された値

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

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

indexOf

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

indexOf('<text>', '<searchText>')
パラメーター 必須 Type 説明
<text> はい String 検索する部分文字列を含む文字列
<searchText> はい String 検索する部分文字列
戻り値 Type 説明
<index-value> Integer 指定した部分文字列の開始位置またはインデックス値。

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

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

indexOf('hello world', 'world')

返される結果: 6

INT

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

int('<value>')
パラメーター 必須 Type 説明
<value> はい String 変換する整数の文字列バージョン。 最小値と最大値は、整数データ型の制限と同じです。
戻り値 Type 説明
<integer-result> Integer 指定した文字列の整数バージョン。 最小値と最大値は、整数データ型の制限と同じです。

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

int('10')

返される結果: 10

isInt

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

isInt('<string>')
パラメーター 必須 Type 説明
<string> はい String チェックする文字列
戻り値 Type 説明
<boolean-result> Boolean 文字列が整数かどうかを示すブール値

この例では、整数を表す文字列をテストします。

isInt('10')

返される結果: true

item

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

item()
戻り値 Type 説明
<current-array-item> Any アクションの現在の繰り返しに対する配列内の現在の項目

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

item().body

items

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

items('<loopName>')
パラメーター 必須 Type 説明
<loopName> はい String for-each ループの名前
戻り値 Type 説明
<item> Any 指定した for-each ループの現在のサイクルからの項目

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

items('myForEachLoopName')

iterationIndexes

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

iterationIndexes('<loopName>')
パラメーター 必須 Type 説明
<loopName> はい String Until ループの名前
戻り値 Type 説明
<index> Integer 指定された Until ループ内の現在の繰り返しのインデックス値

この例では、カウンター変数を作成し、カウンター値が 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'))

重要

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

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

パラメーター 必須 Type 説明
<value> はい 文字列、XML 変換する文字列または XML
戻り値 Type 説明
<JSON-result> JSON ネイティブの型、オブジェクト、または配列 入力文字列または XML からの JSON ネイティブの型の値、オブジェクト、またはオブジェクトの配列。



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

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

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

例 1

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

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

返される結果: [1, 2, 3]

例 2

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

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

返される結果:

{
  "fullName": "Sophia Owen"
}

例 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"
      }
   }
}

例 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

指定したコレクションすべてに共通する項目 "のみ" を含むコレクションを返します。 結果に含まれるためには、この関数に渡されるすべてのコレクションに項目が含まれる必要があります。 1 つまたは複数の項目が同じ名前である場合は、その名前を持つ最後の項目が結果に含まれます。

intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
パラメーター 必須 Type 説明
<collection1>, <collection2>, ... はい 配列またはオブジェクト、両方ともは不可 共通項目 "のみ" を抽出するコレクション
戻り値 Type 説明
<common-items> それぞれ、配列またはオブジェクト 指定したコレクションすべてに共通する項目のみを含むコレクション

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

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

そして、それらの項目 [1, 2] "のみ" を含む配列を返します。

join

配列のすべての項目を含み、各文字が "区切り記号" で区切られた文字列を返します。

join([<collection>], '<delimiter>')
パラメーター 必須 Type 説明
<collection> はい Array 結合する項目を含む配列
<delimiter> はい String 結果の文字列内の各文字の間に挿入される区切り記号
戻り値 Type 説明
<char1><delimiter><char2><delimiter>... String 指定した配列内のすべての項目から作成された結果の文字列。



: この結果の長さは 104,857,600 文字以下にする必要があります。

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

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

返される結果: "a.b.c"

L

last

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

last('<collection>')
last([<collection>])
パラメーター 必須 Type 説明
<collection> はい 文字列、配列 最後の項目を検索するコレクション
戻り値 Type 説明
<last-collection-item> それぞれ文字列、配列 コレクション内の最後の項目

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

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

次の結果を返します。

  • 1 番目の例: "d"
  • 2 番目の例: 3

lastIndexOf

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

lastIndexOf('<text>', '<searchText>')
パラメーター 必須 Type 説明
<text> はい String 検索する部分文字列を含む文字列
<searchText> はい String 検索する部分文字列
戻り値 Type 説明
<ending-index-value> Integer 指定された部分文字列の最後の出現箇所の開始位置またはインデックス値。

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

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

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

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

使用例

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

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

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

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

length

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

length('<collection>')
length([<collection>])
パラメーター 必須 Type 説明
<collection> はい 文字列、配列 項目を数えるコレクション
戻り値 Type 説明
<length-or-count> Integer コレクション内の項目数

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

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

返される結果: 4

less

1 番目の値が 2 番目の値より小さいかどうかを調べます。 1 番目の値の方が小さい場合は true を返し、小さくないい場合は false を返します。

less(<value>, <compareTo>)
less('<value>', '<compareTo>')
パラメーター 必須 Type 説明
<value> はい 整数、浮動小数点数、混合 2 番目の値より小さいかどうかを調べる 1 番目の値
<compareTo> はい それぞれ整数、浮動小数点数、混合 比較する項目
戻り値 Type 説明
true または false Boolean 1 番目の値の方が 2 番目より小さい場合は true を返します。 1 番目の値が 2 番目の値以上の場合は false を返します。

これらの例は、1 番目の値が 2 番目の値より小さいかどうかを調べます。

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

次の結果を返します。

  • 1 番目の例: true
  • 2 番目の例: false

lessOrEquals

1 番目の値が 2 番目の値以下かどうかを調べます。 1 番目の値が小さいか等しい場合は true を返し、大きい場合は false を返します。

lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
パラメーター 必須 Type 説明
<value> はい 整数、浮動小数点数、混合 2 番目の値以下かどうかを調べる 1 番目の値。
<compareTo> はい それぞれ整数、浮動小数点数、混合 比較する項目
戻り値 Type 説明
true または false Boolean 1 番目の値が 2 番目の値より小さいか等しい場合は true を返します。 1 番目の値が 2 番目の値より大きい場合は false を返します。

これらの例は、1 番目の値が 2 番目の値以下かどうかを調べます。

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

次の結果を返します。

  • 1 番目の例: true
  • 2 番目の例: false

listCallbackUrl

トリガーまたはアクションを呼び出す "コールバック URL" を返します。 この関数は、HttpWebhook および ApiConnectionWebhook コネクタ型に対するトリガーとアクションでのみ機能し、ManualRecurrenceHTTP、および APIConnection 型では機能しません。

listCallbackUrl()
戻り値 Type 説明
<callback-URL> String トリガーまたはアクションに対するコールバック URL

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

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

M

max

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

max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
パラメーター 必須 Type 説明
<number1>, <number2>, ... はい 整数、浮動小数点数、または両方 最大値を取得する数値のセット
[<number1>, <number2>, ...] はい 配列 - 整数、浮動小数点数、または両方 最大値を取得する数値の配列
戻り値 Type 説明
<max-value> 整数または浮動小数点数 指定した配列内または数値セット内で最大の値

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

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

返される結果: 3

min

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

min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
パラメーター 必須 Type 説明
<number1>, <number2>, ... はい 整数、浮動小数点数、または両方 最小値を取得する数値のセット
[<number1>, <number2>, ...] はい 配列 - 整数、浮動小数点数、または両方 最小値を取得する数値の配列
戻り値 Type 説明
<min-value> 整数または浮動小数点数 指定した数値セット内または配列内で最小の値

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

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

返される結果: 1

mod

2 つの数値を除算した剰余を返します。 整数の結果を取得するには、div() をご覧ください。

mod(<dividend>, <divisor>)
パラメーター 必須 Type 説明
<dividend> はい 整数または浮動小数点数 divisor によって除算される値。
<divisor> はい 整数または浮動小数点数 dividend を除算する値。0 にすることはできません
戻り値 Type 説明
<modulo-result> 整数または浮動小数点数 1 番目の数値を 2 番目の数値で除算した剰余

例 1

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

mod(3, 2)

返される結果: 1

例 2

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

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

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

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

mul

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

mul(<multiplicand1>, <multiplicand2>)
パラメーター 必須 Type 説明
<multiplicand1> はい 整数または浮動小数点数 multiplicand2 と乗算する値
<multiplicand2> はい 整数または浮動小数点数 multiplicand1 と乗算する値
戻り値 Type 説明
<product-result> 整数または浮動小数点数 1 番目の数値と 2 番目の数値を乗算した積

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

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

次の結果を返します。

  • 1 番目の例: 2
  • 2 番目の例: 3

multipartBody

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

multipartBody('<actionName>', <index>)
パラメーター 必須 Type 説明
<actionName> はい String 複数の部分を含む出力を持つアクションの名前
<index> はい Integer 取得する部分のインデックス値
戻り値 Type 説明
<body> String 指定した部分の本文

N

not

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

not(<expression>)
パラメーター 必須 Type 説明
<expression> はい Boolean 調べる式。
戻り値 Type 説明
true または false Boolean 式が false の場合は true を返します。 式が true の場合は false を返します。

例 1

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

not(false)
not(true)

次の結果を返します。

  • 1 番目の例:式が false なので、関数は true を返します。
  • 2 番目の例:式が true なので、関数は false を返します。

例 2

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

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

次の結果を返します。

  • 1 番目の例:式が false なので、関数は true を返します。
  • 2 番目の例:式が true なので、関数は false を返します。

nthIndexOf

文字列内での部分文字列の n 番目の出現箇所の開始位置またはインデックス値を返します。

nthIndexOf('<text>', '<searchText>', <occurrence>)
パラメーター 必須 Type 説明
<text> はい String 検索する部分文字列を含む文字列
<searchText> はい String 検索する部分文字列
<occurrence> はい Integer 検索する部分文字列の "n" 番目の出現箇所を示す数値。 ocurrence が負の場合は、末尾から検索を開始します。
戻り値 Type 説明
<index-value> Integer 指定された部分文字列の n 番目の出現箇所の開始位置またはインデックス値。 部分文字列が見つからない、または部分文字列の出現回数が n 未満の場合は、-1 を返します。

使用例

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

O

or

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

or(<expression1>, <expression2>, ...)
パラメーター 必須 Type 説明
<expression1>, <expression2>, ... はい Boolean 調べる式
戻り値 Type 説明
true または false Boolean 少なくとも 1 つの式が true の場合は true を返します。 すべての式が false の場合は false を返します。

例 1

これらの例は、少なくとも 1 つの式が true かどうかを調べます。

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

次の結果を返します。

  • 1 番目の例:少なくとも 1 つの式が true なので、関数は true を返します。
  • 2 番目の例:両方の式が false なので、関数は false を返します。

例 2

これらの例は、少なくとも 1 つの式が true かどうかを調べます。

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

次の結果を返します。

  • 1 番目の例:少なくとも 1 つの式が true なので、関数は true を返します。
  • 2 番目の例:両方の式が false なので、関数は false を返します。

outputs

実行時のアクションの出力を返します。 デザイナーで outputs() に解決される actionOutputs() ではなく、この関数を使用してください。 どちらの関数も機能は同じですが、outputs() をお勧めします。

outputs('<actionName>')
パラメーター 必須 Type 説明
<actionName> はい String 取得するアクションの出力の名前
戻り値 Type 説明
<output> String 指定したアクションからの出力

この例は、Twitter アクション 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>')
パラメーター 必須 Type 説明
<parameterName> はい String 値を取得するパラメーターの名前。
戻り値 Type 説明
<parameter-value> Any 指定したパラメーターの値

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

{
  "fullName": "Sophia Owen"
}

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

parameters('fullName')

返される結果: "Sophia Owen"

parseDateTime

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

parseDateTime('<timestamp>', '<locale>'?, '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<locale> いいえ String 使用するロケール。

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

ロケールが有効な値でない場合は、エラーが生成されます。
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。 形式が指定されていない場合は、指定されたロケールと互換性のある複数の形式で解析を試みます。 形式が有効な値でない場合は、エラーが生成されます。
戻り値 Type 説明
<parsed-timestamp> String "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) の解析済みタイムスタンプです。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

使用例

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

R

rand

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

rand(<minValue>, <maxValue>)
パラメーター 必須 Type 説明
<minValue> はい Integer 範囲に含まれる最小の整数
<maxValue> はい Integer 関数が返すことのできる範囲内で最も大きい整数の次の整数
戻り値 Type 説明
<random-result> Integer 指定した範囲から返されるランダムな整数

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

rand(1, 5)

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

range

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

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



: startIndex 値と count 値の合計は、2,147,483,647 以下である必要があります。
戻り値 Type 説明
[<range-result>] Array 指定したインデックスから始まる整数の配列

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

range(1, 4)

返される結果: [1, 2, 3, 4]

replace

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

replace('<text>', '<oldText>', '<newText>')
パラメーター 必須 Type 説明
<text> はい String 置換する部分文字列を含む文字列
<oldText> はい String 置換前の部分文字列
<newText> はい String 置換後の文字列
戻り値 Type 説明
<updated-text> String 部分文字列を置換した後の更新された文字列

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

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

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

返される結果: "the new string"

removeProperty

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

removeProperty(<object>, '<property>')
パラメーター 必須 Type 説明
<object> はい Object プロパティを削除する JSON オブジェクト
<property> はい String 削除するプロパティの名前
戻り値 Type 説明
<updated-object> Object 指定したプロパティを含まない更新された JSON オブジェクト

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

removeProperty(<object>['<parent-property>'], '<child-property>')
パラメーター 必須 Type 説明
<object> はい Object プロパティを削除する JSON オブジェクト
<parent-property> はい String 子プロパティを削除する親プロパティの名前
<child-property> はい String 削除する子プロパティの名前
戻り値 Type 説明
<updated-object> Object 子プロパティが削除された、更新済みの JSON オブジェクト

例 1

この例では、JSON() 関数を使用して文字列から JSON に変換される JSON オブジェクトから middleName プロパティを削除し、更新されたオブジェクトを返します。

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

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

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

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

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

例 2

この例では、JSON() 関数を使用して文字列から JSON に変換される JSON オブジェクトの customerName 親プロパティから middleName 子プロパティを削除し、更新されたオブジェクトを返します。

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"
   }
}

結果

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

注意

この関数では、スコープ付きアクション内の第 1 レベルのアクションからの情報のみが返されます。switch アクションや condition アクションなど、より深い入れ子のアクションの情報は返されません。

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

result('<scopedActionName>')
パラメーター 必須 Type 説明
<scopedActionName> はい String スコープ付きアクションの名前です。最上位レベルのアクションの入力と出力がこのスコープに含まれます
戻り値 Type 説明
<array-object> Array オブジェクト 指定されたスコープ内にある各最上位アクションの入力と出力の配列を格納した配列

この例では、Compose アクションで result() 関数を使用して、For_each ループ内にある 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"
            }
         }
      ]
   }
]

S

setProperty

JSON オブジェクトのプロパティの値を設定し、更新されたオブジェクトを返します。 設定しようとしたプロパティが存在しない場合、そのプロパティがオブジェクトに追加されます。 新しいプロパティを追加するには、addProperty() 関数を使用します。

setProperty(<object>, '<property>', <value>)
パラメーター 必須 Type 説明
<object> はい Object プロパティを設定する JSON オブジェクト
<property> はい String 設定する既存または新規のプロパティの名前
<value> はい Any 指定したプロパティに設定する値

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

setProperty(<object>['<parent-property>'], '<parent-property>', setProperty(<object>['parentProperty'], '<child-property>', <value>))
パラメーター 必須 Type 説明
<object> はい Object プロパティを設定する JSON オブジェクト
<parent-property> はい String 子プロパティを設定する親プロパティの名前
<child-property> はい String 設定する子プロパティの名前
<value> はい Any 指定したプロパティに設定する値
戻り値 Type 説明
<updated-object> Object プロパティが設定された更新後の JSON オブジェクト

例 1

この例では JSON() 関数を使用して文字列から JSON に変換される JSON オブジェクトに surName プロパティを設定します。 この関数は、指定された値をこのプロパティに割り当て、更新されたオブジェクトを返します。

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

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

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

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

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

例 2

この例では、JSON() 関数を使用して文字列から JSON に変換される JSON オブジェクトの customerName 親プロパティに surName 子プロパティを設定します。 この関数は、指定された値をこのプロパティに割り当て、更新されたオブジェクトを返します。

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

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

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

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

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

skip

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

skip([<collection>], <count>)
パラメーター 必須 Type 説明
<collection> はい Array 項目を削除するコレクション
<count> はい Integer 先頭から削除する項目の数を示す正の整数
戻り値 Type 説明
[<updated-collection>] Array 指定した項目を削除した後の更新されたコレクション

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

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

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

slice

開始およびは終了位置または値を指定して部分文字列を返します。 「substring()」も参照してください。

slice('<text>', <startIndex>, <endIndex>?)
パラメーター 必須 Type 説明
<text> はい String 検索する部分文字列を含む文字列
<startIndex> はい Integer 部分文字列の検索開始位置の 0 から始まる開始位置または値

- startIndex が文字列の長さよりも大きい場合は、空の文字列を返します。

- startIndex が負の場合は、文字列長と startindex を合計したインデックス値から検索を開始します。
<endIndex> いいえ Integer 部分文字列の検索終了位置の 0 から始まる終了位置または値。 終了インデックス値にある文字は検索に含まれません。

- endIndex が指定されていない、または文字列の長さを超える場合は、文字列の末尾まで検索します。

- endIndex が負の場合は、文字列の長さと endIndex を合計したインデックス値で検索を終了します。
戻り値 Type 説明
<slice-result> String 見つかった部分文字列を含む新しい文字列

使用例

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 ''.

split

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

split('<text>', '<delimiter>')
パラメーター 必須 Type 説明
<text> はい String 元の文字列で指定された区切り記号に基づいて部分文字列に分割する文字列
<delimiter> はい String 区切り記号として使用する、元の文字列内の文字
戻り値 Type 説明
[<substring1>,<substring2>,...] Array コンマで区切られた、元の文字列からの部分文字列を含む配列

例 1

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

split('a_b_c', '_')

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

例 2

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

split('a_b_c', ' ')

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

startOfDay

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

startOfDay('<timestamp>', '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

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

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

返される結果: "2018-03-15T00:00:00.0000000Z"

startOfHour

タイムスタンプの時刻の開始を返します。

startOfHour('<timestamp>', '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

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

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

返される結果: "2018-03-15T13:00:00.0000000Z"

startOfMonth

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

startOfMonth('<timestamp>', '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

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

返される結果: "2018-03-01T00:00:00.0000000Z"

例 2

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

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

返される結果: "2018-03-01"

startsWith

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

startsWith('<text>', '<searchText>')
パラメーター 必須 Type 説明
<text> はい String 調べる文字列。
<searchText> はい String 検索する開始文字列
戻り値 Type 説明
true または false Boolean 先頭の部分文字列が見つかった場合は true を返します。 見つからなかった場合は false を返します。

例 1

この例は、文字列 "hello world" が部分文字列 "hello" で始まっているかどうかを調べます。

startsWith('hello world', 'hello')

返される結果: true

例 2

この例は、文字列 "hello world" が部分文字列 "greetings" で始まっているかどうかを調べます。

startsWith('hello world', 'greetings')

返される結果: false

string

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

string(<value>)
パラメーター 必須 Type 説明
<value> はい Any 変換する値。 この値が null の場合、または null に評価される場合、値は空の文字列 ("") 値に変換されます。



たとえば、? 演算子を使用してアクセスできる、存在しないプロパティに文字列変数を割り当てると、null 値は空の文字列に変換されます。 ただし、null 値の比較は、空の文字列の比較と同じではありません。
戻り値 Type 説明
<string-value> String 指定した値の文字列バージョン。 value パラメーターが null の場合、または null に評価される場合、この値は空の文字列 ("") 値として返されます。

例 1

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

string(10)

返される結果: "10"

例 2

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

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

返される結果: "{ \\"name\\": \\"Sophie Owen\\" }"

sub

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

sub(<minuend>, <subtrahend>)
パラメーター 必須 Type 説明
<minuend> はい 整数または浮動小数点数 subtrahend を引く数値
<subtrahend> はい 整数または浮動小数点数 minuend から引く数値
戻り値 Type 説明
<result> 整数または浮動小数点数 1 番目の数値から 2 番目の数値を減算した結果

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

sub(10.3, .3)

返される結果: 10

substring

文字列から、指定された位置またはインデックスから始まる文字を返します。 インデックス値は 0 から始まります。 「slice()」も参照してください。

substring('<text>', <startIndex>, <length>)
パラメーター 必須 Type 説明
<text> はい String 文字を取得する文字列
<startIndex> はい Integer 開始位置またはインデックスの値として使用する 0 以上の正の数
<length> いいえ Integer 取得する部分文字列の文字数を示す正の値

注意

startIndex および length パラメーター値の追加による合計が、text パラメーターに指定する文字列の長さより短いことを確認します。 それ以外の場合は、他の言語での同様の関数とは異なりエラーが発生します。他の言語での結果は startIndex から文字列の最後までの部分文字列になります。 length パラメーターは省略可能です。指定しない場合、substring() 関数が、startIndex から文字列の末尾までのすべての文字を受け取ります。

戻り値 Type 説明
<substring-result> String ソース文字列の指定したインデックス位置から始まる、指定した文字数を含む部分文字列

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

substring('hello world', 6, 5)

返される結果: "world"

subtractFromTime

タイムスタンプから時間単位数を減算します。 getPastTime もご覧ください。

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプを含む文字列。
<interval> はい Integer 減算する指定した時間単位の数
<timeUnit> はい String 間隔と共に使用する時間単位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year"
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

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

例 1

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

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

返される結果: "2018-01-01T00:00:00.0000000Z"

例 2

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

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

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

T

take

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

take('<collection>', <count>)
take([<collection>], <count>)
パラメーター 必須 Type 説明
<collection> はい 文字列、配列 項目を取得するコレクション
<count> はい Integer 先頭から取得する項目の数を示す正の整数
戻り値 Type 説明
<subset> または [<subset>] それぞれ文字列、配列 元のコレクションの先頭から取得された指定個数の項目を含む文字列または配列

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

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

次の結果を返します。

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

ticks

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

ticks('<timestamp>')
パラメーター 必須 Type 説明
<タイムスタンプ> はい String タイムスタンプの文字列
戻り値 Type 説明
<ticks-number> Integer 指定したタイムスタンプからのティック数

toLower

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

toLower('<text>')
パラメーター 必須 Type 説明
<text> はい String 小文字形式で返される文字列
戻り値 Type 説明
<lowercase-text> String 元の文字列の小文字形式

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

toLower('Hello World')

返される結果: "hello world"

toUpper

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

toUpper('<text>')
パラメーター 必須 Type 説明
<text> はい String 大文字形式で返される文字列
戻り値 Type 説明
<uppercase-text> String 元の文字列の大文字形式

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

toUpper('Hello World')

返される結果: "HELLO WORLD"

トリガー (trigger)

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

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

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

既定では、この関数はトリガー オブジェクト全体を参照しますが、必要に応じて値を取得するプロパティを指定することができます。 この関数には短縮バージョンがあります。triggerOutputs() および triggerBody() をご覧ください。

trigger()
戻り値 Type 説明
<trigger-output> String 実行時のトリガーからの出力

triggerBody

実行時にトリガーの body 出力を返します。 trigger().outputs.body の短縮形です。 trigger() をご覧ください。

triggerBody()
戻り値 Type 説明
<trigger-body-output> String トリガーからの body 出力

triggerFormDataMultiValues

トリガーの form-data 出力または form-encoded 出力内のキー名と一致する値の配列を返します。

triggerFormDataMultiValues('<key>')
パラメーター 必須 Type 説明
<key> はい String 値を指定するキーの名前
戻り値 Type 説明
[<array-with-key-values>] Array 指定したキーと一致するすべての値で構成される配列

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

triggerFormDataMultiValues('feedUrl')

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

triggerFormDataValue

トリガーの form-data 出力または form-encoded 出力内のキー名と一致する単一の値の文字列を返します。 複数の一致が見つかった場合、関数はエラーをスローします。

triggerFormDataValue('<key>')
パラメーター 必須 Type 説明
<key> はい String 値を指定するキーの名前
戻り値 Type 説明
<key-value> String 指定したキーの値

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

triggerFormDataValue('feedUrl')

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

triggerMultipartBody

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

triggerMultipartBody(<index>)
パラメーター 必須 Type 説明
<index> はい Integer 取得する部分のインデックス値
戻り値 Type 説明
<body> String トリガーの複数の部分からなる出力内の指定した部分の本文

triggerOutputs

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

triggerOutputs()
戻り値 Type 説明
<trigger-output> String 実行時のトリガーからの出力

trim

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

trim('<text>')
パラメーター 必須 Type 説明
<text> はい String 先頭と末尾に削除する空白を含む文字列
戻り値 Type 説明
<updatedText> String 先頭または末尾の空白が削除された、元の文字列の更新バージョン

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

trim(' Hello World  ')

返される結果: "Hello World"

U

union

指定した複数のコレクションの "すべての" 項目を含む 1 つのコレクションを返します。 この関数に渡されるいずれかのコレクションに含まれる項目は、結果にも含まれます。 1 つまたは複数の項目が同じ名前である場合は、その名前を持つ最後の項目が結果に含まれます。

union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
パラメーター 必須 Type 説明
<collection1>, <collection2>, ... はい 配列またはオブジェクト、両方ともは不可 "すべての" 項目を取得するコレクション
戻り値 Type 説明
<updatedCollection> それぞれ、配列またはオブジェクト 指定したコレクションのすべての項目を含むコレクション。重複はありません。

この例は、以下のコレクションから "すべての" 項目を取得します。

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

返される結果: [1, 2, 3, 10, 101]

uriComponent

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

uriComponent('<value>')
パラメーター 必須 Type 説明
<value> はい String URI エンコード形式に変換する文字列
戻り値 Type 説明
<encoded-uri> String エスケープ文字が使われている URI エンコード文字列

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

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

返される結果: "https%3A%2F%2Fcontoso.com"

uriComponentToBinary

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

uriComponentToBinary('<value>')
パラメーター 必須 Type 説明
<value> はい String 変換する URI エンコード文字列
戻り値 Type 説明
<binary-for-encoded-uri> String URI エンコード文字列のバイナリ バージョン バイナリ コンテンツは base64 でエンコードされ、$content によって表されます。

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

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

返される結果:

"001000100110100001110100011101000111000000100101001100 11010000010010010100110010010001100010010100110010010001 10011000110110111101101110011101000110111101110011011011 110010111001100011011011110110110100100010"

uriComponentToString

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

uriComponentToString('<value>')
パラメーター 必須 Type 説明
<value> はい String デコードする URI エンコード文字列
戻り値 Type 説明
<decoded-uri> String URI エンコード文字列のデコード バージョン

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

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

返される結果: "https://contoso.com"

uriHost

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

uriHost('<uri>')
パラメーター 必須 Type 説明
<uri> はい String host 値を取得する URI
戻り値 Type 説明
<host-value> String 指定した URI の host

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

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

返される結果: "www.localhost.com"

uriPath

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

uriPath('<uri>')
パラメーター 必須 Type 説明
<uri> はい String path 値を取得する URI
戻り値 Type 説明
<path-value> String 指定した URI の pathpath に値がない場合は、"/" 文字を返します。

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

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

返される結果: "/catalog/shownew.htm"

uriPathAndQuery

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

uriPathAndQuery('<uri>')
パラメーター 必須 Type 説明
<uri> はい String pathquery の値を取得する URI
戻り値 Type 説明
<path-query-value> String 指定した URI の pathquery の値。 path の値が指定されていない場合は、"/" 文字を返します。

この例は、次の 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>')
パラメーター 必須 Type 説明
<uri> はい String port 値を取得する URI
戻り値 Type 説明
<port-value> Integer 指定した URI の portport の値が指定されていない場合は、プロトコルの既定のポートを返します。

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

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

返される結果: 8080

uriQuery

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

uriQuery('<uri>')
パラメーター 必須 Type 説明
<uri> はい String query 値を取得する URI
戻り値 Type 説明
<query-value> String 指定した URI の query

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

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

返される結果: "?date=today"

uriScheme

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

uriScheme('<uri>')
パラメーター 必須 Type 説明
<uri> はい String scheme 値を取得する URI
戻り値 Type 説明
<scheme-value> String 指定した URI の scheme

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

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

返される結果: "http"

utcNow

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

utcNow('<format>')

必要に応じて、<format> パラメーターで異なる形式を指定できます。

パラメーター 必須 Type 説明
<format> いいえ String 1 つの書式指定子またはカスタム書式指定パターンである数値書式指定文字列。 timestamp の既定の形式は "o" (yyyy-MM-ddTHH:mm:ss.fffffffK) です。これは、ISO 8601 に準拠し、タイム ゾーン情報が保持されます。

形式が有効な値でない場合は、エラーが生成されます。
戻り値 Type 説明
<current-timestamp> String 現在の日付と時刻

例 1

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

utcNow()

返される結果: "2018-04-15T13:00:00.0000000Z"

例 2

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

utcNow('D')

返される結果: "Sunday, April 15, 2018"

V

variables

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

variables('<variableName>')
パラメーター 必須 Type 説明
<variableName> はい String 値を取得する変数の名前
戻り値 Type 説明
<variable-value> Any 指定した変数の値

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

variables('numItems')

返される結果: 20

W

workflow

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

workflow().<property>
パラメーター 必須 Type 説明
<property> いいえ String 値を取得するワークフロー プロパティの名前



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



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



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



: 既定では、ロジック アプリにはタグがありませんが、Power Automate のフローには flowDisplayName タグと environmentName タグがあります。

例 1

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

workflow().run.name

例 2

Power Automate を使用する場合は、tags 出力プロパティを使用する @workflow() 式を作成して、フローの 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>')
パラメーター 必須 Type 説明
<value> はい String 変換する JSON オブジェクトを含む文字列

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

例 1

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

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

返される結果の XML:

<name>Sophia Owen</name>

例 2

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

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

返される結果の XML:

<name>Sophia Owen</name>

例 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 ドキュメント構造内の移動を補助します。

xpath('<xml>', '<xpath>')
パラメーター 必須 Type 説明
<xml> はい Any XPath 式の値に一致するノードまたは値を検索する XML 文字列
<xpath> はい Any 一致する XML ノードまたは値の検索に使用する XPath 式
戻り値 Type 説明
<xml-node> XML 1 つのノードだけが指定した XPath 式と一致するときの XML ノード
<value> Any 1 つの値だけが指定した XPath 式と一致するときの XML ノードの値
[<xml-node1>, <xml-node2>, ...] - または - [<value1>, <value2>, ...] Array 指定した XPath 式と一致する XML ノードまたは値の配列

例 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' を渡して、'items' XML 文字列内の <name></name> ノードに一致するノードを検索し、それらのノード値を含む配列を返します。

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

さらに、この例では、parameters() 関数を使って 'items' から XML 文字列を取得し、xml() 関数を使って文字列を XML 形式に変換します。

次に示すのは、<name></name と一致するノードを含む結果の配列です。

[ <name>Gala</name>, <name>Honeycrisp</name> ]

例 2

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

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

結果は次のとおりです: Gala

例 3

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

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

結果は次のとおりです: Honeycrisp

例 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]' を渡して、expired 属性を持つすべての name 要素を検索します。

xpath(xml(parameters('items')), '//name[@expired]')

結果は次のとおりです: [ Gala, Honeycrisp ]

例 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']' を渡して、属性 expired = 'true' を持つすべての name 要素を検索します。

xpath(xml(parameters('items')), '//name[@expired = 'true']')

結果は次のとおりです: [ Gala ]

例 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]' を渡して、price > 35 を持つすべての name 要素を検索します。

xpath(xml(parameters('items')), '//name[price>35]')

結果は次のとおりです: Honeycrisp

例 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

例 8

この例では、次の XML 文字列があるとします。これには、XML ドキュメントの名前空間 xmlns="https://contoso.com" が含まれています。

<?xml version="1.0"?><file xmlns="https://contoso.com"><location>Paris</location></file>

これらの式では、XPath 式 /*[name()="file"]/*[name()="location"] または /*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"] を使用して、<location></location> ノードに一致するノードを検索します。 これらの例は、デザイナーまたは式エディターで使用する構文を示しています。

  • xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')
  • xpath(xml(body('Http')), '/*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"]')

<location></location> ノードと一致する結果のノード:

<location xmlns="https://contoso.com">Paris</location>

重要

コード ビューで作業している場合は、円記号 (\) を使用して二重引用符 (") をエスケープします。 たとえば、式を JSON 文字列としてシリアル化する場合は、エスケープ文字を使用する必要があります。 ただし、デザイナーまたは式エディターで作業している場合、基になる定義に円記号が自動的に追加されるため、二重引用符をエスケープする必要はありません。次に例を示します。

  • コード ビュー: xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')

  • 式エディター: xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')

例 9

例 8 に続いてこの例では、XPath 式 'string(/*[name()="file"]/*[name()="location"])' を使用して、<location></location> ノードの値を検索します。

xpath(xml(body('Http')), 'string(/*[name()="file"]/*[name()="location"])')

結果は次のとおりです: Paris

次のステップ

ワークフロー定義言語について学習してください