Переименование объекта
Переименование объекта выполняется путем перемещения. Все метаданные сохраняются. При включенном версионировании все версии сохраняются.
- AWS CLI
- Python API
Если AWS CLI еще не установлен, установите и настройте его. Для работы с объектным хранилищем используйте команды s3api и s3.
AWS CLI. Переименование объекта
В терминале выполните команду:
aws s3 mv s3://<object_name_old> s3://<object_name_new>
Укажите:
<object_name_orig> — старое имя объекта;
<object_name_new> — новое имя объекта.
Подробнее об объектах см. в статье Об объектах.
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 rename_object(bucket_name, old_key, new_key):
try:
copy_source = {'Bucket': bucket_name, 'Key': old_key}
s3.copy_object(CopySource=copy_source, Bucket=bucket_name, Key=new_key)
s3.delete_object(Bucket=bucket_name, Key=old_key)
print(f"Переименован: {old_key} -> {new_key}")
except ClientError as e:
print(f"Ошибка переименования: {e}")
rename_object('<bucket_name>', '<object_name_orig>', '<object_name_new>')
Укажите:
<bucket_name> — имя бакета;
<object_name_orig> — старое имя объекта;
<object_name_new> — новое имя объекта.
Подробнее об объектах см. в статье Об объектах.