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 :