解绑标签

调用UntagResources接口为资源解绑标签。

前提条件

您已完成以下操作:

参数说明

def untag_resources(self, resource_type, resource_id, *tag_keys):

请求参数

名称

类型

是否必填

描述

示例值

resource_type

String

资源的类型。支持如下5种:

  • project:项目。

  • logstore:日志库。

  • dashboard:仪表盘。

  • machinegroup:机器组。

  • logtailconfig:logtail 配置。

project

resource_id

String

资源id。如果resource_typeprojectresource_id为projectName。否则resource_id为projectName#subResourceId。如下举例,当resource_id为不同枚举值时,resource_id对应传参。

  • project:projectName

  • logstore:projectName#logstore

  • dashboard:projectName#dashboard

  • machinegroup:projectName#machinegroup

  • logtailconfig:projectName#logtailconfig

ali-test-project

tag_keys

String

标签的键。

key1

all

bool

是否解绑所有标签,默认为False。

  • False:仅解绑 tags 列表中的标签项。

  • True:解绑资源上绑定的所有标签。

False

返回参数

返回参数说明,请参见UntagResources - 解绑标签

示例代码

import os
from aliyun.log import LogClient


def print_tag(client, resource_type, resource_id):
    for res in client.list_tag_resources(resource_type, resource_id):
        for tag in res.get_tags():
            print(tag.get_resource_id(), '  ', tag.get_tag_key(), ' : ', tag.get_tag_value())


def untag_project(client, project):
    print_tag(client, 'project', project)
    client.untag_resources('project', project, 'key1')
    print('----------after unbinding----------')
    print_tag(client, 'project', project)


def untag_logstore(client, project, logstore):
    print_tag(client, 'logstore', project + '#' + logstore)
    client.untag_resources('logstore', project + '#' + logstore, 'key1')
    print('----------after unbinding----------')
    print_tag(client, 'logstore', project + '#' + logstore)


if __name__ == '__main__':
    # 日志服务的服务接入点
    endpoint = "cn-hangzhou.log.aliyuncs.com"
    # 本示例从环境变量中获取AccessKey ID和AccessKey Secret
    accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
    accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')

    project_name = "ali-test-project"
    logstore_name = "test"

    client = LogClient(endpoint, accessKeyId, accessKey, "")
    print('untag_project:')
    untag_project(client, project_name)
    print('untag_logstore:')
    untag_logstore(client, project_name, logstore_name)

示例返回结果

untag_project:
ali-test-project    key2  :  value2
ali-test-project    key1  :  value1
----------after unbinding----------
ali-test-project    key2  :  value2
untag_logstore:
ali-test-project#test    key2  :  value2
ali-test-project#test    key1  :  value1
----------after unbinding----------
ali-test-project#test    key2  :  value2

Process finished with exit code 0

相关文档