Как скопировать только обновленные файлы / папки из корзины aws s3 на локальный компьютер?

#amazon-web-services #amazon-s3 #aws-lambda #gzip

#amazon-web-services #amazon-s3 #aws-lambda #gzip

Вопрос:

У меня есть требование скопировать определенные файлы из корзины S3 на локальный компьютер. Ниже приведены важные моменты, на которые следует обратить внимание в моем требовании:

  • Файлы хранятся в корзине S3 на основе папки date.
  • Файлы имеют csv.gz расширение, и мне нужно изменить его на csv и скопировать на свой локальный компьютер.
  • Он обновляется каждую минуту, и мне нужно скопировать только новые файлы и обработать их. Обработанные файлы не нужно копировать повторно.

Я пытался использовать папку синхронизации, но после обработки файла имя файла переименовывается, и снова csv.gz файл синхронизируется с локальной папкой.

Я планирую использовать какую-нибудь запланированную задачу для настройки.

Комментарии:

1. Поскольку у вас есть файлы в папке date, вы можете написать скрипт, скажем, на Python, и извлечь последний файл из S3. Вы можете обработать свой файл, изменить расширение в своем скрипте и сохранить его.

2. Но могу ли я напрямую запустить скрипт для файлов корзины aws s3? Я не уверен в этом. Пожалуйста, помогите @ChandanKumar

3. Да, вам нужно использовать boto3. Вот документ: boto3.amazonaws.com/v1/documentation/api/latest/reference /…

4. Похоже, вы новичок в AWS. Я бы посоветовал вам ознакомиться с этим документом , пройти установку и настройку, а затем начать проверять S3 boto3 API, ссылкой на который я поделился вначале.

Ответ №1:

Amazon S3 — это служба хранения. Он не может «обработать» файлы за вас.

Если вы хотите изменить содержимое файла (например, преобразовать из .csv.gz в .csv ), вам нужно будет сделать это самостоятельно на своем локальном компьютере.

Команда интерфейса командной строки AWS (CLI) aws s3 sync упрощает копирование файлов, которые были изменены / добавлены с момента предыдущей sync . Однако, если вы изменяете файлы локально (разархивируете), то вам, скорее всего, потребуется написать собственную программу для загрузки с Amazon S3.

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