検索

3.7. 検索

download PDF

一部のサービスの list メソッドには、検索 条件の指定に使用できる search パラメーターがあります。これを使用すると、サーバーは上記の基準を満たすコレクション内のオブジェクトのみを返します。たとえば、以下の要求では myvm という名前の仮想マシンのみを返します。

GET /ovirt-engine/api/vms?search=name%3Dmyvm

3.7.1. 最大結果パラメーター

max パラメーターを使用して、返されるオブジェクトの数を制限します。たとえば、以下の要求は、システムで利用可能なものに関係なく、仮想マシンが 1 つだけ返されます。

GET /ovirt-engine/api/vms?max=1

max パラメーターのない検索要求は、すべてのオブジェクトを返します。システムの全体的なパフォーマンスにおける要求の影響を減らすために、max パラメーターを指定することが推奨されます。

3.7.2. ケースの機密性

デフォルトでは、クエリーは大文字と小文字を区別しません。たとえば、以下の要求は、myvmMyVM、および MYVM という名前の仮想マシンを返します。

GET /ovirt-engine/api/vms?search=name%3Dmyvm

この動作を変更するには、任意の case_sensitive boolean パラメーターを使用できます。たとえば、MyHost または MYHOST ではなく myhost という名前の仮想マシンを取得するには、以下のように要求を送信します。

GET /ovirt-engine/api/vms?search=name%3D=myvm&case_sensitive=true

3.7.3. 検索構文

search パラメーターは、Red Hat Virtualization クエリー言語と同じ構文を使用します。

(criteria) [sortby (element) asc|desc]

sortby 句はオプションで、結果を順序付ける場合にのみ必要です。

検索クエリーの例

コレクション基準結果

hosts

vms.status=up

稼働 中の仮想マシンを実行しているすべてのホスト一覧を返します。

vms

domain=example.com

指定されたドメインで稼働しているすべての仮想マシンの一覧を返します。

vms

users.name=mary

ユーザー名が Mary のユーザーに属する全仮想マシンの一覧を返します。

events

severity > normal sortby time

重大度が 通常 よりも高いすべてのイベントの一覧を返します。time 属性の値でソートされます。

events

severity > normal sortby time desc

重大度が 通常 よりも高いすべてのイベントの一覧を返します。time 属性の値を降順で並び替えます。

search パラメーターの値は、演算子やスペースなどの予約済み文字を変換するために URL エンコード されている必要があります。たとえば、等号は %3D としてエンコードする必要があります。

GET /ovirt-engine/api/vms?search=name%3Dmyvm

3.7.4. ワイルドカード

アスタリスクは値の一部として使用して、empty の文字列が含まれる文字列を検索できます。たとえば、以下のリクエストでは、myvmmyvm2myvmamyvm-webserver など、myvm で始まる名前の仮想マシンをすべて返します。

GET /ovirt-engine/api/vms?search=name%3Dmyvm*

3.7.5. ページネーション

一部の Red Hat Virtualization 環境には、大規模なオブジェクトが含まれます。一度のリクエストですべてを取得するのは現実的ではなく、パフォーマンスも悪くなります。ページ単位での検索を可能にするため、search パラメーターはオプションで page 句をサポートしています。これは、max パラメーターと組み合わせてページングの基礎となります。たとえば、ページサイズが 10 の仮想マシンの最初のページを取得するには、以下のように要求を送信します。

GET /ovirt-engine/api/vms?search=page%201&max=10
注記

search パラメーターは URL エンコードされており、エンコード前の実際の search パラメーターの値は page 1 なので、実際には 1 ページ目を要求していることになります。

page 値を増やして、次のページを取得します。

GET /ovirt-engine/api/vms?search=page%202&max=10

page 句は、search パラメーター内の他の句と組み合わせて使用できます。たとえば、以下の要求は仮想マシンの 2 ページ目を返しますが、名前で並べ替えます。

GET /ovirt-engine/api/vms?search=sortby%20name%20page%202&max=10
重要

API はステートレスで、すべての要求が互いに独立しているため、異なる要求間で状態を維持することはできません。その結果、要求間でステータスが変更されると、ページの結果に一貫性がなくなることがあります。

たとえば、仮想マシンの一覧から特定のページを要求し、次のページを要求する前に仮想マシンが作成または削除された場合には、結果の一部が欠落しているか、または重複が含まれる可能性があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.