CLI AWS фактически написан на Python и использует те же вызовы API, которые вы можете использовать.
Важно понимать, что Amazon S3 имеет только вызов API для загрузки / загружать по одному объекту за раз .
Следовательно, для вашего кода Python потребуется:
- Получить список файлов для копирования
- L oop через каждый файл и загрузите его в Amazon S3
Конечно, если вам нужна функциональность sync
(которая копирует только новые / измененные файлы), тогда вашей программе потребуется больше интеллекта для выяснить, какие файлы копировать.
В Boto3 есть два основных типа методов:
client
методы, которые сопоставляют 1: 1 с вызовами API, и resource
методы, которые больше Pythoni c, но могут выполнять несколько вызовов API в фоновом режиме
Какой тип вы используете по своему выбору. Лично я нахожу методы client
более простыми для загрузки / выгрузки объектов, а методы resource
хороши, когда требуется l oop через ресурсы (например, «для каждого экземпляра EC2, для каждого тома EBS проверьте каждый тег» ).