Управление тегами объекта
- AWS CLI
- Python API
Если AWS CLI еще не установлен, установите и настройте его. Для работы с объектным хранилищем используйте команды s3api и s3.
AWS CLI. Управление тегами объекта
Просмотр тегов объекта
В терминале выполните команду:
aws s3api get-object-tagging bucket <bucket_name> key <object_name>
Укажите:
<bucket_name> — имя бакета;
<object_name> — имя объекта.
Добавление тегов объекта
В терминале выполните команду:
aws s3api put-object-tagging \
--bucket <bucket_name> \
--key <object_name> \
--tagging TagSet='[{Key=<key_name>,Value=<key_value>},{Key=<key_name>,Value=<key_value>}]'
Укажите:
<bucket_name> — имя бакета;
<object_name> — имя объекта;
--tagging — массив тегов бакета, где:
<key_name> — ключ тега;
<key_value> — значение тега.
Удаление тегов объекта
В терминале выполните команду:
aws s3api delete-object-tagging --bucket <bucket_name> --key <object_name>
Укажите:
<bucket_name> — имя бакета;
<object_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_object_tags(bucket_name, object_key):
try:
response = s3.get_object_tagging(Bucket=bucket_name, Key=object_key)
tag_set = response.get('TagSet', [])
print(f"Теги объекта {object_key} в бакете {bucket_name}:")
for tag in tag_set:
print(f"{tag['Key']} = {tag['Value']}")
except ClientError as e:
print(f"Ошибка при получении тегов: {e}")
get_object_tags('<bucket_name>', '<object_name>')
Укажите:
<bucket_name> — имя бакета;
<object_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 put_object_tags(bucket_name, object_key, tags_dict):
tag_set = [{'Key': k, 'Value': v} for k, v in tags_dict.items()]
try:
s3.put_object_tagging(
Bucket=bucket_name,
Key=object_key,
Tagging={'TagSet': tag_set}
)
print(f"Теги добавлены к объекту {object_key} в бакете {bucket_name}")
except ClientError as e:
print(f"Ошибка при добавлении тегов: {e}")
put_object_tags('<bucket_name>', '<object_name>', {'<key_name>': '<key_value>', '<key_name>': '<key_value>'})
Укажите:
<bucket_name> — имя бакета;
<object_name> — имя объекта;
<key_name> — ключ тега;
<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_object_tags(bucket_name, object_key):
try:
s3.delete_object_tagging(Bucket=bucket_name, Key=object_key)
print(f"Теги удалены у объекта {object_key} в бакете {bucket_name}")
except ClientError as e:
print(f"Ошибка при удалении тегов: {e}")
delete_object_tags('<bucket_name>', '<object_name>')
Укажите:
<bucket_name> — имя бакета;
<object_name> — имя объекта.
Подробнее об объектах см. в статье Об объектах. Подробнее о тегах объекта см. в статье Теги объекта.