Можно ли скопировать папку 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
возможность перебрать указанный каталог или префикс.