文档首页/ 云备份 CBR/ API参考/ API/ 标签/ 查询存储库资源实例
更新时间:2025-08-24 GMT+08:00

查询存储库资源实例

功能介绍

使用标签过滤实例

标签管理服务需要提供按标签过滤各服务实例并汇总显示在列表中,需要各服务提供查询能力

URI

POST /v3/{project_id}/vault/resource_instances/action

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目id

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

企业项目ID

请求参数

表3 请求Body参数

参数

是否必选

参数类型

描述

without_any_tag

Boolean

不包含任意一个标签,该字段为true时查询所有不带标签的资源,此时忽略 “tags”、“tags_any”、“not_tags”、“not_tags_any”字段。

tags

Array of TagsReq objects

包含标签。

tags不允许为空列表。

tags中最多包含10个key。

tags中key不允许重复。

tags中多个key之间是“与”的关系。

结果返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。

无过滤条件时返回全量数据。

tags_any

Array of TagsReq objects

包含任一标签。

tags不允许为空列表。

tags中最多包含10个key。

tags中key不允许重复。

结果返回包含任一标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。

无过滤条件时返回全量数据。

not_tags

Array of TagsReq objects

不包含标签。

tags不允许为空列表。

tags中最多包含10个key。

tags中key不允许重复。

结果返回不包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。

无过滤条件时返回全量数据。

not_tags_any

Array of TagsReq objects

不包含任一标签。

tags不允许为空列表。

tags中最多包含10个key。

tags中key不允许重复。

结果返回不包含任一标签的资源列表,key之间是或的关系,key-value结构张value是或的关系。

无过滤条件时返回全量数据。

sys_tags

Array of SysTags objects

仅op_service权限可以使用此字段做资源实例过滤条件。

目前TMS调用时只包含一个tag结构体。

  • key: _sys_enterprise_project_id

  • values:企业项目id列表

目前TMS调用时,key下面只包含一个value,0表示默认企业项目。

sys_tags和租户标签过滤条件(tags、tags_any、not_tags、not_tags_any)不能同时使用。

无sys_tags时按照tag接口处理,无tag过滤条件时返回全量数据。

sys_tags不能为空列表

limit

String

查询记录数(action为count时无此参数)如果action为filter时,默认为1000,limit最小值为1,limit最大值为1000, 不在范围内报错。返回的结果中记录数不超过limit。

offset

String

索引位置(action为count时无此参数)如果action为filter时,默认为0,offset最小值为0。返回的结果中第一条记录为符合查询条件的第offset+1条记录。

action

String

操作标识取值范围为:"filter", "count"。如果是filter就是分页查询,如果是count只需按照条件将总条数返回即可

matches

Array of Match objects

资源本身支持的查询条件。

matches中key不允许重复。

数组长度最大值为 1,后续再扩展。

cloud_type

String

云类型,默认为public,支持类型如下。

public:公有云; hybrid: 混合云

object_type

String

资源类型

  • server: 云服务器

  • disk: 云硬盘

表4 TagsReq

参数

是否必选

参数类型

描述

key

String

键。

最大长度127个unicode字符。

不允许为空字符串。

前后的空格会被丢弃。

values

Array of strings

值列表。

values中最多包含10个value。

每个value最大长度255个unicode字符。前后的空格会被丢弃。

values中value不允许重复。

values中多个value之间是"或"的关系。

values允许为空列表,value允许为空字符串。

values如果为空列表,表示任意值。

*为系统保留字符,如果value是以*开头表示按照*后面的值全模糊匹配,不能只传入“*”。

表5 SysTags

参数

是否必选

参数类型

描述

key

String

键。

系统标签的key,从白名单中取,不能随意定义。

目前仅支持 _sys_enterprise_project_id字段,对应 的value为企业项目ID。

values

Array of strings

值列表。

目前仅会用到企业项目ID,其中默 认的企业项目ID为“0”。

表6 Match

参数

是否必选

参数类型

描述

key

String

键。

key取值范围为:"resource_name",资源名称

value

String

值。

最大长度255个字符。

key为"resource_name"时,value为空字符串时精确匹配,为非空字符串时模糊匹配。

响应参数

状态码:200

表7 响应Body参数

参数

