列出资源标签

调用ListTagResources接口列出资源标签。

前提条件

您已完成以下操作:

参数说明

def list_tag_resources(self, resource_type, resource_id, **filer_tags):

请求参数

名称

类型

是否必填

描述

示例值

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

filer_tags

Dictionary

过滤的标签键值对。最多设置 20 个键值对。

  • key:查询时用于过滤标签的键,必填。例如key为"test-key"时,只会返回绑定了标签键为"test-key"的资源。

  • value:查询时用于过滤标签的值,非必填。当值为null时表示只根据key过滤。

{'key1': 'value1'}

返回参数

返回参数说明,请参见ListTagResources - 列出资源标签

示例代码

from aliyun.log import LogClient
import os


def print_tag_list(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())


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, "")
    # 列出project资源标签
    print_tag_list(client, 'project', project_name)
    # 列出logstore资源标签
    print_tag_list(client, 'logstore', project_name + '#' + logstore_name)

示例返回结果

ali-test-project    key1  :  value1
ali-test-project    key2  :  value2
ali-test-project#test    key2  :  value2
ali-test-project#test    key1  :  value1

Process finished with exit code 0

相关文档