すべてのプロダクト
Search
ドキュメントセンター

Resource Management:サポートされているサンプルクエリテンプレート

最終更新日:Jun 24, 2026

リソースセンターは、詳細検索機能用に、組み込みのサンプルクエリテンプレートを提供します。

名前

説明

SQL

Alibaba Cloud リソースのカウント

アクセス権のあるリソースの総数を返します。

-- COUNT() 関数は、リソースの総数をクエリするために使用されます。
-- resources テーブルには、リソースプロパティに関する情報が格納されます。
SELECT
 COUNT(*)
FROM
 resources;

ECS インスタンスリソースのカウント

アクセス権のある ECS インスタンスの総数を返します。

-- resource_type = 'ACS::ECS::Instance' を別の条件に置き換えて、その条件に一致するリソースの数をクエリできます。
-- Resource Management の詳細検索ページの左側メニューに表示されるリソースタイプまたはリソースプロパティをクリックできます。システムはクエリ条件を作成し、その条件をクエリ文に含めます。
SELECT
 COUNT(*)
FROM
 resources
WHERE
 resource_type = 'ACS::ECS::Instance';

すべての Alibaba Cloud リソースのクエリ

アクセス権のあるすべてのリソースを、リソースタイプとリソース ID でソートしてクエリします。

-- このサンプルコードは、リソースのすべてのコアプロパティを表示します。プロパティを追加または削除したり、properties パラメーターを設定してリソースの拡張プロパティを指定したりできます。
-- ORDER BY 句は、リソースをソートするルールを指定するために使用されます。DESC または ASC パラメーターを設定して、リソースのソート順を変更できます。順序を指定しない場合、リソースは自動的に昇順でソートされます。
-- resource_type と resource_id に基づいてデータをソートすると、クエリを高速化できます。
SELECT
 resource_id,
 resource_name,
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 vpc_id,
 v_switch_id
FROM
 resources
ORDER BY
 resource_type,
 resource_id
LIMIT
 1000 OFFSET 0;

すべての ECS インスタンスリソースのクエリ

アクセス権のあるすべての ECS インスタンスを、名前の昇順でソートしてクエリします。

-- ソートの基準となるプロパティとソート順を変更できます。順序を指定しない場合、リソースは自動的に昇順でソートされます。
-- リソースのソートには NULL 値を持つプロパティを使用しないことを推奨します。そのようなプロパティを使用する場合、特別な処理を実行してください。特別な処理を行わないと、リソースをプロパティに基づいて正しくソートできません。
SELECT
 resource_id,
 resource_name,
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 vpc_id,
 v_switch_id
FROM
 resources
WHERE
 resource_type = 'ACS::ECS::Instance'
ORDER BY
 resource_name
LIMIT
 1000 OFFSET 0;

リソースタイプとリソース ID でソートされた最初の 20 リソースのクエリ

最初の 20 リソースを、リソースタイプとリソース ID でソートしてクエリします。

-- LIMIT 条件は、返されるエントリの最大数を指定するために使用されます。返されるエントリの数は 1 から 1,000 の範囲です。LIMIT 条件を設定しない場合、デフォルトで最大 1,000 エントリが返されます。
-- リソースのソート基準となる一部のプロパティの値が重複している場合、複数のクエリで異なる結果が返されることがあります。この場合、ソート用のプロパティを追加して結果の一貫性を確保できます。
SELECT
 resource_id,
 resource_name,
 region_id,
 resource_type,
 account_id
FROM
 resources
ORDER BY
 resource_type,
 resource_id
LIMIT
 20;

リソースタイプとリソース ID でソートされた 11 番目から 30 番目のリソースのクエリ

リソースをリソースタイプとリソース ID でソートし、11 番目から 30 番目のリソースを返します。

-- LIMIT OFFSET 条件は、返される結果の範囲を制限するために使用されます。LIMIT は返されるエントリの最大数を指定し、OFFSET は返されるエントリの開始位置を指定します。
-- ページングクエリで LIMIT OFFSET 条件を使用できます。各クエリで、LIMIT を使用して返されるエントリの最大数を制限し、OFFSET を使用して次のページのエントリを取得できます。連続したエントリが返されるようにするには、ORDER BY 句を使用してソート方法を指定する必要があります。
-- リソースのソート基準となる一部のプロパティの値が重複している場合、複数のクエリで異なる結果が返されることがあります。この場合、ソート用のプロパティを追加して結果の一貫性を確保できます。
SELECT
 resource_id,
 resource_name,
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 vpc_id,
 v_switch_id
