操作を実行
OData では、操作を使用して、サーバー側操作をエンティティに追加します。操作は 1 つのエンティティまたはエンティティのコレクションをターゲットにできます。操作はデータを返し、そのデータを使用して以下の操作を実行できます。
複数のエンティティを一度に操作
あるエンティティの特定のプロパティの更新のみを許可
エンティティで定義されていないサーバーにデータを送信
複雑なトランザクションを実装
OData メタデータで定義されている操作を実行するには、「操作を実行」操作を使用します。
ワークフローで「操作を実行」操作を使用するには、次の手順を完了します。
1. 「OData」の下の「操作を実行」操作をキャンバスにドラッグし、この操作にマウスポインタを合わせて をクリックするか、この操作をダブルクリックします。「操作を実行」ウィンドウが開きます。
2. 必要に応じて、「ラベル」を編集します。デフォルトでは、ラベル名は操作名と同じです。
3. OData コネクタタイプを追加するには、サポートされている OData コネクタタイプを参照してください。
以前にコネクタタイプを追加した場合は、該当する「コネクタタイプ」を選択し、「コネクタ名」でコネクタを選択します。
4. 「テスト」をクリックしてこのコネクタを検証します。
5. 「マップコネクタ」をクリックして、入力フィールドの設定に使用しているコネクタとは異なるコネクタを使用して操作を実行します。「ランタイムコネクタ」フィールドに、有効な OData コネクタ名を入力します。「マップコネクタ」の詳細については、マップコネクタの使用を参照してください。
6. 参照先ドメインで ActionImport によって説明されているすべての操作を表示するには、「参照ドメインを含める」チェックボックスをオンにします。
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 操作に応じて、動的な出力スキーマを返します。操作に戻り値のタイプがない場合、メッセージ文字列を返します。
「フォームベースのクエリー」を選択してクエリーパラメータを指定した場合、出力スキーマには選択したプロパティの詳細のみが提供されます。
「離散クエリー」または「直接入力クエリー」を選択した場合、出力スキーマには返されたオブジェクトのすべてのプロパティが含まれますが、指定したプロパティの値のみが提供されます。
これは役に立ちましたか?