Переименование и перемещение объекта
Чтобы работать с объектами в зашифрованном бакете, у пользователя или сервисного аккаунта вместе с ролью storage.configurer
должны быть следующие роли на ключ шифрования:
kms.keys.encrypter
— для чтения ключа, шифрования и загрузки объектов;kms.keys.decrypter
— для чтения ключа, расшифровки и скачивания объектов;kms.keys.encrypterDecrypter
— включает разрешения, предоставляемые ролямиkms.keys.encrypter
иkms.keys.decrypter
.
Подробнее см. Сервисные роли Key Management Service.
Переименование
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для переименования объекта в бакете:
yc storage s3 mv --help
-
Получите список бакетов в каталоге по умолчанию:
yc storage bucket list
Результат:
+------------------+----------------------+-------------+-----------------------+---------------------+ | NAME | FOLDER ID | MAX SIZE | DEFAULT STORAGE CLASS | CREATED AT | +------------------+----------------------+-------------+-----------------------+---------------------+ | first-bucket | b1gmit33ngp6******** | 53687091200 | STANDARD | 2022-12-16 13:58:18 | +------------------+----------------------+-------------+-----------------------+---------------------+
-
Выполните команду:
yc storage s3 mv \ s3://<имя_бакета>/<ключ_объекта> \ s3://<имя_бакета>/<новый_ключ_объекта>
Результат:
move: s3://my-bucket/object.txt to s3://my-bucket/renamed-object.txt
-
Если у вас еще нет AWS CLI, установите и сконфигурируйте его.
-
Чтобы переименовать объект, выполните команду:
aws --endpoint-url=https://storage.yandexcloud.net/ \ s3 mv s3://<имя_бакета>/<ключ_объекта> s3://<имя_бакета>/<новый_ключ_объекта>
Где:
--endpoint-url
— эндпоинт Object Storage.s3 mv
— команда для переименования или перемещения объекта. Чтобы переименовать объект, в первой части команды укажите имя бакета и актуальный ключ объекта, который нужно переименовать, а во второй — имя бакета и новый ключ объекта.
Результат:
move: s3://<имя_бакета>/<ключ_объекта> to s3://<имя_бакета>/<новый_ключ_объекта>
Подробнее о команде aws s3 mv
см. в документации AWS CLI Command Reference
Перемещение
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для перемещения объекта:
yc storage s3 mv --help
-
Получите список бакетов в каталоге по умолчанию:
yc storage bucket list
Результат:
+------------------+----------------------+-------------+-----------------------+---------------------+ | NAME | FOLDER ID | MAX SIZE | DEFAULT STORAGE CLASS | CREATED AT | +------------------+----------------------+-------------+-----------------------+---------------------+ | first-bucket | b1gmit33ngp6******** | 53687091200 | STANDARD | 2022-12-16 13:58:18 | +------------------+----------------------+-------------+-----------------------+---------------------+
-
Выполните команду:
yc storage s3 mv \ s3://<имя_бакета-источника>/<ключ_объекта> \ s3://<имя_целевого_бакета>/<ключ_объекта>
Результат:
move: s3://my-bucket/object.txt to s3://new-bucket/object.txt
-
Если у вас еще нет AWS CLI, установите и сконфигурируйте его.
-
Чтобы переместить объект, например, из одного бакета в другой, выполните команду:
aws --endpoint-url=https://storage.yandexcloud.net/ \ s3 mv s3://<имя_бакета-источника>/<ключ_объекта> s3://<имя_целевого_бакета>/<ключ_объекта>
Где:
--endpoint-url
— эндпоинт Object Storage.s3 mv
— команда для переименования или перемещения объекта. Чтобы переместить объект, в первой части команды укажите имя бакета-источника и ключ объекта, который нужно переместить, а во второй — имя целевого бакета и ключ объекта.
Результат:
move: s3://<имя_бакета-источника>/<ключ_объекта> to s3://<имя_целевого_бакета>/<ключ_объекта>
Подробнее о команде aws s3 mv
см. в документации AWS CLI Command Reference
В Object Storage папки имитируются с помощью префиксов ключей. Чтобы переместить объект из одной папки в другую, переименуйте префикс его ключа.
Также для переименования и перемещения объектов вы можете воспользоваться поддерживаемыми инструментами, например файловым браузером.