FROM
 resources
ORDER BY
 resource_type, 
 resource_id
LIMIT
 20 OFFSET 10;

異なるタイプのリソースのカウント

リソースをタイプ別にカウントし、数量の降順でソートします。

-- GROUP BY 句は、特定のプロパティに基づいてリソースを分類し、グループ化するために使用されます。
-- クエリ結果に文字列型の列と数値型の列が含まれている場合、クエリ結果をグラフで表示できます。
SELECT
 resource_type,
 COUNT(*) AS cnt
FROM
 resources
GROUP BY
 resource_type
ORDER BY
 cnt DESC;

異なるリージョン内のリソースのカウント

リソースをリージョン別にカウントし、数量の降順でソートします。

-- クエリ結果に文字列型の列と数値型の列が含まれている場合、クエリ結果をグラフで表示できます。
SELECT
 region_id,
 COUNT(*) AS cnt
FROM
 resources
GROUP BY
 region_id
ORDER BY
 cnt DESC;

異なるリソースグループ内のリソースのカウント

リソースをリソースグループ別にカウントし、数量の降順でソートします。

-- クエリ結果に文字列型の列と数値型の列が含まれている場合、クエリ結果をグラフで表示できます。
SELECT
 CASE
 WHEN resource_group_id IS NULL THEN 'リソースグループに未接続'
 ELSE resource_group_id
 END AS resource_group_id,
 COUNT(*) AS cnt
FROM
 resources
GROUP BY
 resource_group_id
ORDER BY
 cnt DESC;

指定されたリソースグループ内の異なるタイプのリソースのカウント

指定されたリソースグループ内のリソースをタイプ別にカウントし、数量の降順でソートします。

-- クエリ結果に文字列型の列と数値型の列が含まれている場合、クエリ結果をグラフで表示できます。
SELECT
 resource_type,
 COUNT(*) AS cnt
FROM
 resources
WHERE
 resource_group_id = 'rg-xxx'
GROUP BY
 resource_type
ORDER BY
 cnt DESC;

すべてのタイプの ECS リソースのクエリ

すべての ECS リソースを、リソースタイプと作成時間でソートして一覧表示します。

-- ACS::ECS::% は、ACS::ECS:: で始まるリソースタイプコードに一致させるために使用されます。クエリ結果には、すべてのタイプの ECS リソースが含まれます。
-- このサンプルコードでは、リソースはまずタイプで昇順にソートされます。次に、同じタイプのリソースが作成時間で昇順にソートされます。
SELECT
 resource_id,
 resource_name,
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 vpc_id,
 v_switch_id
FROM
 resources
WHERE
 resource_type LIKE 'ACS::ECS::%'
ORDER BY
 resource_type,
 create_time;

指定されたタグを持つリソースのクエリ

指定されたタグを持つすべてのリソースをクエリします。

-- 必要に応じて KEY と VALUE を置き換えることができます。
SELECT
 resource_id,
 resource_name,
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 vpc_id,
 v_switch_id
FROM
 resources
WHERE
 tags ->> 'KEY' = 'VALUE';

タグキーに test を含むリソースのクエリ

「test」を含むタグキーを持つすべてのリソースを一覧表示します。

-- このサンプルコードでは、ネストされたクエリが実行されます。まず内部クエリが実行され、そのクエリ結果が一時テーブルとして使用されます。外部クエリは、その一時テーブルで実行されます。
-- JSONB_OBJECT_KEYS() 関数は、マップ型オブジェクトをキーのコレクションに展開するために使用されます。クエリは、そのコレクションに対して実行されます。
-- このサンプルコードでは、%test% を使用して、キーにキーワード test を含むすべてのタグを照合します。
SELECT
 *
FROM
 (
 SELECT
 resource_id,
 resource_name,
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 vpc_id,
 v_switch_id,
 JSONB_OBJECT_KEYS(tags) AS tag_key
 FROM
 resources
 ) AS r
WHERE
 r.tag_key LIKE '%test%'
ORDER BY
 r.resource_type,
 r.resource_id;

特定の IP アドレスに関連付けられたリソースの一覧表示

指定された IP アドレスを含むすべてのリソースを一覧表示します。

-- JSONB_ARRAY_ELEMENTS_TEXT() 関数は、配列をテキスト値のコレクションに展開するために使用されます。クエリは、そのコレクションに対して実行されます。
SELECT
 *
