更新时间:2024-03-13 GMT+08:00

查询资源实例

功能介绍

使用标签过滤实例。

调用方法

请参见如何调用API

URI

POST /v2/{project_id}/{resource_type}/resource_instances/action

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取项目ID请参考 获取项目ID

resource_type

String

资源类型,目前有:

smn_topic,主题

smn_sms,短信

smn_application,移动推送

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

tags

Array of ResourceTags objects

最多包含10个key,每个key最多包含10个value,结构体不能缺失。key不能为空或者空字符串。key不能重复,同一个key中value不能重复,不同key对应的资源之间为与的关系。

tags_any

Array of ResourceTags objects

最多包含10个key,每个key最多包含10个value,结构体不能缺失。key不能为空或者空字符串。key不能重复,同一个key中value不能重复,不同key对应的资源之间为或的关系。

not_tags

Array of ResourceTags objects

最多包含10个key,每个key最多包含10个value,结构体不能缺失。key不能为空或者空字符串。key不能重复,同一个key中value不能重复,不同key对应的资源之间为与非的关系。

not_tags_any

Array of ResourceTags objects

最多包含10个key,每个key最多包含10个value,结构体不能缺失。key不能为空或者空字符串。key不能重复,同一个key中value不能重复,不同key对应的资源之间为或非的关系。

offset

String

索引位置, 从offset指定的下一条数据开始查询。 查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数。action为count时无此参数。action为filter时,默认为0,必须为数字,且不能为负数。

缺省值:0

limit

String

查询记录数。

action为count时无此参数。

action为filter时,默认为1000。limit最多为1000,不能为负数,最小值为1。

缺省值:1000

action

String

操作标识(仅限于filter,count):filter(过滤),count(查询总条数)。 为filter时表示分页查询,为count只需按照条件将总条数返回即可。

matches

Array of TagMatch objects

搜索字段。

key为要匹配的字段,当前只支持resource_name。

value为匹配的值,当前为精确匹配。

表4 ResourceTags

参数

是否必选

参数类型

描述

key

String

键。

  • 最大长度127个unicode字符。

  • key不能为空。

values

Array of strings

值列表。

  • 最多10个value。

  • value不允许重复。

  • 每个值最大长度255个unicode字符。

  • 如果values为空则表示any_value。

  • value之间为或的关系。

表5 TagMatch

参数

是否必选

参数类型

描述

key

String

键,表示要匹配的字段。

当前key的参数值只能取“resource_name”,此时value的参数值为云服务器名称。

  • key不能重复,value为匹配的值。

  • 此字段为固定字典值。

  • 不允许为空字符串。

value

String

值。

当前key的参数值只能取“resource_name”,此时value的参数值为云服务器名称。

  • 每个值最大长度255个unicode字符。

  • 不可以为空。

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

resources

Array of TagResource objects

返回的资源列表。

total_count

Integer

总记录数。

表7 TagResource

参数

参数类型

描述

resource_id

String

资源ID。

resource_detail

ResourceDetail object

资源详情。

tags

Array of ResourceTag objects

标签列表。

resource_name

String

资源名称。

表8 ResourceDetail

参数

参数类型

描述

enterprise_project_id

String

企业项目ID

detailId

String

详情ID

topic_urn

String

topic唯一标识

display_name

String

显示名

表9 ResourceTag

参数

参数类型

描述

key

String

键,表示要匹配的字段。

当前key的参数值只能取“resource_name”,此时value的参数值为云服务器名称。

  • key不能重复,value为匹配的值。

  • 此字段为固定字典值。

  • 不允许为空字符串。

value

String

值。

当前key的参数值只能取“resource_name”,此时value的参数值为云服务器名称。

  • 每个值最大长度255个unicode字符。

  • 不可以为空。

状态码: 400

表10 响应Body参数

参数

参数类型

描述

request_id

String

请求的唯一标识ID。

code

String

服务异常错误信息编码。

message

String

服务异常错误信息描述。

状态码: 403

表11 响应Body参数

参数

参数类型

描述

request_id

String

请求的唯一标识ID。

code

String

服务异常错误信息编码。

message

String

服务异常错误信息描述。

状态码: 404

表12 响应Body参数

参数

参数类型

描述

request_id

String

请求的唯一标识ID。

code

String

服务异常错误信息编码。

message

String

服务异常错误信息描述。

状态码: 500

表13 响应Body参数

参数

参数类型

描述

request_id

String

请求的唯一标识ID。

code

String

服务异常错误信息编码。

message

String

服务异常错误信息描述。

请求示例

  • 使用标签过滤资源实例

    POST https://{SMN_Endpoint}/v2/{project_id}/{resource_type}/resource_instances/action
    
    {
      "offset" : "100",
      "limit" : "100",
      "action" : "filter",
      "matches" : [ {
        "key" : "resource_name",
        "value" : "resource1"
      } ],
      "not_tags" : [ {
        "key" : "key1",
        "values" : [ "*value1", "value2" ]
      }, {
        "key" : "key2",
        "values" : [ "*value21", "value22" ]
      } ],
      "tags" : [ {
        "key" : "key1",
        "values" : [ "*value1", "value2" ]
      } ],
      "tags_any" : [ {
        "key" : "key1",
        "values" : [ "value1", "value2" ]
      } ],
      "not_tags_any" : [ {
        "key" : "key1",
        "values" : [ "value1", "value2" ]
      } ]
    }
  • 使用标签查询资源实例总数

    POST https://{SMN_Endpoint}/v2/{project_id}/{resource_type}/resource_instances/action
    
    {
      "action" : "count",
      "not_tags" : [ {
        "key" : "key1",
        "values" : [ "value1", "*value2" ]
      } ],
      "tags" : [ {
        "key" : "key1",
        "values" : [ "value1", "value2" ]
      } ],
      "tags_any" : [ {
        "key" : "key1",
        "values" : [ "value1", "value2" ]
      } ],
      "not_tags_any" : [ {
        "key" : "key1",
        "values" : [ "value1", "value2" ]
      } ],
      "matches" : [ {
        "key" : "resource_name",
        "value" : "resouurce"
      } ]
    }

响应示例

状态码: 200

OK

{
  "resources" : {
    "resource_detail" : {
      "topic_urn" : "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:resouece1",
      "display_name" : "testtest",
      "enterprise_project_id" : "0"
    },
    "resource_id" : "cffe4fc4c9a54219b60dbaf7b586e132",
    "resource_name" : "resouece1",
    "tags" : [ {
      "key" : "key1",
      "value" : "value1"
    } ]
  },
  "total_count" : 1000
}

状态码

状态码

描述

200

OK

400

Bad Request

403

Unauthorized

404

Not Found

500

Internal Server Error

错误码

请参见错误码