Cara Cepat Integrasi Object Storage dengan Python

Hai DomaiNesians! Pernahkah kamu merasa kesulitan menyimpan atau mengambil file secara efisien dari aplikasi Python ke cloud? Di era pengembangan aplikasi modern, kebutuhan untuk menyimpan data secara fleksibel dan aman menjadi hal yang sangat penting. Salah satu solusi yang paling populer dan terjangkau adalah dengan menggunakan layanan Object Storage, seperti yang disediakan oleh DomaiNesia. Object Storage ini kompatibel dengan protokol S3 milik Amazon Web Services, yang artinya kamu bisa memanfaatkan berbagai pustaka dan metode integrasi yang sudah ada, termasuk di Python.
Dalam panduan ini, kamu akan diajak untuk memahami cara mengintegrasikan Object Storage dengan Python milikmu. Kami akan menggunakan pendekatan yang sederhana, cocok untuk pemula, tapi tetap aman dan powerful. Mulai dari proses autentikasi, upload file menggunakan pre-signed URL, hingga download dan list file yang tersimpan di bucket. Semuanya dijelaskan langkah demi langkah, dengan kode yang bisa langsung kamu coba.
Jadi, kalau kamu adalah developer Python yang ingin menyimpan file ke cloud dengan cara yang aman dan hemat biaya, atau sekadar ingin belajar bagaimana Object Storage bekerja di balik layar, maka artikel ini cocok banget buat kamu. Yuk, mulai eksplorasi integrasi Object Storage dengan Python!

Apa itu Python?
Pernah dengar Python? Bahasa pemrograman satu ini bukan cuma populer, tapi juga super fleksibel. Mulai dari bikin aplikasi web, analisis data, hingga kecerdasan buatan, semuanya bisa dilakukan dengan Python. Nah, karena kemudahannya dan banyaknya library bawaan, Python jadi pilihan utama banyak developer, baik pemula maupun profesional.
Salah satu keunggulan Python adalah kemampuan untuk terhubung dengan layanan cloud seperti Object Storage. Bayangkan, kamu bisa menyimpan dan mengambil file dari cloud hanya dengan beberapa baris kode! Yuk, lihat gimana cara integrasi Object Storage dengan Python.
Panduan Integrasi Object Storage dengan Python
Sebelum memulai, kamu harus mempersiapkan beberapa hal:
- Akun DomaiNesia – jika kamu belum memiliki akun, kamu perlu mendaftar terlebih dahulu di DomaiNesia. Setelah itu, kamu bisa mengakses dashboard dan membuat bucket untuk menyimpan file kamu.
- Bucket – sebuah bucket adalah wadah tempat menyimpan file di Object Storage. Pastikan kamu sudah membuat bucket di dashboard DomaiNesia. Kalau belum, di dashboard ada opsi untuk membuatnya.
- API Key dan Secret Key – untuk mengakses Object Storage, kamu membutuhkan kredensial yang disebut API Key dan Secret Key. Biasanya, kamu bisa menemukannya di dashboard DomaiNesia. Ini berfungsi seperti username dan password untuk aplikasi kamu agar bisa terhubung ke server.
- Python – pastikan kamu sudah menginstal Python versi 3.6 ke atas. Kamu bisa mengunduh Python di situs resmi Python.
- Library
requests
,boto3
danbotocore
– request adalah salah satu pustaka (library) paling populer yang digunakan untuk mengirim permintaan HTTP dengan cara yang sederhana dan mudah dipahami. Boto3, di sisi lain, adalah library Python yang digunakan untuk berinteraksi dengan layanan yang sesuai dengan S3, seperti DomaiNesia. Kemudian botocore adalah dependensi yang digunakan oleh boto3. Kamu bisa menginstalnya dengan perintah:
1 2 |
pip install requests pip install boto3 botocore |
1. Menyiapkan Koneksi ke Object Storage DomaiNesia
Setelah menyiapkan semua prasyarat di atas, sekarang saatnya membuat koneksi antara aplikasi Python dan Object Storage DomaiNesia. Ini akan menggunakan boto3
untuk mengatur koneksi ini. Berikut adalah contoh script Python yang akan menghubungkan aplikasi kamu ke Object Storage DomaiNesia menggunakan API Key dan Secret Key yang sudah kamu dapatkan:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Import library yang dibutuhkan import boto3 # Library AWS SDK untuk Python from botocore.client import Config # Untuk konfigurasi client S3 import requests # Untuk mengirim HTTP request (PUT file ke URL) # Membuat sesi boto3 session = boto3.session.Session() # Membuat client S3 dengan endpoint DomaiNesia (S3-compatible) s3 = session.client( service_name='s3', # Layanan yang digunakan: S3 aws_access_key_id='access_key_kamu', # Ganti kunci akses kamu aws_secret_access_key='secret_key_kamu', # Ganti dengan secret key milikmu endpoint_url='https://s3.nevaobjects.id', # Endpoint S3 dari DomaiNesia config=Config(signature_version='s3v4'), # Gunakan signature versi 4 (standar keamanan modern) ) |
Penjelasan:
boto3
– untuk berinteraksi dengan layanan AWS S3 atau yang serupa.Config
– untuk mengkonfigurasi pengaturan client S3.requests
– untuk mengirim HTTP PUT request, yang akan digunakan untuk mengunggah file ke URL presigned.boto3.session.Session()
– memungkinkan untuk mengkonfigurasi akses AWS yang lebih fleksibel jika dibutuhkan.session.client()
– membuat client untuk layanan S3, dengan mengkonfigurasi access key, secret key, dan endpoint untuk DomaiNesia S3.signature_version='s3v4'
– memastikan penggunaan metode keamanan terbaru untuk akses ke S3.

