次の方法で共有


ワークフローの動的コンテンツ

注:

Microsoft Purview データ カタログ (クラシック) と Data Health Insights (クラシック) は新しい顧客を引き受けなくなり、これらのサービス (以前は Azure Purview) はカスタマー サポート モードになりました。

重要

この機能は現在プレビューの段階です。 Microsoft Azure プレビューの補足使用条件には、ベータ版、プレビュー版、または一般公開されていない Azure 機能に適用される追加の法的条件が含まれています。

Microsoft Purview ワークフロー内の動的コンテンツを使用して、ワークフロー内の特定の変数を関連付けたり、他の式を追加してこれらの値を処理したりできます。

ワークフローに動的コンテンツを追加すると、ワークフロー内の情報を参照して処理する指定された構成要素から式を作成し、必要な値をリアルタイムで取得できます。

動的コンテンツ メニューでは、現在使用可能なオプションは次のとおりです。

  • 組み込み変数 - ワークフローをトリガーした項目からワークフローに送信される値を表す変数
  • - ワークフロー内の値を処理できる関数と変数から構築された数式。

組み込み変数

現在、Microsoft Purview のワークフロー コネクタでは、次の変数を使用できます。

前提条件コネクタ 組み込み変数 機能 使用可能な値
データ アクセス要求が送信されたとき
資産更新要求が送信されたとき
Workflow.Requestor ワークフローの要求者の ID string
Asset.Name 資産の名前 string
Asset.Description 資産の説明 string または null
Asset.Type 資産の種類 string
Asset.完全修飾名 資産の完全修飾名 string
Asset.Owner 資産のデータ所有者の ID 文字列s の配列
Asset.Classification 資産の分類の表示名 文字列s の配列
Asset.Schema.Classification 資産スキーマの列に適用される分類の表示名 文字列s の配列
認定 Asset.Is 資産がorganizationの品質基準を満たし、信頼性が高いとみなすことができるかどうかの指標 boolean true または false
データ アクセス要求が送信されたとき Workflow.Request Recipient ワークフローの要求受信者の ID string
承認を開始して待つ Approval.Outcome 承認の結果 string 'Approved' または 'Rejected'
Approval.Assigned To 承認者の ID 文字列s の配列
Approval.Comments 承認者の名前とそのコメント string
データソースの登録でデータ使用ガバナンスを確認する データ使用ガバナンス データの結果は、ガバナンス チェックを使用します boolean true または false
用語作成要求が送信されたとき Workflow.Requestor ワークフローの要求者の ID string
Term.Name 用語の名前 string
Term.Formal Name 用語の正式な名前 string
Term.Definition 用語の定義 string
Term.Experts 用語の専門家の ID 文字列s の配列
Term.Stewards 用語のスチュワードの ID 文字列s の配列
Term.Parent.Name 存在する場合の親用語の名前 string
Term.Parent.Formal Name 存在する場合の親用語の正式な名前 string
用語更新要求が送信されたとき
用語削除要求が送信されたとき
Workflow.Requestor ワークフローのリクエスタ string
Term.Name 用語の名前 string
Term.Formal Name 用語の正式な名前 string
Term.Definition 用語の定義 string または null
Term.Experts 用語の専門家の ID 文字列s の配列
Term.Stewards 用語のスチュワードの ID 文字列s の配列
Term.Parent.Name 存在する場合の親用語の名前 string
Term.Parent.Formal Name 存在する場合の親用語の正式な名前 string
Term.Created By 用語の作成者の ID string
Term.Last Updated By 用語の最後のアップデーターの ID string
用語インポート要求が送信されたとき Workflow.Requestor ワークフローの要求者の ID string
File.Name のインポート インポートするファイルの名前 string
Http Http.Body HTTP 応答本文 オブジェクト または 文字列
Http.Headers HTTP 応答ヘッダー object
Http.Status Code HTTP ステータス コード string
各に適用する アイテム [各アクションに適用] の現在の項目 任意
インデックス Until アクションの現在のイテレーション インデックス integer
レコードを作成する
レコードを削除する
レコードを取得する
レコードの更新
結果 ServiceNow アクションの結果 object
レコードの種類を取得する
レコードを一覧表示する
結果 ServiceNow アクションの結果 オブジェクトs の配列