FROM
 (
 SELECT
 resource_id,
 resource_name,
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 vpc_id,
 v_switch_id,
 JSONB_ARRAY_ELEMENTS_TEXT(ip_addresses) AS ip
 FROM
 resources
 ) AS r
WHERE
 r.ip = 'xxx.xxx.xxx.xxx'
ORDER BY
 r.resource_type,
 r.resource_id;

指定日以降に作成された ECS インスタンスリソースのクエリ

指定日以降に作成された ECS インスタンスをクエリします。

-- AND 演算子は、複数のクエリ条件を接続するために使用されます。すべてのクエリ条件に一致するリソースのみが返されます。
SELECT
 resource_id,
 resource_name,
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 vpc_id,
 v_switch_id
FROM
 resources
WHERE
 resource_type = 'ACS::ECS::Instance'
 AND create_time > '2023-08-07'
ORDER BY
 create_time;

過去 30 日以内に作成されたリソースのクエリ

過去 30 日間に作成されたリソースを、作成時間の昇順でソートしてクエリします。

-- クエリ条件で計算式を指定して、正確なクエリを実行できます。
SELECT
 resource_id,
 resource_name,
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 vpc_id,
 v_switch_id
FROM
 resources
WHERE
 create_time > TO_CHAR(NOW() - interval '30 day', 'YYYY-MM-DD')
ORDER BY
 create_time;

指定された VPC 内のリソースのクエリ

指定された VPC 内のリソースを、リソースタイプの昇順でソートしてクエリします。

SELECT
 resource_id,
 resource_name,
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 vpc_id,
 v_switch_id
FROM
 resources
WHERE
 vpc_id = 'vpc-xxx'
ORDER BY
 resource_type,
 resource_id;

ECS インスタンスの拡張プロパティのクエリ

ステータス、メモリ、仕様、課金方法など、ECS インスタンスの拡張プロパティをクエリします。

-- 異なるタイプのリソースに対して properties フィールドを指定して、リソースの拡張プロパティをクエリできます。
-- Resource Management の詳細検索ページの左側メニューに表示されるリソースタイプまたはリソースプロパティをクリックできます。システムはクエリ条件を作成し、その条件をクエリ文に含めます。
-- CASE 句は、同じプロパティに異なる値を定義するために使用され、クエリ結果を理解しやすくします。
SELECT
 resource_id,
 resource_name,
 properties ->> 'Status' AS "インスタンスステータス",
 properties ->> 'InstanceNetworkType' AS "ネットワークタイプ",
 properties ->> 'Memory' AS "メモリ",
 properties ->> 'Cpu' AS Cpu,
 properties ->> 'InstanceType' AS "仕様",
 CASE
 properties ->> 'InstanceChargeType'
 WHEN 'PrePaid' THEN 'サブスクリプション'
 WHEN 'PostPaid' THEN '従量課金'
 ELSE properties ->> 'InstanceChargeType'
 END AS "課金方法",
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 ip_addresses
FROM
 resources
WHERE
 resource_type = 'ACS::ECS::Instance'
ORDER BY
 resource_id;

オペレーティングシステム別に分類された ECS インスタンスのカウント

ECS インスタンスをオペレーティングシステム別にカウントします。

-- クエリ結果に文字列型の列と数値型の列が含まれている場合、クエリ結果をグラフで表示できます。
SELECT
 properties ->> 'OSType' AS OSType,
 COUNT(*) AS num
FROM
 resources
WHERE
 resource_type = 'ACS::ECS::Instance'
GROUP BY
 properties ->> 'OSType';

停止した ECS インスタンスの一覧表示

停止した ECS インスタンスを一覧表示します。

-- CASE 句は、同じプロパティに異なる値を定義するために使用され、クエリ結果を理解しやすくします。
-- CONCAT() 関数は、複数のプロパティを 1 つの列に結合するために使用され、クエリ結果を表示しやすくします。このサンプルコードでは、区切り文字としてスラッシュ (/) が使用されています。
SELECT
 resource_id,
 resource_name,
 CONCAT(region_id, '/', zone_id) AS "リージョン/ゾーン",
 CASE
 properties ->> 'Status'
 WHEN 'Pending' THEN '作成中'
 WHEN 'Running' THEN '実行中'
 WHEN 'Starting' THEN '起動中'
 WHEN 'Stopping' THEN '停止中'
 WHEN 'Stopped' THEN '停止済み'
 END AS "ステータス",
 CONCAT(
 properties ->> 'Cpu',
 ' vCPU ',
 (properties -> 'Memory') :: int / 1024,
 ' GiB ',
 properties ->> 'InstanceType'
 ) AS "設定",
 properties ->> 'InstanceChargeType' AS "課金方法",
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 properties
FROM
 resources
