7 простых способов скопировать папку с локального компьютера на AWS S3

Копирование папки с локального компьютера на AWS S3 может оказаться распространенной задачей при работе с облачным хранилищем. В этом сообщении блога мы рассмотрим несколько методов выполнения этой задачи с использованием разговорного языка и попутно предоставим примеры кода. Независимо от того, предпочитаете ли вы интерфейс командной строки, SDK или консоль управления AWS, мы предоставим вам всю необходимую информацию!

Метод 1: AWS CLI (интерфейс командной строки)

AWS CLI — это мощный инструмент командной строки, который позволяет взаимодействовать с различными сервисами AWS, включая S3. Чтобы скопировать папку с вашего локального компьютера на S3, вы можете использовать следующую команду:

aws s3 cp --recursive /path/to/local/folder s3://bucket-name/folder

Эта команда использует команду cpс флагом --recursiveдля копирования папки и ее содержимого в указанную корзину S3.

Метод 2: AWS SDK (комплекты для разработки программного обеспечения)

AWS предоставляет SDK для различных языков программирования, таких как Python, Java и JavaScript. Вы можете использовать эти SDK для написания кода, который взаимодействует с сервисами AWS, включая S3. Вот пример использования AWS SDK для Python (Boto3):

import boto3
import os
s3 = boto3.client('s3')
def upload_folder(local_folder, s3_bucket, s3_folder):
    for root, dirs, files in os.walk(local_folder):
        for file in files:
            local_path = os.path.join(root, file)
            s3_path = os.path.join(s3_folder, os.path.relpath(local_path, local_folder))
            s3.upload_file(local_path, s3_bucket, s3_path)
# Usage
upload_folder('/path/to/local/folder', 'bucket-name', 'folder')

Этот код использует библиотеку Boto3 для загрузки каждого файла из локальной папки в указанную корзину и папку S3.

Метод 3: Консоль управления AWS

Если вы предпочитаете графический интерфейс пользователя, вы можете использовать Консоль управления AWS для копирования папки в S3. Просто перейдите к сервису S3, выберите нужный сегмент и выберите опцию «Загрузить». Затем выберите всю папку на своем локальном компьютере и нажмите «Загрузить», чтобы начать передачу на S3.

Метод 4. Сторонние инструменты (например, Cyberduck, FileZilla)

Существует несколько сторонних инструментов, предлагающих удобный интерфейс для передачи файлов и папок в S3. Такие инструменты, как Cyberduck и FileZilla, поддерживают S3 в качестве хранилища и предоставляют интуитивно понятный интерфейс перетаскивания для копирования папок.

Метод 5: AWS DataSync

AWS DataSync — это управляемая служба передачи данных, которая упрощает и автоматизирует перемещение данных между локальными системами хранения и сервисами AWS, включая S3. DataSync предлагает удобный способ копирования целых папок или синхронизации изменений между локальной системой и S3.

Метод 6: семейство AWS Transfer (SFTP, FTPS)

Семейство AWS Transfer обеспечивает полностью управляемую поддержку передачи файлов по таким протоколам, как SFTP (протокол передачи файлов SSH) и FTPS (FTP через SSL/TLS). Настроив сервер SFTP или FTPS в семействе AWS Transfer, вы можете легко копировать папки и файлы с локального компьютера на S3 с помощью стандартных клиентов передачи файлов.

Метод 7. Загрузка нескольких частей (большие папки)

Для больших папок или файлов рекомендуется использовать функцию многочастной загрузки, предоставляемую AWS S3. Это позволяет параллельную загрузку деталей, что приводит к более быстрой передаче. Этого можно добиться с помощью интерфейса командной строки AWS или SDK, разбив папку на более мелкие части и загрузив их одновременно.

В этой статье мы рассмотрели семь различных способов копирования папки с локального компьютера на AWS S3. Независимо от того, предпочитаете ли вы интерфейс командной строки, SDK или графический интерфейс пользователя, существует множество вариантов, соответствующих вашим потребностям. Используя эти методы, вы можете эффективно перенести свои данные в облако и воспользоваться преимуществами масштабируемости и надежности, предлагаемыми AWS S3.