Traffine I/O

Bahasa Indonesia

2022-10-02

Cara Mengunduh Data S3 secara Massal

Pengantar Mengenai Mengunduh Data S3 secara Massal di Amazon

Amazon S3 (Simple Storage Service) adalah layanan penyimpanan objek yang populer yang menyediakan cara yang scalable dan cost-effective untuk menyimpan dan mengambil data. Meskipun mudah untuk mengunggah file ke S3 menggunakan konsol berbasis web, mengunduh jumlah data yang besar bisa memakan waktu dan membosankan, terutama jika Anda perlu mengunduh beberapa file atau sejumlah besar file.

Sayangnya, tidak ada cara bawaan untuk mengunduh data S3 secara massal melalui konsol berbasis web. Namun, ada beberapa metode yang dapat Anda gunakan untuk mengunduh data S3 secara massal, termasuk menggunakan AWS CLI (Command Line Interface), SDK (Software Development Kits), dan alat-alat pihak ketiga.

Dalam artikel ini, saya akan menunjukkan cara mengunduh data S3 secara massal menggunakan AWS CLI, yang merupakan alat baris perintah yang menyediakan cara yang nyaman untuk mengelola resource AWS Anda. Dengan mengikuti langkah-langkah yang diuraikan dalam artikel ini, Anda akan dapat mengunduh jumlah data yang besar dari S3 dengan cepat dan efisien, tanpa harus mengunduh setiap file secara individual.

Mengunduh Data dengan AWS CLI

Mengunduh data secara massal dari Amazon S3 menggunakan AWS Command Line Interface (CLI) adalah cara yang sederhana dan efisien untuk mentransfer jumlah data yang besar. AWS CLI adalah alat yang kuat yang memungkinkan Anda untuk mengelola resource AWS Anda dari baris perintah.

Untuk mengunduh data secara massal dari S3 menggunakan AWS CLI, ikuti langkah-langkah berikut:

  1. Instal dan konfigurasi AWS CLI
    Jika Anda belum menginstal AWS CLI, ikuti instruksi yang disediakan dalam dokumentasi AWS untuk menginstal dan mengonfigurasi di mesin lokal Anda.

  2. Daftar objek yang ingin Anda unduh
    Gunakan perintah aws s3 ls untuk menampilkan daftar objek di dalam bucket S3 Anda yang ingin Anda unduh. Anda dapat menggunakan berbagai opsi untuk menyaring dan mengurutkan output sesuai dengan kebutuhan Anda.

bash
$ aws s3 ls s3://your-bucket-name/path/to/directory/
  1. Hasilkan perintah unduhan
    Setelah Anda mengidentifikasi objek yang ingin Anda unduh, gunakan perintah aws s3 cp untuk menghasilkan perintah yang dapat Anda gunakan untuk mengunduh objek tersebut. Perintah ini harus mencakup jalur sumber dan tujuan untuk file yang ingin Anda unduh.
bash
$ aws s3 cp --recursive s3://your-bucket-name/path/to/directory/ local/directory/

Mengunduh Data dengan SDK

Mengunduh data dalam jumlah besar dari Amazon S3 juga dapat dicapai menggunakan AWS SDK untuk bahasa pemrograman yang Anda pilih. Pendekatan ini memberikan fleksibilitas yang lebih besar dan memungkinkan otomatisasi dari proses pengunduhan. Berikut adalah contoh cara mengunduh data S3 secara massal menggunakan AWS SDK untuk Python (Boto3):

  1. Pertama, Anda perlu menginstal Boto3 menggunakan pip. Buka command prompt atau terminal Anda dan ketik:
bash
$ pip install boto3
  1. Buat skrip Python baru di editor teks pilihan Anda dan impor pustaka yang diperlukan:
python
import boto3
import os
  1. Inisialisasi klien Boto3 baru untuk S3:
python
s3 = boto3.client('s3')
  1. Tentukan bucket dan prefix S3 yang ingin Anda unduh
python
bucket = 'my-bucket'
prefix = 'data/'
  1. Gunakan fungsi Boto3 list_objects_v2 untuk menampilkan semua objek dalam bucket dengan prefix yang ditentukan:
python
objects = s3.list_objects_v2(Bucket=bucket, Prefix=prefix)['Contents']
  1. Loop melalui daftar objek dan unduh masing-masing ke direktori lokal:
python
local_dir = '/path/to/local/directory/'
for obj in objects:
    key = obj['Key']
    local_file = os.path.join(local_dir, key.split('/')[-1])
    s3.download_file(bucket, key, local_file)

Dalam contoh ini, setiap objek S3 diunduh ke direktori lokal yang ditentukan oleh local_dir, menggunakan fungsi download_file dari klien S3 Boto3.

Dengan mengikuti langkah-langkah ini dan memodifikasi kode sesuai dengan kebutuhan spesifik Anda, Anda dapat dengan mudah mengunduh data secara massal dari Amazon S3 menggunakan AWS SDK.

Referensi

https://docs.aws.amazon.com/cli/latest/reference/s3/
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!