Microsoft Purview のワークフロー定義を使用すると、式の関数を使用してワークフロー内の値を処理できます。

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

ワークフローを構築していて、式に関数を追加する場合は、次の手順に従います。

  1. 編集する値を選択します。
  2. テキスト ボックスの下に表示される [ 動的コンテンツの追加] ボタンを選択します。
  3. 動的コンテンツ ウィンドウで [ ] タブを選択し、スクロールして値を選択します。
  4. 式を更新し、[ OK] を 選択して追加します。

[動的コンテンツを使用する] が強調表示され、[式] タブが表示されているワークフロー テキスト フィールドを示すスクリーンショット。

考慮事項

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

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

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

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

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

  • 関数にはオーバーロードがあり、これは同じ名前の関数の複数のバージョンですが、指定した入力に応じてタスクを実行する方法が異なります。

以降のセクションでは、 汎用に基づいて関数を整理するか、これらの関数を アルファベット順に参照できます。

文字列を処理する関数

文字列を操作するには、これらの文字列関数と一部の コレクション関数を使用できます。 文字列関数は、文字列でのみ機能します。

String 関数 タスク
endsWith 文字列が指定した部分文字列で終わるかどうかを確認します。
startsWith 文字列が特定の部分文字列で始まるかどうかを確認します。

コレクション関数

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

コレクション関数 タスク
含む コレクションに特定の項目があるかどうかを確認します。
length コレクション内の項目の数、または文字列の長さを返します。

論理比較関数

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

論理比較関数 タスク
not 式が false かどうかを確認します。 式が false の場合は true を返し、true の場合は false を返します。
and すべての式が true かどうかを確認します。 すべての式が true の場合は true を返し、少なくとも 1 つの式が false の場合は false を返します。
or 少なくとも 1 つの式が true かどうかを確認します。 少なくとも 1 つの式が true の場合は true を返し、すべて false の場合は false を返します。
等しい 両方の値が等価であるかどうかを確認します。
最初の値が 2 番目の値より大きいかどうかを確認します。
greaterOrEquals 最初の値が 2 番目の値以上かどうかを確認します。
レス 最初の値が 2 番目の値より小さいかどうかを確認します。
lessOrEquals 最初の値が 2 番目の値以下かどうかを確認します。

ユーザー機能

ユーザーと連携するには、他のユーザーやグループとの関係、およびアクセスするリソース (メール、予定表、ファイル、管理ロール、グループ メンバーシップなど) を使用します。 各関数に関する完全なリファレンスについては、 アルファベット順の一覧を参照してください。

ユーザー関数 タスク
getUserName ユーザーの名前を取得します。
getManager ユーザーのマネージャーの ID を取得します。
memberOfGroup ユーザーがグループのメンバーであるかどうかを確認します。

変換関数

値の型または形式を変更するには、これらの変換関数を使用できます。 各関数に関する完全なリファレンスについては、 アルファベット順の一覧を参照してください。

変換関数 タスク
createArray 任意の数の入力から配列を返します。
createObject 空のオブジェクトを返します。
string 値の文字列バージョンを返します。
int 入力値を整数値に変換してみてください。
float 入力値を浮動小数点数に変換してみてください。
bool 入力値をブール値に変換してみてください。
object 入力値を オブジェクトに変換してみてください。
array 入力値を配列に変換してみてください。
nullOrElse null 許容値に既定値を指定します。

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

and

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

パラメーター 説明
value boolean チェックする最初の式
価値観。。。 boolean チェックする残りの式
戻り値の型 説明
boolean すべての式が true の場合は true を返します。 少なくとも 1 つの式が false の場合は false を返します。

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

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

次の結果を返します。

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

配列

この関数は、入力値を配列に変換しようとします。 より広い型から配列に値をキャストするために使用 されます。 項目から配列を作成するには、「 createArray」を参照してください。

パラメーター 説明
value 任意 変換する値
戻り値の型 説明
array 変換された配列値

