Управление выгрузкой метаданных объектов (S3 Inventory) в бакете
В Object Storage вы можете выгрузить метаданные объектов (S3 Inventory) из бакетов для дальнейшего анализа и каталогизации.
Важно
Функциональность выгрузки метаданных объектов (S3 Inventory) находится на стадии Preview и не тарифицируется. В дальнейшем выгрузка будет платной.
Операции LIST и HEAD, выполненные в рамках функциональности S3 Inventory, отдельно тарифицироваться не будут.
Взимается плата за операции PUT и хранение данных в бакете, в который выгружаются метаданные. Подробнее см. в разделе Правила тарификации для Object Storage.
Создать конфигурацию выгрузки
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для создания конфигурации выгрузки:
yc storage bucket create-inventory-configuration --help -
Создайте конфигурацию выгрузки:
yc storage bucket create-inventory-configuration \ --name <имя_бакета> \ --configuration '{ "id": "test_config", "is_enabled": true, "schedule": { "frequency": "DAILY" }, "destination": { "bucket_destination": { "bucket": "<имя_целевого_бакета>", "format": "CSV", "prefix": "inventory" } }, "filter": { "prefix": "for_inventory" }, "included_object_versions": "ALL", "optional_fields": [ "SIZE", "LAST_MODIFIED_DATE", "STORAGE_CLASS", "ETAG", "IS_MULTIPART_UPLOADED", "ENCRYPTION_STATUS", "OBJECT_LOCK_RETAIN_UNTIL_DATE", "OBJECT_LOCK_MODE", "OBJECT_LOCK_LEGAL_HOLD_STATUS", "CHECKSUM_ALGORITHM", "OBJECT_ACCESS_CONTROL_LIST", "OBJECT_OWNER" ] }'Где:
--name— имя бакета, метаданные объектов которого нужно выгрузить.--configuration— параметры конфигурации выгрузки:id— идентификатор конфигурации. Обязательный параметр.is_enabled— флаг включения или отключения конфигурации.frequency— периодичность выгрузки. Обязательный параметр. Возможные значения:DAILY— раз в день;WEEKLY— раз в неделю.
destination— информация о том, где и как публиковать результаты выгрузки:bucket— имя бакета, в который будут выгружаться метаданные. Исходный и целевой бакеты должны находиться в одном облаке. Обязательный параметр.format— формат результатов выгрузки. Поддерживается толькоCSV. Обязательный параметр.prefix— папка (префикс), в которой будут генерироваться результаты выгрузки.
included_object_versions— версии объектов, которые нужно включить в список для выгрузки. Обязательный параметр. Возможные значения:ALL— все версии;CURRENT— текущая версия.
filter— фильтр для объектов, которые будут включены в выгрузку. В полеprefixукажите папку, объекты из которой нужно включить в список для выгрузки. Необязательный параметр.optional_fields— массив типов выгружаемых метаданных:SIZE— размер объекта в байтах;LAST_MODIFIED_DATE— дата создания или последнего изменения объекта;STORAGE_CLASS— класс хранилища;ETAG— хэш объекта;IS_MULTIPART_UPLOADED— указывает, был ли объект загружен в результате составной загрузки;ENCRYPTION_STATUS— статус шифрования объекта;OBJECT_LOCK_RETAIN_UNTIL_DATE— дата окончания блокировки версии объекта;OBJECT_LOCK_MODE— тип блокировки версии объекта;OBJECT_LOCK_LEGAL_HOLD_STATUS— статус бессрочной блокировки версии объекта;CHECKSUM_ALGORITHM— алгоритм, используемый для расчета контрольной суммы объекта;OBJECT_ACCESS_CONTROL_LIST— список управления доступом (ACL) для объекта;OBJECT_OWNER— владелец объекта.
Вы также можете создать файл с конфигурацией в формате JSON и передать его в команде:
yc storage bucket create-inventory-configuration \ --name <имя_бакета> \ --configuration "$(cat <путь_к_файлу>)"Пример содержимого файла
{ "id": "test_config", "is_enabled": true, "schedule": { "frequency": "WEEKLY" }, "destination": { "bucket_destination": { "bucket": "<имя_целевого_бакета>", "format": "CSV", "prefix": "inventory" } }, "included_object_versions": "ALL", "optional_fields": [ "SIZE", "LAST_MODIFIED_DATE", "STORAGE_CLASS", "ETAG", "IS_MULTIPART_UPLOADED", "ENCRYPTION_STATUS", "OBJECT_LOCK_RETAIN_UNTIL_DATE", "OBJECT_LOCK_MODE", "OBJECT_LOCK_LEGAL_HOLD_STATUS", "CHECKSUM_ALGORITHM", "OBJECT_ACCESS_CONTROL_LIST", "OBJECT_OWNER" ] }
Чтобы создать конфигурацию выгрузки, воспользуйтесь методом REST API createInventoryConfiguration для ресурса Bucket или вызовом gRPC API BucketService.CreateInventoryConfiguration.
Скачать результаты выгрузки
Результаты будут представлены в нескольких файлах:
-
Манифест:
-
<префикс_выгрузки>/<имя_исходного_бакета>/<идентификатор_конфигурации>/<дата_выгрузки>/manifest.json— манифест выгрузки; -
<префикс_выгрузки>/<имя_исходного_бакета>/<идентификатор_конфигурации>/<дата_выгрузки>/manifest.checksum— контрольные суммы манифеста.Где:
<префикс_выгрузки>— префикс, по которому производилась выгрузка;<имя_исходного_бакета>— имя бакета, из которого выгружаются метаданные;<идентификатор_конфигурации>— идентификатор конфигурации выгрузки;<дата_выгрузки>— дата выгрузки в форматеYYYY-MM-DDThh:mmZ.
-
-
Отчет:
<префикс_выгрузки>/<имя_исходного_бакета>/<идентификатор_конфигурации>/data/<имя_отчета>.csv, где<имя_отчета>— UUID отчета.Для выгрузки метаданных из крупных бакетов отчет может быть разбит на несколько файлов.
Вы можете скачать результаты выгрузки аналогично другим объектам.
Получить список конфигураций выгрузки
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для просмотра списка конфигураций выгрузки:
yc storage bucket list-inventory-configurations --help -
Получите список конфигураций выгрузки для бакета:
yc storage bucket list-inventory-configurations <имя_бакета>Результат:
configurations: - id: test_config destination: bucket_destination: bucket: test-bucket format: CSV prefix: inventory included_object_versions: ALL is_enabled: true schedule: frequency: DAILY optional_fields: - SIZE - LAST_MODIFIED_DATE - STORAGE_CLASS - ETAG - IS_MULTIPART_UPLOADED - ENCRYPTION_STATUS - OBJECT_LOCK_RETAIN_UNTIL_DATE - OBJECT_LOCK_MODE - OBJECT_LOCK_LEGAL_HOLD_STATUS - CHECKSUM_ALGORITHM - OBJECT_ACCESS_CONTROL_LIST - OBJECT_OWNER
Чтобы посмотреть список конфигураций выгрузки, воспользуйтесь методом REST API listInventoryConfigurations для ресурса Bucket или вызовом gRPC API BucketService.ListInventoryConfigurations.
Получить информацию о конфигурации выгрузки
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для просмотра конфигурации выгрузки:
yc storage bucket get-inventory-configuration --help -
Получите список конфигураций выгрузки для бакета и скопируйте значение поля
idнужной конфигурации. -
Получите информацию о конфигурации выгрузки:
yc storage bucket get-inventory-configuration <имя_бакета> --id <идентификатор_выгрузки>Результат:
id: test_config destination: bucket_destination: bucket: test-bucket format: CSV prefix: inventory included_object_versions: ALL is_enabled: true schedule: frequency: DAILY optional_fields: - SIZE - LAST_MODIFIED_DATE - STORAGE_CLASS - ETAG - IS_MULTIPART_UPLOADED - ENCRYPTION_STATUS - OBJECT_LOCK_RETAIN_UNTIL_DATE - OBJECT_LOCK_MODE - OBJECT_LOCK_LEGAL_HOLD_STATUS - CHECKSUM_ALGORITHM - OBJECT_ACCESS_CONTROL_LIST - OBJECT_OWNER
Чтобы получить информацию о конфигурации выгрузки, воспользуйтесь методом REST API getInventoryConfiguration для ресурса Bucket или вызовом gRPC API BucketService.GetInventoryConfiguration.
Удалить конфигурацию выгрузки
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для удаления конфигурации выгрузки:
yc storage bucket delete-inventory-configuration --help -
Получите список конфигураций выгрузки для бакета и скопируйте значение поля
idнужной конфигурации. -
Удалите конфигурацию выгрузки:
yc storage bucket delete-inventory-configuration <имя_бакета> --id <идентификатор_выгрузки>
Чтобы удалить конфигурацию выгрузки, воспользуйтесь методом REST API deleteInventoryConfiguration для ресурса Bucket или вызовом gRPC API BucketService.DeleteInventoryConfiguration.