2. Upload File ke Object Storage
Sekarang kamu akan belajar bagaimana cara mengupload file ke Object Storage. Misalnya, kamu ingin mengupload file bernama nama_file_kamu.txt ke bucket yang sudah dibuat sebelumnya buat file untuk menjalankan uploadnya dengan upload_wsgi.py
dan isikan dengan script sebagai berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# Generate URL sementara untuk upload file url = s3.generate_presigned_url( ClientMethod='put_object', # Metode yang digunakan (upload file ke S3) Params={ 'Bucket': 'nama_bucket', # Nama bucket di DomaiNesia 'Key': 'nama_file_kamu.txt' # Nama file yang akan diunggah }, ExpiresIn=3600 # URL berlaku selama 1 jam (3600 detik) ) # Upload file ke URL presigned menggunakan requests with open("nama_file_kamu.txt", "rb") as f: # Buka file yang akan diunggah response = requests.put(url, data=f) # Kirim file ke URL presigned via metode PUT # Tampilkan hasilnya print(" Upload berhasil!" if response.status_code == 200 else f" Upload gagal: {response.status_code} {response.text}") |
Berikut contoh hasil uploadnya berhasil dengan script diatas:
Penjelasan:
s3.generate_presigned_url()
– menghasilkan URL sementara yang dapat digunakan untuk mengunggah file ke bucket S3.ClientMethod='put_object'
– menunjukkan bahwa kamu menggunakan metode PUT untuk mengunggah file.Params
– berisi nama bucket dan nama file yang akan diunggah.ExpiresIn=3600
– menetapkan bahwa URL hanya berlaku selama satu jam.open("nama_file_kamu.txt", "rb")
– membuka file yang akan diunggah.requests.put()
– mengirim file ke URL presigned yang sudah dihasilkan.
3. Download File dari Object Storage
Setelah file berhasil diupload, kamu bisa mendownloadnya kembali dari Object Storage dengan mudah. Berikut adalah contoh script untuk mendownload file nama_file_yang_akan_didownload yang sudah ada di dalam bucket dengan buat file untuk menjalankan downloadnya dengan download_wsgi.py
dan isikan dengan script sebagai berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# Generate Pre-Signed URL untuk download url = s3.generate_presigned_url( ClientMethod='get_object', Params={ 'Bucket': 'nama_bucket_kamu', # ganti dengan nama bucket kamu 'Key': 'nama_file_yang_akan_didownload' # ganti dengan nama file yang ingin didownload }, ExpiresIn=3600 # URL berlaku selama 1 jam ) # Download file pakai URL response = requests.get(url) if response.status_code == 200: with open("nama_file_yang_akan_didownload", "wb") as f: f.write(response.content) print(" File berhasil didownload.") else: print(f" Gagal download: {response.status_code}") |
Berikut hasil download menggunakan script diatas:
Penjelasan:
open()
dan write()
– jika status code 200 (berhasil), file disimpan ke lokal namun jika gagal akan error.
4. Menampilkan Daftar File dalam Bucket
Kamu juga bisa melihat daftar file yang ada dalam bucket dengan menggunakan perintah list_objects_v2
. Berikut adalah contoh cara menampilkan daftar file yang ada di bucket:
1 2 3 4 5 6 7 8 9 |
#Memunculkan hasil upload response = s3.list_objects_v2(Bucket='nama_bucket_kamu') if 'Contents' in response: print(" Daftar file:") for obj in response['Contents']: print(f"- {obj['Key']}") else: print(" Bucket kosong atau tidak ditemukan.") |
Berikut hasil dari penerapan script diatas:
Penjelasan:
s3.list_objects_v2(Bucket=BUCKET_NAME)
– meminta daftar objek (file) yang ada di bucket.obj['Key']
– menampilkan nama file yang ada dalam bucket.
Sekarang kamu sudah tahu cara mengintegrasikan Object Storage dengan Python! Dengan panduan ini, kamu bisa mulai menyimpan file, melakukan backup otomatis, atau menyimpan file statis dengan lebih aman dan mudah.

Kesimpulan
Dengan mengikuti panduan di atas, sekarang kamu sudah bisa menyimpan, mengambil, dan mengelola file Object Storage dengan Python secara aman dan efisien. Dengan beberapa baris kode saja, kamu dapat melakukan berbagai hal, mulai dari upload file dengan URL yang sudah ditandatangani hingga mendaftar dan mendownload file.
Yuk, mulai manfaatkan Object Storage DomaiNesia untuk kebutuhan aplikasimu! Kalau kamu butuh kapasitas besar dengan harga terjangkau dan kompatibel dengan berbagai tools S3, layanan ini patut banget dicoba.