
# 查询资源实例数量 - CountTagFabricWorkspaces
#### 功能介绍
通过标签查询工作空间数量：*without_any_tag=true* 时查询无标签资源，忽略*tags* 字段；*false* 或未提供时，按*tags* 、*matches* 等条件过滤。*tags* 最多含20个键，每键最多20个值，键不可重复，值可为空但结构不可缺失。*matches*支持特定字段的精确或模糊搜索。返回符合过滤条件的工作空间数量。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DataArtsFabric/doc?api=CountTagFabricWorkspaces)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-fabric/dataartsfabric_03_0014.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                                | 访问级别 | 资源类型（\*为必须） | 条件键       | 别名                                            | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | DataArtsFabric::listResourcesByTag | List | -           | g:TagKeys | - DataArtsFabric:workspace:listResourcesByTag | -      |
     
#### URI
POST /v1/{project_id}/fabric-workspace/resource-instances/count
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                           |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释** ：项目ID。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-fabric/dataartsfabric_03_0020.html)。 **约束限制**：不涉及。 **取值范围**：长度为\[1,36\]的英文字符、数字和中划线(-)的组合。 **默认取值**：不涉及。 |
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                      |
|:---|:---|:---|:---|
| X-Auth-Token | 否    | String | **参数解释** ：租户Token。用于调用接口的认证。获取方法，请参见[认证鉴权](https://support.huaweicloud.com/api-fabric/dataartsfabric_03_0005.html)。 **约束限制**：不涉及。 **取值范围**：长度不超过65534个字符。 **默认取值**：不涉及。 |
   
表3请求Body参数 
| 参数              | 是否必选 | 参数类型                                                                                         | 描述                                                                                                                                           |
|:---|:---|:---|:---|
| without_any_tag | 否    | Boolean                                                                                      | **参数解释**：不包含任意一个标签，该字段为true时查询所有不带标签的资源，此时忽略 "tags"、"tags_any"、"not_tags"、"not_tags_any"字段。 **约束限制**：不涉及。 **取值范围**：true，false。 **默认取值**：不涉及。 |
| tags            | 否    | Array of [ResourceTagParam] objects | **参数解释**：包含标签，最多包含50个key，每个key下面的value最多10个，每个key对应的value可以为空数组但结构体不能缺失。 **约束限制**：\[1,20\]。                                                  |
| matches         | 否    | Array of [TagMatch] objects                 | **参数解释**：搜索字段，key为要匹配的字段，如resource_name等。value为匹配的值。 **约束限制**：\[1,10\]。                                                                      |
| sys_tags        | 否    | Array of [SystemTagParam] objects     | **参数解释**：系统标签列表，目前只包含一个tag结构体。key下面只包含一个value。 **约束限制**：1。                                                                                   |
   
 表4ResourceTagParam 
| 参数     | 是否必选 | 参数类型             | 描述                                                                                                                           |
|:---|:---|:---|:---|
| key    | 是    | String           | **参数解释**：资源标签的键。 **约束限制**：不涉及。 **取值范围** ：见[查询标签键列表](https://support.huaweicloud.com/api-tms/ListTagKeys.html)。 **默认取值**：不涉及。 |
| values | 否    | Array of strings | **参数解释**：资源标签的值列表。 **约束限制**：不涉及。                                                                                             |
   
 表5TagMatch 
| 参数    | 是否必选 | 参数类型   | 描述                                                                        |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释**：键。 **约束限制**：不涉及。 **取值范围**：resource_name。 **默认取值**：resource_name。 |
| value | 否    | String | **参数解释**：资源标签的值。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                |
   
 表6SystemTagParam 
| 参数     | 是否必选 | 参数类型             | 描述                                                                               |
|:---|:---|:---|:---|
| key    | 是    | String           | **参数解释**：键。 **约束限制**：固定值。 **取值范围**：固定值：_sys_enterprise_project_id。 **默认取值**：不涉及。 |
| values | 是    | Array of strings | **参数解释**：系统标签的值列表。 **约束限制**：固定值。                                                 |
   
#### 响应参数
**状态码：200**
表7响应Header参数 
| 参数           | 参数类型   | 描述                                                               |
|:---|:---|:---|
| X-request-id | String | **参数解释**：请求ID，定位辅助信息。 **约束限制**：不可修改。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
   
表8响应Body参数 
| 参数          | 参数类型    | 描述    |
|:---|:---|:---|
| total_count | Integer | 实例总数。 |
   
**状态码：400**
表9响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：401**
表10响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：404**
表11响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：408**
表12响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：500**
表13响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
#### 请求示例
请求统计tag_key的标签的资源，具体请求实例如下。
```
POST https://{endpoint}/v1/{project_id}/fabric-workspace/resource-instances/count
{
  "without_any_tag" : false,
  "tags" : [ {
    "key" : "tag_key",
    "values" : [ "tag_value" ]
  } ],
  "matches" : [ {
    "key" : "resource_name",
    "value" : "tag_value"
  } ],
  "sys_tags" : ""
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "total_count" : 1
}
```
**状态码：400**
BadRequest
```
{
  "error_code" : "common.01000001",
  "error_msg" : "failed to read http request, please check your input, code: 400, reason: Type mismatch., cause: TypeMismatchException"
}
```
**状态码：401**
Unauthorized
```
{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}
```
**状态码：403**
Forbidden
```
{
  "error" : {
    "code" : "403",
    "message" : "X-Auth-Token is invalid in the request",
    "title" : "Forbidden"
  },
  "error_code" : 403,
  "error_msg" : "X-Auth-Token is invalid in the request",
  "title" : "Forbidden"
}
```
**状态码：404**
NotFound
```
{
  "error_code" : "common.01000001",
  "error_msg" : "response status exception, code: 404"
}
```
**状态码：408**
Request Time-out
```
{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}
```
**状态码：500**
InternalServerError
```
{
  "error_code" : "common.00000500",
  "error_msg" : "internal error"
}
```
#### 状态码
| 状态码 | 描述                  |
|:---|:---|
| 200 | OK                  |
| 400 | BadRequest          |
| 401 | Unauthorized        |
| 403 | Forbidden           |
| 404 | NotFound            |
| 408 | Request Time-out    |
| 500 | InternalServerError |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-fabric/dataartsfabric_03_0028.html)。
