Управление тегами бакета
- AWS CLI
- Python API
Если AWS CLI еще не установлен, установите и настройте его. Для работы с объектным хранилищем используйте команды s3api и s3.
AWS CLI. Управление тегами бакета
Просмотреть теги
В терминале выполните команду:
aws s3api get-bucket-tagging --bucket <bucket_name>
Укажите:
<bucket_name> — имя бакета.
Добавить или изменить теги
В терминале выполните команду:
aws s3api put-bucket-tagging \
--bucket <bucket_name> \
--tagging 'TagSet=[{Key=<key_name>,Value=<key_value>},{Key=<key_name>,Value=<key_value>}]'
Укажите:
<bucket_name> — имя бакета;
--tagging — массив тегов бакета, где:
a) <key_name> — ключ тега, тип;
b) <key_value> — значение тега.
Удалить теги
В терминале выполните команду:
aws s3api delete-bucket-tagging --bucket <bucket_name>
Укажите:
<bucket_name> — имя бакета.
Подробнее о бакетах см. в статье О бакетах. Подробнее о тегах бакета см. в статье Теги бакета.
Boto3 — это библиотека Python, предоставляющая программный интерфейс (SDK) для взаимодействия с объектным хранилищем S3. Подробности см. в документации AWS Boto3.
Python API. Управление тегами бакета
Просмотреть теги
import boto3
from botocore.exceptions import ClientError
session = boto3.session.Session(profile_name='default') #Создает сессию с использованием профиля default. Профиль находится в файле ~/.aws/credentials.
s3 = session.client('s3', endpoint_url='$endpoint')
def get_bucket_tags(bucket_name):
try:
response = s3.get_bucket_tagging(Bucket=bucket_name)
tags = response.get('TagSet', [])
print(f"Теги бакета '{bucket_name}':")
for tag in tags:
print(f" {tag['Key']}: {tag['Value']}")
except ClientError as e:
if e.response['Error']['Code'] == 'NoSuchTagSet':
print(f"У бакета '{bucket_name}' нет тегов.")
else:
print(f"Ошибка при получении тегов: {e}")
get_bucket_tags('<bucket_name>')
Укажите:
<bucket_name> — имя бакета.
Добавить или изменить теги
import boto3
from botocore.exceptions import ClientError
session = boto3.session.Session(profile_name='default') #Создает сессию с использованием профиля default. Профиль находится в файле ~/.aws/credentials.
s3 = session.client('s3', endpoint_url='$endpoint')
def set_bucket_tags(bucket_name, tags_dict):
try:
tag_set = [{'Key': k, 'Value': v} for k, v in tags_dict.items()]
s3.put_bucket_tagging(
Bucket=bucket_name,
Tagging={'TagSet': tag_set}
)
print(f"Теги успешно добавлены/обновлены для бакета '{bucket_name}'.")
except ClientError as e:
print(f"Ошибка при установке тегов: {e}")
set_bucket_tags('<bucket_name>', {
'<key_name>': '<key_value>'
})
Укажите:
<bucket_name> — имя бакета;
--tagging — массив тегов бакета, где:
a) <key_name> — ключ тега;
b) <key_value> — значение тега.
Удалить теги
import boto3
from botocore.exceptions import ClientError
session = boto3.session.Session(profile_name='default') #Создает сессию с использованием профиля default. Профиль находится в файле ~/.aws/credentials.
s3 = session.client('s3', endpoint_url='$endpoint')
def delete_bucket_tags(bucket_name):
try:
s3.delete_bucket_tagging(Bucket=bucket_name)
print(f"Все теги удалены у бакета '{bucket_name}'.")
except ClientError as e:
print(f"Ошибка при удалении тегов: {e}")
delete_bucket_tags('<bucket_name>')
Укажите:
<bucket_name> — имя бакета.
Подробнее о бакетах см. в статье О бакетах. Подробнее о тегах бакета см. в статье Теги бакета.