Можно ли скопировать папку aws s3 с другим именем с помощью aws sdk?

Я хочу скопировать одну папку s3 с другим именем, используя php aws sdk. Есть ли способ сделать это. У меня нет кода для копирования папки, я получил только для отдельных файлов.

2 ответа

Используя CLI, при передаче с параметром --recursive, следующая команда cp рекурсивно копирует все файлы в указанном каталоге в указанный сегмент и префикс, исключая некоторые файлы с помощью параметра --exclude

aws s3 cp myDir s3://mybucket/ --recursive

Пожалуйста, посмотрите на то же самое в PHP SDK

Я не являюсь разработчиком PHP, но, учитывая API, которые я использую, вы бы перечислили все файлы и использовали объект копирования, как описано в документации по PHP SDK здесь и здесь.

Для листинга вы бы использовали Prefix параметр для установки и список внутри папки, которую вы хотите.

Для копирования нужно посмотреть параметры ContentSource а также Key, ContentSource это "имя исходного сегмента и имя ключа исходного объекта, разделенные косой чертой (/)". Этот объект может быть папкой, которую вы копируете. Key Параметр - это имя имени результирующего объекта, который вы хотите.

С обоими вы можете сделать список всего и копировать правильно. Есть больше параметров, которые могут быть полезны для вас, как Delimiter в списке ведра для лучшей фильтрации.

Если вы можете использовать интерфейс командной строки AWS напрямую, для этого есть 2 варианта. Один использует s3 sync команда или s3 cp, С их помощью вы можете копировать напрямую, используя имена папок, которые вы хотите, из корзины в корзину, локально в корзину, корзину в локальную. С помощью cp команда, использовать --recursive возможность перебрать указанный каталог или префикс.

Другие вопросы по тегам