5.7 标签管理
5.7.7 批量删除资源标签
功能介绍
该接口用于批量删除资源(通道等)标签。此接口为幂等接口:删除时,如果删除的 标签不存在,默认处理成功;删除时不对标签字符集范围做校验。删除时tags结构体 不能缺失,key不能为空,或者空字符串。
调试
您可以在API Explorer中调试该接口。
URI
POST /v2/{project_id}/stream/{stream_id}/tags/action
表5-162 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
stream_id 是 String 通道ID。
请求参数
表5-163 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。
通过调用IAM服务获取用户 Token接口获取(响应消息头中 X-Subject-Token的值)。
表5-164 请求 Body 参数
参数 是否必选 参数类型 描述
action 是 String 操作标识:仅限于delete
● delete:批量删除 枚举值:
● delete tags 是 Array of Tag
objects 标签列表。
表5-165 Tag
参数 是否必选 参数类型 描述
key 否 String 键。
● 不能为空。
● 对于同一资源键值唯一。
● 字符集:A-Z,a-z , 0-9,
‘-’,‘_’,UNICODE字 符(\u4E00-\u9FFF)。
最小长度:1 最大长度:36
value 否 String 值。
● 长度不超过43个字符。
● 字符集:A-Z,a-z , 0-9,
‘.’,‘-’,‘_’,
UNICODE字符(\u4E00-\u9FFF)。
● 只能包含数字、字母、中划 线“-”、下划线“_”。
最小长度:0 最大长度:43
响应参数
无
请求示例
批量删除资源标签
POST https://{Endpoint}/v2/{project_id}/stream/{stream_id}/tags/action { "action" : "delete",
"tags" : [ { "key" : "key1", "value" : "value1"
}, {
"key" : "key2", "value" : "value3"
} ] }
响应示例
无
状态码
状态码 描述
204 正常返回
错误码
请参见错误码。
6 权限策略及授权项
如果您需要对您所拥有的DIS服务进行精细的权限管理,您可以使用统一身份认证服务
(Identity and Access Management,简称IAM)。如果云账号已经能满足您的要 求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用DIS服务。
默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授 予策略或角色,才能使用户组中的用户获得相应的权限,这一过程称为授权。授权 后,用户就可以基于已有权限对云服务进行操作。
权限根据授权的精细程度,分为角色和策略。角色以服务为粒度,是IAM最初提供的 一种根据用户的工作职能定义权限的粗粒度授权机制。策略以API接口为粒度进行权限 拆分,授权更加精细,可以精确到某个操作、资源和条件,能够满足企业对权限最小 化的安全管控要求。
说明:
如果您要允许或是禁止某个接口的操作权限,请使用策略。
账号具备所有接口的调用权限,如果使用账号下的IAM用户发起API请求时,该IAM用 户必须具备调用该接口所需的权限,否则,API请求将调用失败。每个接口所需要的权 限,与各个接口所对应的授权项相对应,只有发起请求的用户被授予授权项所对应的 策略,该用户才能成功调用该接口。例如,用户要调用接口来查询集群列表,那么这 个IAM用户被授予的策略中必须包含允许“dis:streams:list”的授权项,该接口才能调 用成功。
支持的授权项
策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自 定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作 与API相对应,授权项列表说明如下:
· 权限:允许或拒绝某项操作。
· 对应API接口:自定义策略实际调用的API接口。
· 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以 实现授权项对应的权限功能。
· IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM 项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的
说明:
“√”表示支持,“x”表示暂不支持。
DIS的支持自定义策略授权项如表1所示,表中的授权项作用域支持项目(Project)和 企业项目(Enterprise Project)。
表6-1 自定义策略授权项
POST /v2/{project_id}/apps dis:apps:create √ ×
删除App DELETE /v2/{project_id}/apps/
{app_name} dis:apps:delete √ × 查询App列
表
GET
/v2/{project_id}/apps
dis:apps:list √ ×
查看App详 情
GET
/v2/{project_id}/apps/{app_name}
dis:apps:get √ ×
查看App消
dis:events:list √ ×
创建
订阅 POST
/v1/{project_id}/event-subs
dis:eventEnum
Subs:create √ × 删除
订阅 DELETE
/v1/{project_id}/event-subs/{sub_id}
dis:eventEnum
Subs:delete √ × 修改
订阅
PUT
/v1/{project_id}/event-subs/{sub_id}
dis:eventEnum
Subs:update √ ×
权限 对应API接口 授权项 IAM项
ies:create √ √
查询
ies:delete √ √
查看
dis:streams:get √ √
创建
dis:streams:list √ ×
更新
权限 对应API接口 授权项 IAM项
权限 对应API接口 授权项 IAM项
dis:tags:list √ ×
备注:对应不存在表1中的授权项,例如:查看App Quota:/{projectId}/quotas,首 页概览页面查看DIS资源统计值:/v1/{projectId}/statistics等接口,为用户配置系统预 置策略:DIS User/DIS ReadOnlyAccess/DIS CommonOperations/DIS FullAccess,即 可访问。
7 附录
400 DIS.4117 Invalid Project
Id. %s 用户传入的
projectId无效 请检查传入的 projectId是否有 效,是否传入了其 他project的id。
400 DIS.4200 Invalid
request. %s 用户的请求无
效 请参考API文档检
查请求。
400 DIS.4201 Invalid partition_id.
400 DIS.4202 Empty
request. 用户的请求为 空
请传入有效的请 求。
400 DIS.4203 Invalid monitoring period. %s
查询监控信息 的startTime无 效
请传入有效的时间 戳。
400 DIS.4204 The
monitoring period cannot be longer than 7 days.
仅允许查询最 近7天内的监 控信息
请查询最近7天内 的监控信息。
400 DIS.4205 Stream is not
running. 通道状态不是 运行中
请检查通道状态。