参数类型

描述

resources

Array of TagResource objects

符合查询条件的资源列表(action为count时无此参数)。

total_count

Integer

符合查询条件的资源总个数

表8 TagResource

参数

参数类型

描述

resource_id

String

资源ID,格式为UUID。

resource_detail

InstancesResourceDetail object

资源详情

tags

Array of Tag objects

标签列表

没有标签默认为空数字。

resource_name

String

待备份资源名称,长度限制:0-255字符

sys_tags

Array of SysTag objects

仅op_service权限才可以获取此字段:

目前只包含一个resource_tag 结构体。

key:_sys_enterprise_project_id

value:企业项目id,0表示默认企业项目

非op_service场景不能返回此字段。

表9 InstancesResourceDetail

参数

参数类型

描述

vault

Vault object

存储库

表10 Vault

参数

参数类型

描述

billing

Billing object

运营信息

description

String

存储库自定义描述信息。

id

String

存储库ID

name

String

存储库名称,最大支持64字符,只能由中文、字母、数字、“_”、“-”组成。

project_id

String

项目ID

provider_id

String

存储库资源类型id

resources

Array of ResourceResp objects

存储库资源

tags

Array of Tag objects

存储库标签

enterprise_project_id

String

企业项目ID,默认为‘0’。

获取方法请参见"获取企业项目ID"。

auto_bind

Boolean

功能说明:是否支持自动挂载。默认为false。

取值范围:

  • true:支持自动挂载

  • false:不支持自动挂载

bind_rules

VaultBindRules object

绑定规则

user_id

String

用户id

created_at

String

创建时间,例如:"2020-02-05T10:38:34.209782"

auto_expand

Boolean

功能说明:是否开启存储库自动扩容能力(只支持按需存储库),默认为false。取值范围:true:支持自动扩容;false:不支持自动扩容。

smn_notify

Boolean

功能说明:是否发送smn通知开关,默认为true

取值范围:

  • true:发送smn通知

  • false:不发送smn通知

threshold

Integer

存储库容量阈值,已用容量占总容量达到此百分比即发送相关通知

sys_lock_source_service

String

用于标识SMB服务,支持传入SMB和空,默认值为空

SMB:标识为SMB服务调用

空字符串:表示为普通服务调用

locked

Boolean

功能说明:用于标识当前存储库是否已锁定,锁定的存储库不支持解锁。

关于备份锁定的详细信息,请参考"开启备份锁定"。

取值范围:

  • true:锁定存储库

  • false:不锁定存储库

表11 Billing

参数

参数类型

描述

allocated

Integer

已分配容量,单位GB

charging_mode

String

功能说明:计费模式。默认值为post_paid。取值范围:post_paid:按需,pre_paid:包年包月

cloud_type

String

云类型,默认为public,支持类型如下。

public:公有云; hybrid: 混合云

consistent_level

String

功能描述:存储库规格。取值范围:app_consistent: 应用一致性,crash_consistent: 崩溃一致性

object_type

String

对象类型,支持"server", "disk", "turbo", "workspace", "vmware", "rds"和"file"共七种。server:云服务器,disk:云硬盘,turbo:文件系统,workspace:云桌面,vmware:VMware,rds:关系型数据库,file:文件

order_id

String

订单ID

product_id

String

产品ID

protect_type

String

保护类型,取值范围如下:

backup:备份,replication:复制

size

Integer

容量,单位GB

spec_code

String

规格编码。

云服务备份存储库:vault.backup.server.normal;云硬盘备份存储库:vault.backup.volume.normal;文件备份存储库:vault.backup.turbo.normal

status

String

存储库状态

  • available: 可用

  • lock: 锁定

  • frozen: 冻结

  • deleting: 删除中

  • error: 异常

storage_unit

String

存储库桶名

used

Integer

已使用容量,单位MB

frozen_scene

String

冻结场景

is_multi_az

Boolean

功能说明:存储库是否具有多AZ属性,即底层备份是否为多AZ备份,默认为false

取值范围:

  • true:存储库具有多AZ属性

  • false:存储库不具有多AZ属性

表12 ResourceResp

参数

参数类型

描述

extra_info

ResourceExtraInfo object

资源附加信息

id

String

