功能介紹
該接口用于按標簽或其他條件對 鏡像 進行過濾或者計數(shù)使用。
約束與限制
為兼容遺留數(shù)據(jù),使用tags、not_tags、tags_any、not_tags_any參數(shù)時,不對查詢條件中標簽的key、value進行字符集校驗。
調試
您可以在API Explorer中調試該接口。
URI
POST /v2/{project_id}/images/resource_instances/action
請求消息
- 請求參數(shù)
參數(shù)
是否必選
參數(shù)類型
描述
action
是
String
操作標識(區(qū)分大小寫),支持filter、count。filter就是分頁查詢;count是只需按照條件將總條數(shù)返回即可。
tags
否
Array of objects
包含標簽,最多包含10個key,每個key對應的values最多包含10個值,且key和values都不能重復。不能為空列表。
tags_any
否
Array of objects
包含任意標簽,最多包含10個key,每個key對應的values最多包含10個值,且key和values都不能重復。不允許為空列表,但可以不傳遞參數(shù)。
not_tags
否
Array of objects
不包含標簽,最多包含10個key,每個key對應的values最多包含10個值,且key和values都不能重復。不能為空列表。
not_tags_any
否
Array of objects
不包含任意標簽,最多包含10個key,每個key對應的values最多包含10個值,且key和values都不能重復。不能為空列表。
without_any_tag
否
Boolean
不包含任意一個標簽,該字段為true時查詢所有不帶標簽的資源,此時忽略tag、not_tags、tags_any、not_tags_any字段。
limit
否
String
最大查詢記錄數(shù)(action為count時,此參數(shù)無效)。如果action為filter,則limit默認為10,最多為1000,不能為負數(shù),最小值為1。
offset
否
String
索引位置, 從offset指定的下一條數(shù)據(jù)開始查詢。 查詢第一頁數(shù)據(jù)時,不需要傳入此參數(shù)(action為count時,此參數(shù)無效),如果action為filter,offset默認為0,不能為負數(shù)。
matches
否
Array of objects
搜索字段,key為要匹配的字段,如resource_name、resource_id等。value為匹配的值。多個matches的key不允許重復。不允許為空列表,但可以不傳遞參數(shù)。
表2 tags字段數(shù)據(jù)結構說明 參數(shù)
是否必選
參數(shù)類型
描述
key
是
String
標簽的鍵。最大長度127個unicode字符,key不能為空。
values
是
Array of strings
標簽的值列表。每個值最大長度255個unicode字符,如果values為空列表,則標簽的值可以是任意值。值列表中的值之間為或的關系。
表3 tags_any字段數(shù)據(jù)結構說明 參數(shù)
是否必選
參數(shù)類型
描述
key
是
String
標簽的鍵。最大長度127個unicode字符,key不能為空。
values
是
Array of strings
標簽的值列表。每個值最大長度255個unicode字符,如果values為空列表,則標簽的值可以是任意值。值列表中的值之間為或的關系。
表4 not_tags字段數(shù)據(jù)結構說明 參數(shù)
是否必選
參數(shù)類型
描述
key
是
String
標簽的鍵。最大長度127個unicode字符,key不能為空。
values
是
Array of strings
標簽的值列表。每個值最大長度255個unicode字符,如果values為空列表,則標簽的值可以是任意值。值列表中的值之間為或的關系。
請求示例
- 按照標簽和總條數(shù)返回查詢條件,查詢鏡像。
POST https://{Endpoint}/v2/fd73a4a14a4a4dfb9771a8475e5198ea/images/resource_instances/action { "action": "count", "matches": [{ "key": "resource_name", "value": "test100" }], "tags": [ { "key": "key3", "values": ["valueXX"] }], "tags_any": [ { "key": "key0", "values": ["valueXX"] }], "not_tags": [ { "key": "key9", "values": ["value9"] }], "not_tags_any": [{ "key": "key7", "values": ["value7"] }] }
- 按照標簽和分頁查詢條件,查詢鏡像。
POST https://{Endpoint}/v2/fd73a4a14a4a4dfb9771a8475e5198ea/images/resource_instances/action { "action": "filter", "limit": "1", "offset": "0", "matches": [{ "key": "resource_name", "value": "test100" }], "tags": [ { "key": "key3", "values": ["valueXX"] }], "tags_any": [ { "key": "key0", "values": ["valueXX"] }], "not_tags": [ { "key": "key9", "values": ["value9"] }], "not_tags_any": [{ "key": "key7", "values": ["value7"] }] }
響應消息
- 響應參數(shù)
- 響應樣例
- action為count時的響應示例
STATUS CODE 200
{ "total_count": 36 }
- action為filter時的響應示例
STATUS CODE 200
{ "total_count": 36, "resources": [{ "resource_name": "test10002", "resource_detail": {"status": "active"}, "tags": [{ "value": "value4", "key": "key4" }, { "value": "valueXX", "key": "key3" }, { "value": "value2", "key": "key2" }, { "value": "value5", "key": "key5" }, { "value": "value8", "key": "key8" }, { "value": "valueXX", "key": "key6" }, { "value": "valueXX", "key": "key0" }, { "value": "value1", "key": "key1" }, { "value": "value7", "key": "key7" }, { "value": "valueXX", "key": "key9" }], "resource_id": "8693187d-1590-4f9f-ae34-eb9e3037cf68" }] }
- action為count時的響應示例
