華為云計算 云知識 按標簽查詢鏡像ListImageByTags
按標簽查詢鏡像ListImageByTags

 

功能介紹

該接口用于按標簽或其他條件對 鏡像 進行過濾或者計數(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ù)說明請參見表1。
表1 參數(shù)說明

參數(shù)

是否必選

參數(shù)類型

描述

project_id

String

項目ID

請求消息

  • 請求參數(shù)

    參數(shù)

    是否必選

    參數(shù)類型

    描述

    action

    String

    操作標識(區(qū)分大小寫),支持filter、count。filter就是分頁查詢;count是只需按照條件將總條數(shù)返回即可。

    tags

    Array of objects

    包含標簽,最多包含10個key,每個key對應的values最多包含10個值,且key和values都不能重復。不能為空列表。

    詳情請參見表2。

    tags_any

    Array of objects

    包含任意標簽,最多包含10個key,每個key對應的values最多包含10個值,且key和values都不能重復。不允許為空列表,但可以不傳遞參數(shù)。

    詳情請參見表3。

    not_tags

    Array of objects

    不包含標簽,最多包含10個key,每個key對應的values最多包含10個值,且key和values都不能重復。不能為空列表。

    詳情請參見表4。

    not_tags_any

    Array of objects

    不包含任意標簽,最多包含10個key,每個key對應的values最多包含10個值,且key和values都不能重復。不能為空列表。

    詳情請參見表5。

    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ù)。

    詳情請參見表6。

    表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為空列表,則標簽的值可以是任意值。值列表中的值之間為或的關系。

    表5 not_tags_any字段數(shù)據(jù)結構說明

    參數(shù)

    是否必選

    參數(shù)類型

    描述

    key

    String

    標簽的鍵。最大長度127個unicode字符,key不能為空。

    values

    Array of strings

    標簽的值列表。每個值最大長度255個unicode字符,如果values為空列表,則標簽的值可以是任意值。值列表中的值之間為或的關系。

    表6 matches字段數(shù)據(jù)結構說明

    參數(shù)

    是否必選

    參數(shù)類型

    描述

    key

    String

    搜索的字段名稱。合法值為resource_name、resource_id。

    當字段名稱為resource_name時,如果value為空字符串,做精確查詢,否則按鏡像名稱全模糊查詢。當字段名稱為resource_id時,按鏡像ID精確查詢。

    value

    String

    搜索的字段名稱的對應值,不允許為空。每個值最大長度255個unicode字符。

請求示例

  • 按照標簽和總條數(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ù)

    參數(shù)

    參數(shù)類型

    描述

    resources

    Array of resource objects

    鏡像信息列表

    total_count

    Integer

    總記錄數(shù)

    表7 resource字段數(shù)據(jù)結構說明

    參數(shù)

    參數(shù)類型

    描述

    resource_id

    String

    鏡像ID

    resource_detail

    ResourceDetail object

    鏡像詳情

    tags

    Array of Tags objects

    鏡像的標簽列表

    resource_name

    String

    鏡像名稱

    表8 ResourceDetail object

    名稱

    類型

    必選

    描述

    status

    string

    鏡像狀態(tài)

    表9 resource_tag字段數(shù)據(jù)結構說明

    參數(shù)

    參數(shù)類型

    描述

    key

    String

    標簽的鍵

    value

    String

    標簽的值

  • 響應樣例
    • 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"
         }]
      }
      

返回值

  • 正常

    200

  • 異常

    返回值

    說明

    400 Bad Request

    請求錯誤。

    401 Unauthorized

    鑒權失敗。

    403 Forbidden

    沒有操作權限。

    404 Not Found

    找不到資源。

    500 Internal Server Error

    服務內部錯誤。

    503 Service Unavailable

    服務不可用。