高度な検索機能を使用すると、SQL 文を実行して、現在のアカウント内のリソースと、リソースディレクトリ内のメンバーのリソースをクエリできます。 高度な検索機能は、柔軟性、効果、無料のグローバルリソース検索機能を提供します。 クエリテンプレートを使用して、リソースをすばやくクエリできます。 高度な検索機能は、特定の種類のリソースをクエリしたり、より複雑なクエリを実行したりするためのビジネス要件を満たすことができます。
機能
柔軟なクエリ条件
従来のクエリメソッドでは、固定ルールに基づいてのみリソースをクエリできます。 ただし、高度な検索機能を使用すると、ビジネス要件に合わせてクエリ条件を調整できるため、クエリ結果の精度が向上します。 たとえば、複数のクエリ条件を指定して、検索範囲を絞り込み、条件を満たすリソースを見つけることができます。 高度な検索機能は、関連リソースのクエリ、複数の条件の組み合わせに基づくクエリの 実行、その他の特別なクエリの 実行など、複雑なクエリシナリオにも適しています。 高度な検索機能は、これらのシナリオで正確なクエリ結果を迅速に返し、データを詳細に分析するのに役立ちます。
カスタムクエリ範囲
高度な検索機能を使用して、さまざまな範囲のリソースをクエリできます。 現在のアカウント内のリソースをクエリしたり、リソースディレクトリ内の複数のメンバー内のリソースをクエリしたりできます。
クエリテンプレート
クエリプロセスを簡素化するために、リソース管理はサンプルクエリテンプレートを提供します。 クエリテンプレートには、一般的なクエリ文が含まれています。 クエリテンプレートを使用して、必要なリソースをすばやく識別できます。 作成したクエリ文をカスタムクエリテンプレートとして保存し、クエリ文を繰り返し作成することなく、ビジネスでカスタムクエリテンプレートを使用することもできます。 これにより、時間を節約し、クエリ結果の精度と一貫性を確保できます。 高度な検索機能は、初心者でも経験豊富なユーザーでもクエリ要件を満たすことができ、必要なリソースを迅速かつ正確に識別するのに役立ちます。 詳細については、「サンプルクエリテンプレートを使用してリソースをクエリする」、「カスタムクエリテンプレートを使用してリソースをクエリする」、および「クエリテンプレート」をご参照ください。
視覚化されたチャート
高度な検索機能を使用して、クエリ結果をチャートに表示できます。 リソースを分析してリソースの分布とリソースの比率を理解する場合は、リソースのクエリ結果をチャートに表示できます。 これにより、リソースに関連するデータを直感的に表示できます。 たとえば、円グラフまたは縦棒グラフでさまざまな種類のリソースの比率を表示できます。 その後、ビジネス要件に基づいてリソースを最適化および調整できます。 詳細については、「手順 3: クエリ結果を表示する」をご参照ください。
クエリ文
高度な検索機能を使用すると、SQL 文を実行して、リソースのクエリ、フィルタリング、ソートなどの操作を実行できます。 高度な検索機能でサポートされているすべての演算子と関数の動作原理と操作方法は、PostgreSQL に基づいています。 高度な検索機能でサポートされている基本的な SQL 構文については、「基本的な SQL 構文」をご参照ください。
クエリに使用されるテーブル
リソーステーブルは、高度な検索で使用されるコアデータテーブルです。 リソーステーブルには、リソースのプロパティに関する情報が格納されます。 高度な検索機能を使用して実行されるすべてのクエリは、リソーステーブルのフィールドのクエリ、フィルタリング、ソートなどの操作に基づいて実装されます。 たとえば、クエリ条件で resource_name フィールドを指定して、この名前のリソースをクエリできます。 また、クエリ条件で resource_type フィールドを指定して、特定の種類のリソースをクエリすることもできます。 コアフィールドに加えて、リソーステーブルの properties フィールドには、ステータスや課金方法など、リソースの他のプロパティも格納されます。 properties フィールドの値は、リソースの種類によって異なります。
次の表に、リソーステーブルのフィールドを示します。
フィールド | データ型 | 説明 |
resource_id | varchar | リソース ID。 |
resource_name | varchar | リソース名。 |
region_id | varchar | リージョン ID。 |
zone_id | varchar | ゾーン ID。 |
resource_type | varchar | リソースタイプ。 |
account_id | varchar | アカウント ID。 |
create_time | varchar | 作成時間。 |
resource_group_id | varchar | リソースグループ ID。 |
tags | jsonb | タグ。 |
ip_addresses | jsonb | IP アドレス。 |
vpc_id | varchar | VPC(Virtual Private Cloud)ID。 |
v_switch_id | varchar | vSwitch ID。 |
properties | jsonb | リソースのプロパティ。 |
制限
クエリ頻度の制限
5 秒以内に最大 3 つのクエリを実行できます。 5 秒以内に 4 つ以上のクエリを実行すると、速度制限がトリガーされます。 クエリ頻度のクォータはさまざまな要因によって決まり、変更される場合があります。
クエリの制限時間
クエリに許可される最大実行時間は 10 秒以内です。 10 秒以内にクエリ結果が返されない場合、システムはクエリを終了し、エラーを報告します。
クエリ結果が 10 秒以内に返されるようにするには、次のいずれかの方法を使用してクエリの複雑さを軽減します。
制限条件を追加します。 たとえば、クエリを実行するデータ量が大きい場合は、クエリ文に ORDER BY 句を追加して、
resource_typeフィールドとresource_idフィールドに基づいてデータをソートできます。返されるデータレコードの数を制限します。 たとえば、クエリ文で LIMIT 句を使用して、返されるデータレコードの最大数を制限できます。
必要な場合にのみ、クエリで
propertiesフィールドを返すようにします。
クエリに使用できる関数の制限
詳細については、「サポートされている関数」をご参照ください。