次の使用例は、配列型の "各に適用" アクションの Item をアサートします。

array(items('Appy to each'))

bool

この関数は、入力値をブール値に変換しようとします。 より広範な型からブール型に値をキャストするために使用 されます

パラメーター 説明
value 任意 変換する値
戻り値の型 説明
boolean 変換されたブール値

次の使用例は、"各に適用する" アクションの Itemブール 型としてアサートします。

bool(items('Appy to each'))

contains

コレクションに特定の項目があるかどうかを確認します。 アイテムが見つかった場合は true を返し、見つからない場合は false を返します。

オーバーロード 1: 部分文字列を検索する文字列

このオーバーロードでは、大文字と小文字が区別されます。

パラメーター 説明
コレクション string チェックする文字列
string 検索する部分文字列
戻り値の型 説明
boolean 部分文字列が見つかった場合は true を返します。 見つからない場合は false を返します。

オーバーロード 2: 値を検索する配列

パラメーター 説明
コレクション array チェックするコレクション
任意 検索する項目
戻り値の型 説明
boolean 項目が見つかった場合は true を返します。 見つからない場合は false を返します。

例 1

次の使用例は、文字列 "hello world" で部分文字列 "world" をチェックし、 trueを返します。

contains('hello world', 'world')

例 2

次の使用例は、変数 Workflow.Requestor と等しい項目の変数 Asset.Owner を確認します。

contains(runInput()['asset']['dataOwner'], runInput()['requestor'])

createArray

任意の数の入力から配列を返します。 この関数では、入力値が同じ型である必要はありません。

パラメーター 説明
価値観。。。 任意 配列を作成する値。
戻り値の型 説明
array すべての入力項目から作成された配列

次の例では、入力から配列を作成します。

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

createObject

空のオブジェクトを返します。

戻り値の型 説明
object 空のオブジェクト

次の使用例は、入力から配列を作成し、 {}を返します。

createObject()

endsWith

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

パラメーター 説明
テキスト string チェックする文字列
searchText string 検索する終了部分文字列
戻り値の型 説明
boolean 終了部分文字列が見つかった場合は true を返します。 見つからない場合は false を返します。

例 1

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

endsWith('hello world', 'world')

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

例 2

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

endsWith('hello world', 'universe')

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

等しい

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

パラメーター 説明
value 任意 比較する値、式、またはオブジェクト
compareTo 任意 比較値、式、またはオブジェクト
戻り値の型 説明
boolean 両方が同等の場合は true を返します。 等価でない場合は false を返します。

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

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

次の結果を返します。

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

浮動小数点数

この関数は、入力値を浮動小数点数に変換しようとします。 より広範な型から float に値をキャストするために使用されます。

パラメーター 説明
value 任意 変換する値
戻り値の型 説明
float 変換された float 値

次の使用例は、"各に適用する" アクションの Itemfloat 型としてアサートします。

float(items('Appy to each'))

getManager

Microsoft Entra IDでユーザーのマネージャーの ID を取得します。

オーバーロード 1: 1 人のユーザーの Get

パラメーター 説明
userId string 入力ユーザーの ID
戻り値の型 説明
string または null 入力ユーザーのマネージャーの ID、または存在しない場合は null

オーバーロード 2: 複数のユーザーに対して取得する

パラメーター 説明
userId array 入力ユーザーの ID
戻り値の型 説明
array 入力ユーザーのマネージャーの ID の和集合

次の例では、入力ユーザーのマネージャーを取得します。

getManager(runInput()['requestor'])
getManager(runInput()['term']['stewards'])
  • 最初の例: 入力パラメーターは文字列であるため、Workflow.Requestor のマネージャーの ID を返します
  • 2 番目の例: 入力パラメーターは配列であるため、 Term.Stewards のマネージャーの ID の和集合を返します。

getUserName

Microsoft Entra IDでユーザーの名前を取得します。

オーバーロード 1: 1 人のユーザーの Get

パラメーター 説明
userId string 入力ユーザーの ID
戻り値の型 説明
string 入力ユーザーの名前

