#amazon-s3 #localstack
Вопрос:
Используя пакет localstack, у меня есть следующее:
awslocal s3 mb s3://kiosks-images awslocal s3api put-bucket-acl --bucket kiosks-images --acl public-read awslocal s3 cp TopCroppedSpotlightLowExOnlyPGV.jpg s3://kiosks-images/dev/us/2020_08_11/eea9efc9-5970-426b-b867-9f57d6d9548f/55208151-6438-4bfc-b4be-43ed57798dc2 aws s3 ls s3://kiosks-images PRE dev/ PRE prod/ PRE qa/
как мне убедиться, что добавленный мной файл скопирован в правильное место в корзине?
Комментарии:
1. Как насчет того, что результат не такой, как вы ожидали?
2. как я могу подтвердить, что s3://киоски-изображения/dev/us/2020_08_11/eea9efc9-5970-426b-b867-9f57d6d9548f/55208151-6438-4bfc-b4be-43ed57798dc2 действительно добавлен? Я даже не вижу каталога dev/us
3. Либо используйте
--recursive
вызов ls для отображения всех объектов, либо перечислите полный URI S3, чтобы просмотреть этот файл в S3.4. это ответ, отметьте его так, и я отмечу его как ответ, спасибо
Ответ №1:
По умолчанию, когда вы перечисляете объекты в корзине, S3 сворачивает все объекты с тем же префиксом перед разделителем, что и одна запись, и помечает эту коллекцию как PRE
в выходных данных. Это позволяет обрабатывать содержимое корзин S3 как традиционную файловую систему с каталогами и файлами в этих каталогах.
Вы можете либо использовать aws s3 ls --recursive
для перечисления всех объектов в корзине, либо запросить объект напрямую, выполнив что-то вроде aws s3 ls s3://bucket-name/path/to/object
просмотра этого отдельного объекта, если он существует.