AWS SDK : Upload File S3 Menggunakan Boto3

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
AWS SDK : Upload File S3 Menggunakan Boto3

AWS SDK untuk Python menyediakan sepasang metode untuk mengunggah file ke bucket S3.

Metode upload_file menerima nama file, nama bucket, dan nama objek. Metode ini menangani file besar dengan membaginya menjadi potongan-potongan kecil dan mengunggah setiap potongan secara paralel.

Pada tutorial sebelumnya kita telah membahas tentang konfigurasi AWS SDK Python.  Sebelum melanjutkan tutorial ini pastikan kamu telah memiliki account AWS dan sudah dalam mode python environment.

Sebelum kepembahasan selanjutnya instal terlebih dahulu python environ dan juga boto3. Install menggunakan pip, perhatikan kode dibawah ini :

pip install boto3
pip install python-environ
pip install python-dotenv

1) Buat sebuah file dengan nama .env


Buat variable untuk menyimpan access key dari aws, perhatikan kode dibawah ini :
AWS_ACCESS_KEY_ID=xxxxx
AWS_SECRET_ACCESS_KEY=xxxx
AWS_STORAGE_BUCKET_NAME=xxx

2) Konfigurasi AWS SDK klien


sebelum melakukan upload file pastikan konfigurasi AWS SDK sudah benar, perhatikan kode di bawah ini :

s3 = boto3.client(
    's3',
    aws_access_key_id = env('AWS_ACCESS_KEY_ID'),
    aws_secret_access_key = env('AWS_SECRET_ACCESS_KEY')
)

3) Selanjutnya buat fungsi untuk upload file ke Amazon s3



def upload_file(file_name,bucket)
try:
response = s3_client.upload_file(file_name, bucket, file_name)
print("success")
except ClientError as e:
print(str(e))

return True




4) Kode lengkap upload_file.py, perhatikan kode di bawah ini

import os
import environ
from dotenv import load_dotenv
import boto3
from botocore.exceptions import ClientError
env = environ.Env()

if os.name == "nt":
project_folder = os.path.expanduser('./') # adjust as appropriate
load_dotenv(os.path.join(project_folder, '.env'))

s3_client = boto3.client(
's3',
aws_access_key_id=env('AWS_ACCESS_KEY_ID'),
aws_secret_access_key=env('AWS_SECRET_ACCESS_KEY')
)
file_name = 'beli-rumah-over-kredit.jpg'
bucket = env('AWS_STORAGE_BUCKET_NAME')

def upload_file(file_name,bucket)
try:
response = s3_client.upload_file(file_name, bucket, file_name)
print("success")
except ClientError as e:
print(str(e))

return True

upload_file(file_name,bucket)

 

5) Run kode program


python upload_file.py

6) Cek status


untuk mengetahui upload file ke s3 storage berhasil atau tidak, buka aws console dan masuk bucket folder yang kamu gunakan di tutorial ini,

selamat mencoba semoga sukses.

Baca artikel lainya :