eDirectoryまたはアプリケーションからオブジェクトを検索または読み取るためのコマンド。Identity Managerのルールやオブジェクトマイグレーションなどの完全な機能を使用できるかどうかは、ドライバでqueryコマンドが完全に実装されているかどうかに依存します。
<query>のベースオブジェクトは、dest-dn属性または<関連付け>によって指定されます。両方とも存在する場合は、eDirectoryをクエリする際はdest-dn属性が優先され、接続されているアプリケーション(eDirectory以外)をクエリする際は<関連付け>が優先されます。どちらも存在しない場合は、デフォルトのベースオブジェクトは、階層ネームスペースではルートオブジェクトになり、非階層ネームスペースではすべてのオブジェクトになります。
考えられるクエリのスコープは次のとおりです。
要素 |
説明 |
---|---|
エントリ |
ベースオブジェクトのみ。 |
サブオーディネート |
ベースオブジェクトに含まれているオブジェクト。 |
サブツリー |
ルートがベースオブジェクトであるサブツリー内のオブジェクト(ベースオブジェクトを含む)。 |
デフォルトでは、指定されたスコープ内のすべてのオブジェクトが選択されます。"entry"以外のスコープについては、選択されるオブジェクトを<search-class>および<search-attr>によってさらに限定できます。"entry"スコープについては、<search-attr>および<search-class>の効果は定義されていません。
複数の<search-class>要素が存在する場合は、いずれかの<search-class>要素に一致するベースクラスを持つオブジェクトのみが選択されます。
複数の<search-attr>要素が存在する場合は、すべての<search-attr>要素で指定されたすべての値に一致する属性を持つオブジェクトのみが選択されます。
デフォルトでは、選択されたオブジェクトのすべてのオブジェクト属性が読み取られます。読み取られる属性は<read-attr>によって限定されます。どのオブジェクト属性も読み取らないようにするには、単一の名前なしの<read-attr>を指定してください。
<read-parent>が指定されている場合は、選択されたオブジェクトの<parent>も読み取られます。
<query>への応答には、選択されたオブジェクトごとに1つの<インスタンス>が含まれている必要があります。
<query>への応答には、<query>が正常に処理されたかどうかを示す<status>も含まれている必要があります。検索条件に一致するオブジェクトがない場合は、これをエラーと見なしてはいけません。
<!-- search the whole application for a User object with the Surname ofJones --><!-- don't read any attributes but read the parent --><query class-name="User" event-id="0" scope="subtree"> <search-class class-name="User"/> <search-attr attr-name="Surname"> <value type="string">Jones</value> </search-attr> <read-attr/> <read-parent/></query><!-- read the User object whose foreign key is 1011 --><!-- read Surname,cn,Given Name and Telephone Number attributes --><query class-name="User" event-id="1" scope="entry"> <association>1011</association> <read-attr attr-name="Surname"/> <read-attr attr-name="cn"/> <read-attr attr-name="Given Name"/> <read-attr attr-name="Telephone Number"/></query>
( association ? , ( search-class | search-attr | read-attr | read-parent ) * , operation-data ? )