Boto3 adalah SDK AWS untuk Python yang digunakan untuk/ layanan di AWS. Dengan library Boto3 kita tidak perlu masuk ke AWS Console untuk menggunakan layanan AWS seperti EC2, S3, DynamoDB, ClouldWatch, SQS dan lain sebagainya
AWS SDK memudahkan developer untuk mengotomasi layanan AWS melalui script tanpa harus melakukan proses di AWS interface yang kurang efisien
Langkah pertama adalah melakukan instalasi Library Boto3
pip install boto3
Pada kesempatan ini kita akan mencoba mengimplementasikan Boto3 untuk layanan S3
Sebenarnya kita bisa melakukan eksplorasi boto3 dari dokumentasi resminya
Boto3 untuk S3
Untuk dapat menggunakan layanan S3 dibutuhkan credential berupa aws_access_key_id, aws_secret_access_key dan aws_session_token
Karena saya menggunakan aws educate, credential diatas dapat ditemukan di Vocariun dan klik tombol Account Details

Kita bisa copy paste credential di directory ~/.aws/credentials atau langsung dalam kode Python
List Bucket
Pertama kita akan list semua bucket di S3 dengan melakukan iterasi dari seluruh bucket yang ada
s3 = session.resource('s3') for bucket in s3.buckets.all(): print(bucket.name)
Selain menggunakan resouce untuk terkoneksi dengan layanan S3 kita juga bisa gunakan client
s3 = session.client('s3') bucket_response = s3.list_buckets() buckets = bucket_response["Buckets"] print(buckets)
Resource merupakan high-level API sedangkan client adalah low-level API. Untuk setiap panggilan client, kita perlu secara eksplisit menentukan sumber daya penargetan
Create Bucket
Untuk membuat bucket gunakan fungsi create_bucket() dengan parameter nama bucket. Misalnya nama bucket adalah bucketngodingku
s3.create_bucket(Bucket='bucketngodingku')
Misalnya kita ingin mendefiniskan lokasi dimana bucket dibuat, kita bisa tambahkan parameter region. Contohnya kita ingin bucket dibikin di North California (us-west-1)
s3.create_bucket(Bucket='bucketngodingku2', CreateBucketConfiguration={
'LocationConstraint': 'us-west-1'})
Selanjutnya kita bisa coba lakukan otomasi di S3 AWS. misalnya kita ingin mengenerate data waktu kemudian disimpan ke dalam S3
Kodenya adalah seperti ini
import time from datetime import datetime import boto3 session = boto3.Session( aws_access_key_id="ASIAQZ3GSHMQ37WWXXXXX", aws_secret_access_key="pUzQ+h8J/Q2j3KvIzk+Ugy1Mkqh094FkXXXX", aws_session_token="FwoGZXIvYXdzEJT//////////wEaDB5uUXXXXXX", region_name="us-west-1" ) s3 = session.resource('s3') datenow = datetime.now() object = s3.Object('bucketngodingku', 'datenow.txt') object.put(Body=str(datenow))
Hasilnya di S3 adalah sebagai berikut

Kalau kita buka file datenow isinya adalah seperti ini
2020-10-25 09:46:40.990171
Cukup sekian.. silahkan dieksplor library boto3 untuk layanan AWS lainnya 😀