アプリケーションプログラミングインターフェイスガイド> Webサービスオペレーション> オペレーションリファレンス> updateDataSourceChildInfosWithFilter
 
updateDataSourceChildInfosWithFilter
APIバージョン6.0ではサポートされていません。代わりに、イントロスペクションプランでintrospectResourcesTaskを使用してください。
指定されたフィルター基準に基づいて、子リソースのイントロスペクション状態を更新します。
このプロシージャを呼び出すと、introspectStateによって渡された値に応じて、パスとchildInfoパスに設定されたフィルタに一致するリソースが追加または削除されます。
APIで作成されたフィルターは永続的であり、将来のイントロスペクション(プログラムまたは手動)に適用されるため、フィルター基準に一致する新しいテーブルまたはディレクトリが、それらのフィルターとそれぞれのイントロスペクション状態に基づいて追加または無視されます。
データソースchildInfoへのアクセスは比較的コストがかかります。このオペレーションやgetDataSourceChildResourcesを複数回呼び出す場合は、リクエストをフィルタリングしてすべてを1つのトランザクションで行うとパフォーマンスが向上します。
ロケーション
/services/webservices/system/admin/resource/operations/
リクエストエレメント
path:データソースへのパス。
childInfos:更新するdataSourceChildInfosのリスト。各childInfoについて:
path:データソース内のパス。 childInfoパスは、データソースに相対的なパスです。
type:データソース内のリソースのタイプ。有効な型の値は、CONTAINERおよびTABLEです。
introspectState:設定する新しい状態。法的な内省状態の値は次のとおりです。
IGNORED:リソースを削除します(または削除したままにします)。
SELF:リソースを追加します(または追加したままにします)。
SELF_AND_CHILDREN:リソースをそのすべての子とともに追加します。
attributes(オプション):リソースに使用されるオプションの値。ログイン情報がデータソース定義で保持されていない場合、これらはログイン情報を指定するために必要になる場合があります。 属性エレメントを参照してください。
filter:末尾の文字を表すために特定のデータソースによって使用されるワイルドカード文字。
応答エレメント
該当なし
エラー解析
DataSourceError:データソース接続を確立できない場合、またはデータソース要求がエラーを返した場合に指定されます。
IllegalArgument:childInfoのパスエレメントまたはパスの形式が正しくない場合、またはchildInfoのタイプまたはイントロスペクトの状態が不正である場合。
NotFound:データソースまたはパスの一部が存在しない場合。
NotFound:childInfoパスのいずれかが存在せず、イントロスペクト状態がIGNOREDに設定されていない場合。
セキュリティ:ユーザーがパス内の最後のアイテム以外のすべてのアイテムに対する読み取りアクセス権を持っていない場合。
セキュリティ:ユーザーがパスの最後のアイテムへの書き込みアクセス権を持っていない場合。
セキュリティ:ユーザーがACCESS_TOOLS権限を持っていない場合。
データソースのds_ordersと、文字「o」で始まるその他のテーブルを調べます。 WebサービスAPIを実行し、次のようにパラメーターを設定します。
updateDataSourceChildInfosWithFilter
  path="/shared/examples/ds_orders"
  childInfos
    childInfo
      path=o %
      type=TABLE
      introspectState=SELF
        filter="%"
 
このプロシージャのプログラムによる呼び出しでは、行われた変更は、トランザクションがコミットされたときに適用されるか、トランザクションがロールバックされたときに破棄されます。このプロシージャのStudio呼び出しは、実行時にコミットすることを意味します。
変更は追加的です。 introspectState値がIGNOREDでない限り、既存のテーブル選択は、現在のフィルターと一致しなくても選択されたままになります。
APIで作成されたデータソースフィルターは永続的ですが、introspectStateは別の呼び出しで元に戻すことができます。または、Studio APIを使用して、現在イントロスペクトされているテーブルを保持しながらフィルターを削除できます。
getDataSourceChildResourcesおよびreintrospectDataSourceも参照してください。