オーバーロード 2: 複数のユーザーに対して取得する

パラメーター 説明
userId array 入力ユーザーの ID
戻り値の型 説明
array 入力ユーザーの名前

これらの例では、入力ユーザーの名前を取得します。

getUserName(runInput()['requestor'])
getUserName(runInput()['term']['stewards'])
  • 最初の例: 入力パラメーターは文字列であるため、Workflow.Requestor の名前を返します
  • 2 番目の例: 入力パラメーターは配列であるため、 Term.Stewards の名前の配列を返します。

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

オーバーロード 1: 数値を比較する

パラメーター 説明
value integer または float 2 番目の値より大きいかどうかをチェックする最初の値
compareTo integer または float 比較値
戻り値の型 説明
boolean 最初の値が 2 番目の値より大きい場合は true を返します。 最初の値が 2 番目の値以下の場合は false を返します。

オーバーロード 2: 文字列を比較する

パラメーター 説明
value string 2 番目の値より大きいかどうかをチェックする最初の値
compareTo string 比較値
戻り値の型 説明
boolean 最初の値が 2 番目の値より大きい場合は true を返します。 最初の値が 2 番目の値以下の場合は false を返します。

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

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

次の結果を返します。

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

greaterOrEquals

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

オーバーロード 1: 数値を比較する

パラメーター 説明
value integer または float 2 番目の値より大きいか等しいかをチェックする最初の値
compareTo integer または float 比較値
戻り値の型 説明
boolean 最初の値が 2 番目の値以上の場合は true を返します。 最初の値が 2 番目の値より小さい場合は false を返します。

オーバーロード 2: 文字列を比較する

パラメーター 説明
value string 2 番目の値より大きいか等しいかをチェックする最初の値
compareTo string 比較値
戻り値の型 説明
boolean 最初の値が 2 番目の値以上の場合は true を返します。 最初の値が 2 番目の値より小さい場合は false を返します。

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

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

次の結果を返します。

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

int

この関数は、入力値を整数値に変換しようとします。 より広範な型から 整数に値をキャストするために使用されます。

パラメーター 説明
value 任意 変換する値
戻り値の型 説明
整数 変換された整数値

次の使用例は、"Apply to each" アクションの Item整数 型にアサートします。

int(items('Appy to each'))

length

コレクション内の項目の数、または文字列の長さを返します。

パラメーター 説明
value 文字列 または 配列 カウントする項目を含む文字列またはコレクション
戻り値の型 説明
boolean コレクション内の項目の数または文字列の長さ

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

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

両方ともこの結果を返します。 4

レス

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

オーバーロード 1: 数値を比較する

パラメーター 説明
value integer または float 2 番目の値より小さいかどうかをチェックする最初の値
compareTo integer または float 比較値
戻り値の型 説明
boolean 最初の値が 2 番目の値より小さい場合は true を返します。 最初の値が 2 番目の値以上の場合は false を返します。

オーバーロード 2: 文字列を比較する

パラメーター 説明
value string 2 番目の値より大きいかどうかをチェックする最初の値
compareTo string 比較値
戻り値の型 説明
boolean 最初の値が 2 番目の値より小さい場合は true を返します。 最初の値が 2 番目の値以上の場合は false を返します。

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

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

次の結果を返します。

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

lessOrEquals

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

オーバーロード 1: 数値を比較する

パラメーター 説明
value integer または float 2 番目の値以下かどうかをチェックする最初の値
compareTo integer または float 比較値
戻り値の型 説明
boolean 最初の値が 2 番目の値以下の場合は true を返します。 最初の値が 2 番目の値より大きい場合は false を返します。

オーバーロード 2: 文字列を比較する

パラメーター 説明
value string 2 番目の値以下かどうかをチェックする最初の値
compareTo string 比較値
戻り値の型 説明
boolean 最初の値が 2 番目の値以下の場合は true を返します。 最初の値が 2 番目の値より大きい場合は false を返します。

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

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

次の結果を返します。

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

memberOfGroup

ユーザーがMicrosoft Entra IDのグループのメンバーであるかどうかを確認します。 グループ ID は、グループ管理ページMicrosoft Entra参照してください。

