Управление метками объекта
Метки объектов — это пары ключ-значение для логической маркировки объектов.
Примечание
В терминологии Yandex Cloud для логической маркировки ресурсов используется понятие метка (label). Object Storage поддерживает совместимость с Amazon S3 API
Добавить или изменить метки
- В консоли управления
в списке сервисов выберите Object Storage и перейдите в нужный бакет. - На панели слева выберите
Объекты. - Нажмите на имя нужного объекта.
- Нажмите на кнопку Добавить метку.
- Через двоеточие введите ключ и значение метки (ключ:значение).
Если вы хотите изменить метку:
- Нажмите на кнопку Добавить метку.
- Введите ключ метки, которую вы хотите изменить, и новое значение.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для изменения меток объекта в бакете:
yc storage s3api put-object-tagging --help
-
Получите список бакетов в каталоге по умолчанию:
yc storage bucket list
Результат:
+------------------+----------------------+-------------+-----------------------+---------------------+ | NAME | FOLDER ID | MAX SIZE | DEFAULT STORAGE CLASS | CREATED AT | +------------------+----------------------+-------------+-----------------------+---------------------+ | my-bucket | b1g5dk66rc1u******** | 53687091200 | STANDARD | 2024-12-17 07:17:04 | +------------------+----------------------+-------------+-----------------------+---------------------+
-
В терминале выполните команду, которая перезаписывает все имеющиеся у объекта метки:
yc storage s3api put-object-tagging \ --bucket <имя_бакета> \ --key <ключ_объекта> \ --version-id <идентификатор_версии> \ --tagging TagSet=[{Key=<ключ_метки>,Value=<значение_метки>},{Key=<ключ_метки>,Value=<значение_метки>}]
Где:
--bucket
— имя бакета.--key
— ключ объекта в бакете.--version-id
— версия объекта. Необязательный параметр.--tagging
— массив меток объекта, где:Key
— ключ метки, тип:string
.Value
— значение метки, тип:string
.
Результат:
request_id: ac9066e5********
Если у вас еще нет интерфейса командной строки AWS CLI, установите и сконфигурируйте его.
В терминале выполните команду, которая перезаписывает все имеющиеся у объекта метки:
aws s3api put-object-tagging \
--bucket <имя_бакета> \
--key <ключ_объекта> \
--tagging 'TagSet=[{Key=<ключ_метки>,Value=<значение_метки>},{Key=<ключ_метки>,Value=<значение_метки>}]' \
--endpoint-url=https://storage.yandexcloud.net
Где:
--bucket
— имя бакета.--key
— ключ объекта в бакете.--tagging
— массив меток объекта, где:Key
— ключ метки, тип:string
.Value
— значение метки, тип:string
.
--endpoint-url
— эндпоинт Object Storage.
Примечание
Terraform взаимодействует с Object Storage от имени сервисного аккаунта. Назначьте сервисному аккаунту нужную роль, например storage.admin
, на каталог, в котором будут создаваться ресурсы.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Откройте файл конфигурации Terraform и добавьте блок
tags
во фрагмент с описанием объекта:resource "yandex_storage_object" "test-object" { access_key = "<идентификатор_статического_ключа>" secret_key = "<секретный_ключ>" bucket = "<имя_бакета>" key = "<имя_объекта>" source = "<путь_к_файлу>" tags = { <ключ_метки_1> = "<значение_метки_1>" <ключ_метки_2> = "<значение_метки_2>" } }
Где
tags
— массив меток объекта в формате<ключ> = "<значение>"
.Более подробную информацию о параметрах ресурса
yandex_storage_object
в Terraform, см. в документации провайдера . -
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-
После этого к объекту будут добавлены метки. Проверить появление меток и настройки объекта можно с помощью AWS CLI или S3 API.
Чтобы добавить или изменить метки объекта, воспользуйтесь методом S3 API putObjectTagging.
Посмотреть метки
Вы можете посмотреть метки в списке объектов бакета и на странице отдельного объекта.
- В консоли управления
в списке сервисов выберите Object Storage и перейдите в нужный бакет. - На панели слева выберите
Объекты. - Нажмите на имя нужного объекта.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для просмотра меток объекта в бакете:
yc storage s3api get-object-tagging --help
-
Получите список бакетов в каталоге по умолчанию:
yc storage bucket list
Результат:
+------------------+----------------------+-------------+-----------------------+---------------------+ | NAME | FOLDER ID | MAX SIZE | DEFAULT STORAGE CLASS | CREATED AT | +------------------+----------------------+-------------+-----------------------+---------------------+ | my-bucket | b1g5dk66rc1u******** | 53687091200 | STANDARD | 2024-12-17 07:17:04 | +------------------+----------------------+-------------+-----------------------+---------------------+
-
Получите информацию о метках объекта:
yc storage s3api get-object-tagging \ --bucket <имя_бакета> \ --key <ключ_объекта> \ --version-id <идентификатор_версии>
Где:
--bucket
— имя бакета.--key
— ключ объекта в бакете.--version-id
— версия объекта. Необязательный параметр.
Результат:
request_id: 2defc7b2******** tag_set: - key: key-for-my-object-2 value: second-value - key: key-for-my-object-1 value: first-value
Если у вас еще нет интерфейса командной строки AWS CLI, установите и сконфигурируйте его.
В терминале выполните команду:
aws s3api get-object-tagging \
--bucket <имя_бакета> \
--key <ключ_объекта> \
--endpoint-url=https://storage.yandexcloud.net
Где:
--bucket
— имя бакета.--key
— ключ объекта в бакете.--endpoint-url
— эндпоинт Object Storage.
Результат:
{
"TagSet": [
{
"Key": "test-key-1",
"Value": "test-value-1"
},
{
"Key": "test-key-2",
"Value": "test-value-2"
}
]
}
Чтобы посмотреть метки объекта, воспользуйтесь методом S3 API getObjectTagging.
Удалить метки
- В консоли управления
в списке сервисов выберите Object Storage и перейдите в нужный бакет. - На панели слева выберите
Объекты. - Нажмите на имя нужного объекта.
- Нажмите на крестик рядом с меткой, которую вы хотите удалить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для удаления меток объекта в бакете:
yc storage s3api delete-object-tagging --help
-
Получите список бакетов в каталоге по умолчанию:
yc storage bucket list
Результат:
+------------------+----------------------+-------------+-----------------------+---------------------+ | NAME | FOLDER ID | MAX SIZE | DEFAULT STORAGE CLASS | CREATED AT | +------------------+----------------------+-------------+-----------------------+---------------------+ | my-bucket | b1g5dk66rc1u******** | 53687091200 | STANDARD | 2024-12-17 07:17:04 | +------------------+----------------------+-------------+-----------------------+---------------------+
-
Удалите метки объекта в бакете:
yc storage s3api delete-object-tagging \ --bucket <имя_бакета> \ --key <ключ_объекта> \ --version-id <идентификатор_версии>
Где:
--bucket
— имя бакета.--key
— ключ объекта в бакете.--version-id
— версия объекта. Необязательный параметр.
Результат:
request_id: 1131dfc4********
Если у вас еще нет интерфейса командной строки AWS CLI, установите и сконфигурируйте его.
В терминале выполните команду:
aws s3api delete-object-tagging \
--bucket <имя_бакета> \
--key <ключ_объекта> \
--endpoint-url=https://storage.yandexcloud.net
Где:
--bucket
— имя бакета.--key
— ключ объекта в бакете.--endpoint-url
— эндпоинт Object Storage.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Откройте файл конфигураций Terraform и удалите блок
tags
из фрагмента с описанием объекта.Пример описания тегов объекта в конфигурации Terraform
resource "yandex_storage_object" "test-object" { ... tags = { <ключ_метки_1> = "<значение_метки_1>" <ключ_метки_2> = "<значение_метки_2>" } } ...
-
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-
После этого у объекта будут удалены метки. Проверить удаление меток и настройки объекта можно с помощью AWS CLI или S3 API.
Чтобы удалить метки объекта, воспользуйтесь методом S3 API deleteObjectTagging.