Nano Hash - криптовалюты, майнинг, программирование

boto3 не может удалить теги AWS

boto3 упомянул на Github, что они добавили поддержку удаления тегов. Однако, когда я выполняю приведенный ниже код, возникает исключение:

ec2 = boto3.resource('ec2', region_name=aws_region)
ec2.delete_tags(Resources=[instance.id],Tags=[{"Key": non_compliant_tag_name}])

'ec2.ServiceResource' object has no attribute 'delete_tags'

$ pip show boto3
Name: boto3
Version: 1.4.4

Что я делаю не так?


Ответы:


1

Метод delete_tags() следует вызывать для объекта client, а не для объекта resource:

import boto3
client = boto3.client('ec2', region_name='ap-southeast-2')
...
client.delete_tags(Resources=[instance.id],Tags=[{"Key": non_compliant_tag_name}])
07.06.2017
  • Это сработало отлично, спасибо! Странно, что у boto3.resource есть тег создания, но нет тега удаления, а у клиента есть и создание, и удаление. непоследовательный! в любом случае спасибо за оперативный ответ 07.06.2017
  • resource — это высокоуровневый интерфейс только для бото, который пытается упростить вызовы API. client напрямую сопоставляется с вызовами AWS API, используемыми всеми SDK. 07.06.2017

  • 2

    Вы можете использовать его следующим образом в Python

        import boto3
    
        reservations = ec2.describe_instances(
                Filters=[
                    #{'Name': 'tag:Type', 'Values': ['management']},
                ]
            ).get(
                'Reservations', []
            )
    
            instances = sum(
                [
                    [i for i in r['Instances']]
                    for r in reservations
                ], [])
    
        for instance in instances:
           # Delete the tag 'baz' if it exists
           ec2.delete_tags(Resources=[instance['InstanceId']], Tags=[{"Key": "TAGNAME"}])
    
    07.04.2020
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..