待备份资源id,需要该资源已经绑定到该存储库中,且属于可备份的状态。

获取方法请参见"查询存储库绑定资源信息","查询资源可保护性"。

name

String

待备份资源名称,长度限制:0-255字符

protect_status

String

保护状态

  • available: 可用

  • error: 异常

  • protecting: 保护中

  • restoring: 恢复中

  • removing: 删除中

size

Integer

资源已分配容量,单位为GB

type

String

待备份资源的类型: OS::Nova::Server:云服务器; OS::Cinder::Volume:云硬盘;OS::Ironic::BareMetalServer:裸金属服务器;OS::Sfs::Turbo:SFS Turbo文件系统;OS::Workspace::DesktopV2:云桌面

backup_size

Integer

备份副本大小。单位GB。

backup_count

Integer

副本数量

表13 ResourceExtraInfo

参数

参数类型

描述

exclude_volumes

Array of strings

需要排除备份的卷id。仅在多盘备份特性中有效,排除不需要备份的磁盘。当虚拟机新绑定磁盘时,也能继续排除之前设置不用备份的卷。

表14 VaultBindRules

参数

参数类型

描述

tags

Array of BindRulesTags objects

按tags过滤自动绑定的资源

最小长度:0

最大长度:5

表15 BindRulesTags

参数

参数类型

描述

key

String

key不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。

key只能由中文,字母,数字,“-”,“_”组成。

value

String

value不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。

value只能由中文,字母,数字,“-”,“_”,“.”组成。

表16 Tag

参数

参数类型

描述

key

String

键。

key最大长度为36个字符。

key不能为空字符串。

key前后空格会被丢弃。

key不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。

key只能由中文,字母,数字,“-”,“_”组成。

value

String

值。

添加标签时value值必选,删除标签时value值可选。

value最大长度为43个字符。

value可以为空字符串。

value前后的空格会被丢弃。

value不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。

value只能由中文,字母,数字,“-”,“_”,“.”组成。

表17 SysTag

参数

参数类型

描述

key

String

键。

系统标签的key,从白名单中取,不能随意定义。

目前仅支持 _sys_enterprise_project_id字段,对应 的value为企业项目ID。

value

String

值。

目前仅会用到企业项目ID,其中默认的企业项目ID为“0”。

状态码:400

表18 响应Body参数

参数

参数类型

描述

error_code

String

请参见错误码

error_msg

String

错误信息

请求示例

使用标签分页查询存储库资源实例。

POST https://{endpoint}/v3/{project_id}/vault/resource_instances/action

{
  "tags" : [ {
    "key" : "string",
    "values" : [ "value" ]
  } ],
  "action" : "filter"
}

响应示例

状态码:200

OK

{
  "total_count" : 7,
  "resources" : [ {
    "resource_id" : "e54f7854-8de8-4f98-acf1-65f330bfe877",
    "resource_name" : "vault-7698-api-test",
    "resource_detail" : {
      "vault" : {
        "id" : "e54f7854-8de8-4f98-acf1-65f330bfe877",
        "name" : "vault-7698-api-test",
        "resources" : [ ],
        "provider_id" : "0daac4c5-6707-4851-97ba-169e36266b66",
        "created_at" : "2023-04-21T08:20:43.022+00:00",
        "project_id" : "667230ba418f48f1996329f174693053",
        "enterprise_project_id" : 0,
        "auto_bind" : false,
        "bind_rules" : { },
        "auto_expand" : false,
        "smn_notify" : true,
        "threshold" : 80,
        "user_id" : "0ae13f012b80d2d81f11c0129285d34b",
        "billing" : {
          "allocated" : 0,
          "cloud_type" : "public",
          "consistent_level" : "crash_consistent",
          "charging_mode" : "pre_paid",
          "order_id" : "CS23042116192E6CZ",
          "product_id" : "00301-231151-0--0",
          "protect_type" : "backup",
          "object_type" : "server",
          "spec_code" : "vault.backup.server.normal",
          "used" : 0,
          "status" : "available",
          "size" : 100
        },
        "tags" : [ ]
      }
    },
    "tags" : [ ]
  } ]
}

状态码

状态码

描述

200

OK

400

Bad Request

错误码

请参见错误码