Работа с объектным хранилищем
Кратко:
- Работа с объектным хранилищем на AWS S3.
- Создание бакета S3 и загрузка двух объектов: image01.dat и image02.dat.
- Добавление метаданных к обоим объектам: имя "patient" и значение "ivanov"; имя "status" и значение "ok".
- Изменение метаданных объекта image02.dat: значение "status" с "ok" на "ill".
- Создание временных ссылок на объекты image02.dat и image02.dat.
- Запуск команды для проверки задания: docker run --rm -v ~/.aws:/root/.aws cr.yandex/sol/edu-checker validate s3 --bucket <BUCKET_NAME>.
- Если проверка пройдена успешно, скопировать ключ проверки и вставить его для проверки
Работа с объектным хранилищем
Это задание следует выполнять с помощью AWS CLI
- Создайте в объектном хранилище S3 бакет и загрузите в него два объекта:
image01.dat
иimage02.dat
. -
Добавьте к обоим объектам следующие метаданные:а) Метаданные с именем patient и значением ivanov.б) Метаданные с именем status и значением ok.
- Измените метаданные объекта
image02.dat
, заменив значение status с ok на ill. - Создайте временную ссылку на объект
image01.dat
. - Создайте временную ссылку на объект
image02.dat
. -
Для проверки задания запустите команду :
docker run --rm -v ~/.aws:/root/.aws cr.yandex/sol/edu-checker validate s3 --bucket <BUCKET_NAME>
где<BUCKET_NAME>
— имя созданного бакета. -
Если проверка пройдена успешно, то скопируйте ключ проверки, вставьте его в поле ниже и нажмите кнопку Проверить.
Порядок выполнения:
AWS CLI в Yandex Object Storage
Подготовьте облако к работе
Настройте сервисный аккаунт
Создайте бакет
В терминале выполните команду, указав имя бакета:
aws s3 mb s3://<имя_бакета>
Загрузите объект в бакет
Скачать файлы и поместить в рабочую папку помещу в /home/administrator/1/ оба файла
Чтобы загрузить объект, выполните команду, указав путь к локальному файлу, который нужно загрузить, имя вашего бакета и ключ, по которому объект будет храниться в бакете:
aws s3 cp <путь_к_локальному_файлу>/ s3://<имя_бакета>/<ключ_объекта>
aws s3 cp /home/administrator/1/image01.dat s3://<имя_бакета>
aws s3 cp /home/administrator/1/image02.dat s3://<имя_бакета>
Добавьте к обоим объектам следующие метаданные:
s3cmd modify \
--add-header=x-amz-meta-patient:ivanov \
--add-header=x-amz-meta-status:ok \
s3://<имя_бакета>/image01.dat \
s3://<имя_бакета>/image02.dat
модификация значения на ill
s3cmd modify \
--add-header=x-amz-meta-status:ill\
s3://<имя_бакета>/image02.dat
Получите ссылку на скачивание объекта
В терминале выполните команду, указав имя бакета, ключ объекта и время жизни ссылки в секундах:
aws s3 presign s3://<имя_бакета>/<ключ_объекта> --expires-in <время_жизни>
aws s3 presign s3://<имя_бакета>/image01.dat --expires-in 3600
aws s3 presign s3://<имя_бакета>/image02.dat --expires-in 3600
Полученной ссылкой вы можете поделиться или использовать ее в своем сервисе для доступа к файлу.