AWS CLI
См. « Справочник по командам CLI AWS » для получения дополнительной информации.
AWS недавно выпустила свои инструменты командной строки, которые работают так же, как boto, и могут быть установлены с помощью
sudo easy_install awscli
или
sudo pip install awscli
После установки вы можете просто запустить:
aws s3 sync s3://<source_bucket> <local_destination>
Например:
aws s3 sync s3://mybucket .
загрузит все объекты в mybucket
текущий каталог.
И будет выводить:
download: s3://mybucket/test.txt to test.txt
download: s3://mybucket/test2.txt to test2.txt
Это загрузит все ваши файлы, используя одностороннюю синхронизацию. Он не будет удалять любые существующие файлы в вашем текущем каталоге, если вы не укажете , и не будет изменять или удалять любые файлы на S3. --delete
Вы также можете выполнить S3 Bucket для S3 Bucket или локально для S3 Bucket Sync.
Ознакомьтесь с документацией и другими примерами .
В то время как приведенный выше пример показывает, как загрузить полный пакет, вы также можете рекурсивно загрузить папку, выполнив
aws s3 cp s3://BUCKETNAME/PATH/TO/FOLDER LocalFolderName --recursive
Это даст CLI команду рекурсивно загружать все файлы и ключи папок в PATH/TO/FOLDER
каталоге внутри BUCKETNAME
корзины.
aws s3 sync
это лучшее. Но никто не указал на мощный вариантdryrun
. Эта опция позволяет вам увидеть, что будет загружено / загружено с / на s3, когда вы используетеsync
. Это действительно полезно, когда вы не хотите перезаписывать контент ни в вашем локальном хранилище, ни в сегменте s3. Вот как это используется:aws s3 sync <source> <destination> --dryrun
я использовал его все время, прежде чем помещать новый контент в корзину, чтобы не загружать нежелательные изменения.