Как добавить теги в группу журналов Cloudwatch с помощью boto3? - PullRequest
1 голос
/ 18 марта 2020

Попытка добавить теги в группу cloudwatchLog, используя сервис ResourceGroupsTaggingAPI, используя boto3. Код выполняется без ошибок, но не видит добавляемых тегов. Как добавить теги в группу cloudwatchLog?

Код:

log_group=[]
client = boto3.client('logs')
client_api=boto3.client('resourcegroupstaggingapi')

 def lambda_handler(event, context):
    paginator = client.get_paginator('describe_log_groups')
    response_iterator = paginator.paginate()
    for page in response_iterator:
        for grp in page['logGroups']:
            log_group.append(str(grp['arn']))
    client_api.tag_resources(
        ResourceARNList=log_group,
        Tags={
            'Header1':'value1',
            'Header2':'value2',
            'header3':'value3'}
        )    

1 Ответ

0 голосов
/ 19 марта 2020

Несколько вещей здесь.

  1. Распечатайте ответ API tag_resources, он может содержать сообщения, которые укажут вам правильное направление.

  2. Вы используете более новый tag_resources API. Этот API построен поверх более старых API для каждого ресурса. Как и tag_log_group API в этом случае. Это означает, что вашей лямбде потребуются разрешения на tag:TagResources и logs:TagLogGroup.

  3. Вы отправляете ARN, которые вы получили, позвонив по номеру describe_log_groups. Эти ARN будут иметь форму arn:aws:logs:REGION:ACCOUNT:log-group:LOG_GROUP_NAME:*. Поскольку подчеркивающий tag_log_group API работает с именами групп журналов, а не с ARN, вам нужно удалить последний :* из ARN, чтобы можно было извлечь правильное имя группы журналов.

  4. Я не уверен на 100%, что вы даже можете видеть теги на группах журналов в пользовательском интерфейсе. Вам может потребоваться вызвать list_tags_log_group API, чтобы проверить наличие тегов.

...