このトピックでは、Cloud Config での SQL クエリ文の制限について説明します。これにより、リソース検索で SQL クエリ文を効率的に使用できます。
検索範囲の制限
SQL クエリ文を使用して、既存のリソースのみを検索できます。削除されたリソースは検索できません。
SELECT *構文を使用する文の場合、次のプロパティがデフォルトで返されます。AccountIdRegionIdResourceIdResourceTypeResourceNameResourceCreationTimeResourceGroupId
サポートされていないクエリキーワード
次の SQL キーワードはサポートされていません。NULL キーワードはサポートされています。
ALLDISTINCTFROMHAVINGJOINUNION
ワイルドカードの制限
ワイルドカードは、プロパティ値に対してのみサポートされています。例:
WHERE ResourceId LIKE 'Value%'。ワイルドカードは、プロパティキーに対してはサポートされていません。たとえば、
WHERE 'ResourceId%' LIKE 'Value'はサポートされていません。ワイルドカードは接尾辞として使用できます。例:
ResourceType LIKE 'ACS::ECS::%'ResourceType LIKE 'ACS::ECS::_'
集計関数の制限
集計関数はサポートされています。Cloud Config では、集計関数に特定の制限が課されています。
サポートされている集計関数:
AVGCOUNTMAXMINSUM
サポートされている集計関数の制限:
集計関数には、1 つのパラメーターまたはプロパティのみを指定できます。
集計関数をネストすることはできません。
GROUP BY句とORDER BY句を一緒に使用する場合は、集計関数には 1 つのプロパティのみを含めることができます。集計関数では、
HAVING句はサポートされていません。
複数プロパティに対するクエリの例
{
"configTagList": [
{"configTagName": "A", "tagType": "ecs"},
{"configTagName": "B", "tagType": "sls"}
]
}次の文を使用して、リソース R を取得できます。
SELECT * WHERE configTagList.configTagName = 'A' AND configTagList.tagType = 'sls'説明:
最初の条件
configTagList.configTagName = 'A'は、configTagList 配列のすべての要素に対して評価され、リソース R にタグ A があるため、true と評価されます。2 番目の条件
configTagList.tagType = 'sls'は、configTagList 配列のすべての要素に対して評価され、リソース R にタイプが sls のタグ B があるため、true と評価されます。リソース R は上記の条件を満たしています。その結果、リソース R が返されます。