パラメーター 説明
userId string 入力ユーザーの ID
groupId string チェックするグループの ID
戻り値の型 説明
boolean ユーザーがグループのメンバーである場合は true を返します。 ユーザーがグループのメンバーでない場合、またはグループが存在しない場合は false を返します。

次の例では、Workflow.Requestor が指定したグループのメンバーであるかどうかをチェックします。

memberOfGroup(runInput()['requestor'], '00000000-0000-0000-0000-111111111111')

not

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

パラメーター 説明
value boolean チェックする式
戻り値の型 説明
boolean 式が false の場合は true を返します。 式が true の場合は false を返します。

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

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

次の結果を返します。

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

nullOrElse

null 許容値に既定値を指定します。 null 非許容値を返します。

オーバーロード 1: 文字列バージョン

パラメーター 説明
value string または null null 許容値
defaultValue string フォールバック値
戻り値の型 説明
string null でない場合は、入力値を返します。 入力値が null の場合は、既定値を返します。

オーバーロード 2: 整数バージョン

パラメーター 説明
value integer または null null 許容値
defaultValue integer フォールバック値
戻り値の型 説明
整数 null でない場合は、入力値を返します。 入力値が null の場合は、既定値を返します。

オーバーロード 3: Float バージョン

パラメーター 説明
value float または null null 許容値
defaultValue float フォールバック値
戻り値の型 説明
float null でない場合は、入力値を返します。 入力値が null の場合は、既定値を返します。

オーバーロード 4: ブールバージョン

パラメーター 説明
value boolean または null null 許容値
defaultValue boolean フォールバック値
戻り値の型 説明
boolean null でない場合は、入力値を返します。 入力値が null の場合は、既定値を返します。

オーバーロード 5: 配列バージョン

パラメーター 説明
value array または null null 許容値
defaultValue array フォールバック値
戻り値の型 説明
array null でない場合は、入力値を返します。 入力値が null の場合は、既定値を返します。

オーバーロード 6: オブジェクト のバージョン

パラメーター 説明
value object または null null 許容値
defaultValue object フォールバック値
戻り値の型 説明
object null でない場合は、入力値を返します。 入力値が null の場合は、既定値を返します。

次の例では、null 許容変数 Term.Definition に既定値を 'Empty'します。

nullOrElse(runInput()['term']['definition'], 'Empty')

object

この関数は、入力値をオブジェクト値に変換しようとします。 より広い型からオブジェクトに値をキャストするために使用 されます

パラメーター 説明
value 任意 変換する値
戻り値の型 説明
boolean 変換されたオブジェクト値

次の使用例は、オブジェクト型の "各に適用" アクションの Item をアサートします。

object(items('Appy to each'))

または

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

パラメーター 説明
value boolean チェックする最初の式
価値観。。。 boolean チェックする残りの式
戻り値の型 説明
boolean 少なくとも 1 つの式が true の場合は true を返します。 すべての式が false の場合は false を返します。

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

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

次の結果を返します。

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

startsWith

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

パラメーター 説明
テキスト string チェックする文字列
searchText string 検索する開始部分文字列
戻り値の型 説明
boolean 開始部分文字列が見つかった場合は true を返します。 見つからない場合は false を返します。

例 1

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

startsWith('hello world', 'hello')

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

例 2

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

startsWith('hello world', 'greetings')

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

string

この関数は、値の文字列バージョンを返します。

パラメーター 説明
value 任意 変換する値
戻り値の型 説明
string 指定した値の文字列バージョン。 value パラメーターが null の場合、この値は空の文字列 ("") 値として返されます。

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

string('abc')
string(true)
string(createArray())

次の結果を返します。

  • 最初の例: 入力値は文字列であるため、id 値 'abc'を返します。
  • 2 番目の例: ブール値の文字列バージョンは大文字であるため、関数は 'True'を返します。
  • 3 番目の例: 配列またはオブジェクトは JSON 形式に変換されるため、関数は '[]'を返します。

次の手順

ワークフローの詳細については、次の記事を参照してください。