関数を実行
OData では、操作を使用して、サーバー側操作をエンティティに追加します。関数は 1 つのエンティティまたはエンティティのコレクションをターゲットにできます。関数は、エンティティまたはコレクションに直接対応しないデータを返します。
OData メタデータで定義されている関数を実行するには、「関数を実行」操作を使用します。
ワークフローで「関数を実行」操作を使用するには、次の手順を完了します。
1. 「OData」の下の「関数を実行」操作をキャンバスにドラッグし、この操作にマウスポインタを合わせて をクリックするか、この操作をダブルクリックします。「関数を実行」ウィンドウが開きます。
2. 必要に応じて、「ラベル」を編集します。デフォルトでは、ラベル名は操作名と同じです。
3. OData コネクタタイプを追加するには、サポートされている OData コネクタタイプを参照してください。
以前にコネクタタイプを追加した場合は、該当する「コネクタタイプ」を選択し、「コネクタ名」でコネクタを選択します。
4. 「テスト」をクリックしてこのコネクタを検証します。
5. 「マップコネクタ」をクリックして、入力フィールドの設定に使用しているコネクタとは異なるコネクタを使用して操作を実行します。「ランタイムコネクタ」フィールドに、有効な OData コネクタ名を入力します。「マップコネクタ」の詳細については、マップコネクタの使用を参照してください。
6. 参照先ドメインで FunctionImport によって説明されているすべての関数を表示するには、「参照ドメインを含める」チェックボックスをオンにします。
7. 「関数」リストで、実行する OData 関数を選択します。
入力フォームのフィールドは、選択した関数に基づいて動的に変化します。
8. 「フォーム」を選択して、フォームにリストされている個々のプロパティの入力を指定するか、「JSON を割り当て」を選択して、必要なすべてのプロパティを含む 1 つの JSON を指定します。
9. 「クエリータイプ」リストのオプションを使用して、出力に含めるオブジェクトプロパティに基づいて出力をフィルタします。その関数がオブジェクトを返さない場合、「クエリータイプ」オプションは使用できません。
関数の戻り値のタイプに応じて、クエリーには次のパラメータがあります。
単一オブジェクト - 「プロパティを選択」「関連アイテムを追加」
オブジェクトのコレクション - 「フィルタ」「プロパティを選択」「関連アイテムを追加」「制限」「スキップ」
「クエリータイプ」リストで、フォームベースのクエリー離散クエリー、または直接入力クエリーを選択して、クエリーパラメータを入力します。
「フォームベースのクエリー」
a. (オブジェクトのコレクションでのみ使用可能) 「フィルタ」グループで、次の操作を行います。
a. 「結合手段」リストで、フィルタ条件を結合する論理演算子を選択します。デフォルト値は「and」です。
b. 「フィルタ条件」で、「追加」をクリックしてフィルタを追加します。
「プロパティ」 - プロパティを選択します。
「一致条件」 - 条件を選択します。条件は、文字列やブールなど、選択したプロパティのタイプによって異なります。
「値」 - プロパティの値を入力します。
複数のフィルタを追加するには、「追加」をクリックします。追加したフィルタを削除するには、 をクリックします。
同じプロパティを追加して「結合手段」リストで「AND」を選択した場合、それらの属性は「OR」演算子によって結合されます。
b. 「プロパティを選択」「追加」をクリックし、「プロパティ」リストで、値を取得するプロパティを選択します。
複数のプロパティを追加するには、「追加」をクリックします。追加したプロパティを削除するには、 をクリックします。
任意のプロパティを選択した場合、デフォルトでは、選択したプロパティと 'キー' プロパティの値が出力で取得されます。プロパティを 1 つも選択していない場合、デフォルトでは、エンティティのすべてのプロパティが出力に含まれます。
c. 「関連アイテムを追加」「追加」をクリックし、「関連アイテム」リストで、値を取得する関連アイテムを選択します。
複数の関連アイテムを追加するには、「追加」をクリックします。追加した関連アイテムを削除するには、 をクリックします。
NavigationProperty としてマークされているプロパティは、「関連アイテム」として分類されます。
d. (オブジェクトのコレクションでのみ使用可能) 「制限」フィールドに、出力を一定数のエンティティに制限するための値を入力します。
e. (オブジェクトのコレクションでのみ使用可能) 「スキップ」フィールドに、スキップするリソースの数を入力します。
「離散クエリー」
a. (オブジェクトのコレクションでのみ使用可能) 「フィルタ」フィールドで、OData フィルタ基準を propertyName operator 'value' [and | or | not]... フォーマットで指定します。
たとえば、number eq '0000222341' または name eq 'PTC' または startswith(name, 'PTC')
b. 「プロパティを選択」フィールドで、プロパティ名のコンマ区切りリストを提供する OData 選択式を指定します。
クエリーで任意のプロパティを指定した場合、デフォルトでは、選択したプロパティの値が出力で取得されます。プロパティを 1 つも指定していない場合、デフォルトでは、エンティティのすべてのプロパティが出力に含まれます。
c. 「関連アイテムを追加」フィールドで、関連アイテムのコンマ区切りリストを提供する OData 選択式を指定します。
NavigationProperty としてマークされているプロパティは、「関連アイテム」として分類されます。
d. (オブジェクトのコレクションでのみ使用可能) 「制限」フィールドに、取得するサーチ結果の数を入力します。
e. (オブジェクトのコレクションでのみ使用可能) 「スキップ」フィールドに、サーチ結果から上位何件の結果をスキップするかを入力します。
「直接入力クエリー」
「クエリー」フィールドで、OData 照会定義式を指定します。
例: $select=name,number&$expand=context&$top=2&$skip=1&$orderby=name asc&$filter=name eq 'PTC'
クエリーで任意のプロパティを指定した場合、デフォルトでは、選択したプロパティの値が出力で取得されます。プロパティを 1 つも指定していない場合、デフォルトでは、エンティティのすべてのプロパティが出力に含まれます。
NavigationProperty としてマークされているプロパティは、「関連アイテム」として分類されます。
関数の戻り値のタイプに応じて、クエリー定義式でフィルタ、制限、スキップのパラメータを指定できます。
10. 「追加のフィールドを表示」をクリックします。
11. 「ヘッダー」グループで「追加」をクリックして、リクエストにカスタムヘッダーを追加します。キーのペアを指定します。
キーと値の複数のペアを追加するには、「追加」をクリックします。追加したカスタムヘッダーを削除するには、 をクリックします。
12. 「完了」をクリックします。
出力スキーマ
「関数を実行」操作は、選択した OData 関数に応じて、動的な出力スキーマを返します。関数に戻り値のタイプがない場合、メッセージ文字列を返します。
「フォームベースのクエリー」を選択してクエリーパラメータを指定した場合、出力スキーマには選択したプロパティの詳細のみが提供されます。
「離散クエリー」または「直接入力クエリー」を選択した場合、出力スキーマには返されたオブジェクトのすべてのプロパティが含まれますが、指定したプロパティの値のみが提供されます。
これは役に立ちましたか?