WHERE
 resource_type = 'ACS::ECS::Instance'
 AND properties ->> 'Status' = 'Stopped'
ORDER BY
 resource_id;

ECS インスタンスにアタッチされたディスクのクエリ

ECS インスタンスにアタッチされたディスクをクエリします。

-- JOIN キーワードは、複数のテーブルに対して結合クエリを実行するために使用します。クエリ結果は、結合条件とフィルター条件に基づいて返されます。
SELECT
 a.resource_type AS resource_type_disk,
 b.resource_type AS resource_type_instance,
 a.resource_id AS disk_id,
 a.region_id AS instance_region_id,
 b.resource_id AS instance_id,
 b.region_id AS disk_region_id
FROM
 resources a
 LEFT JOIN resources b ON a.properties ->> 'InstanceId' = b.resource_id
WHERE
 a.resource_type = 'ACS::ECS::Disk'
 AND b.resource_type = 'ACS::ECS::Instance';

アタッチされていないディスクのクエリ

アタッチされていないディスクをクエリします。

SELECT
 resource_id,
 resource_name,
 properties ->> 'Status' AS "ディスクステータス",
 CASE
 properties ->> 'Type'
 WHEN 'system' THEN 'システムディスク'
 WHEN 'data' THEN 'データディスク'
 ELSE properties ->> 'Type'
 END AS "ディスクタイプ",
 properties ->> 'DiskChargeType' AS "ディスクの課金方法",
 CASE
 properties ->> 'Portable'
 WHEN 'true' THEN 'サポート'
 ELSE '非サポート'
 END AS "デタッチ可能",
 CASE
 properties ->> 'DeleteWithInstance'
 WHEN 'true' THEN 'ディスクはインスタンスとともにリリースされるが、自動スナップショットはディスクとともに削除されない'
 ELSE 'ディスクはインスタンスとともにリリースされず、自動スナップショットもディスクとともに削除されない'
 END AS "リリースモード",
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags
FROM
 resources
WHERE
 properties ->> 'Status' = 'Available'
 AND resource_type = 'ACS::ECS::Disk'
ORDER BY
 resource_id;

40 GB を超える容量の ECS ディスクのクエリ

40 GB を超える ECS ディスクを容量でソートしてクエリします。

SELECT
 resource_id,
 resource_name,
 region_id,
 zone_id,
 resource_type,
 account_id,
 create_time,
 resource_group_id,
 tags,
 ip_addresses,
 vpc_id,
 v_switch_id,
 (properties ->> 'Size') :: int AS disk_size
FROM
 resources
WHERE
 resource_type = 'ACS::ECS::Disk'
 AND (properties ->> 'Size') :: int > 40
order by
 disk_size;

まもなく有効期限が切れるサブスクリプションの ApsaraDB RDS インスタンスのクエリ

まもなく有効期限が切れるサブスクリプションの ApsaraDB RDS インスタンスをクエリします。

-- このサンプルコードでは、30 日以内に有効期限が切れるリソースを「まもなく有効期限が切れるリソース」と定義しています。この条件は必要に応じて変更できます。
-- TO_TIMESTAMP() 関数は、時間文字列をフォーマットされたタイムスタンプに変換し、関連する計算を行うために使用されます。
SELECT
 *
FROM
 (
 SELECT
 resource_id,
 resource_name,
 account_id,
 resource_type,
 region_id,
 zone_id,
 create_time,
 to_timestamp(
 (properties ->> 'ExpireTime') :: varchar,
 'YYYY-MM-DD HH24:MI:SS'
 ) AS "有効期限",
 properties ->> 'DBInstanceStatus' AS "インスタンスステータス",
 properties ->> 'DBInstanceType' AS "インスタンスタイプ",
 CONCAT(
 properties ->> 'Engine',
 ' ',
 properties ->> 'EngineVersion'
 ) AS "データベースタイプ",
 vpc_id,
 tags
 FROM
 resources
 WHERE
 resource_type = 'ACS::RDS::DBInstance'
 and properties ->> 'PayType' = 'Prepaid'
 order by
 create_time
 ) AS t
WHERE
 t."有効期限" < NOW() + interval '30 day'
ORDER BY
 t.resource_id;