Konfigurasi

Manajemen Kilat Storage Menggunakan Python dengan Boto3

Diterbitkan tanggal 13 October 2022 oleh fajar

Kilat Storage merupakan salah satu produk CloudKilat yang menyediakan layanan penyimpanan berkas berbasis protokol Amazon S3. Berikut akan dijelaskan cara mengakses bucket dan object serta manajemen Kilat Storage menggunakan bahasa pemrograman Python dengan bantuan library Boto3 untuk Amazon S3.

Kebutuhan

Berikut adalah hal-hal yang dilakukan untuk mengakses dan menggunakan layanan KilatStorage menggunakan Python:

  1. Python.
  2. Boto3 library untuk Amazon S3.
  3. Access & Secret Key KilatStorage.

Instalasi Boto3 Library

Install Boto3 library. Dapat dilakukan dengan menggunakan package manager seperti Pip atau menginstall langsung dari kode sumbernya. Berikut adalah perintah untuk menginstall Boto menggunakan Pip:

pip install boto3

Jika ingin melakukan instalasi langsung dari kode sumber Boto, dapat dilakukan dengan perintah berikut:

wget https://github.com/boto/boto3/archive/refs/heads/develop.zip
unzip develop.zip
cd boto3-develop
sudo python3 setup.py install

Koneksi ke S3 Kilat Storage

Alamat host KilatStorage adalah s3-id-jkt-1.kilatstorage.id. Untuk mengakses bucket dan object yang terdapat di KilatStorage, terlebih dahulu dibutuhkan koneksi ke host KilatStorage (s3-id-jkt-1.kilatstorage.id). Berikut adalah contoh kode untuk membuat koneksi Amazon S3 ke Kilat Storage:

import boto3
access_key = '<your kilatstorage access key="">'
secret_key = '<your kilatstorage secret key="">'
client = boto3.client(
    service_name='s3',
    aws_access_key_id = access_key,
    aws_secret_access_key = secret_key,
           endpoint_url = 'http://s3-id-jkt-1.kilatstorage.id/'
)

Membuat Bucket Baru

Pengguna layanan KilatStorage dapat membuat bucket baru sesuai dengan kebutuhan. Kode berikut adalah contoh membuat bucket baru menggunakan Python dengan bantuan library Boto3:

client.create_bucket(Bucket="nama-bucket-baru")

Penamaan bucket pada KilatStorage mengikuti aturan sebagai berikut:

  • Nama bucket minimal terdiri dari 3 huruf dan tidak lebih dari 63 huruf.
  • Nama bucket dapat berupa kata yang dipisahkan oleh titik (.) dan setiap kata harus:
  • Dimulai dan diakhiri dengan huruf kecil atau nomor.
  • Dapat terdiri dari huruf kecil, nomor dan tanda strip.
  • Nama bucket harus tidak berupa format alamat IP (contoh: 192.168.9.9)

Menampilkan List Bucket

List bucket yang telah dibuat pada layanan S3 Kilat Storage dapat dilakukan dengan menggunakan perintah sebagai berikut:

buckets_resp=client.list_buckets()
for bucket in buckets_resp ["Buckets"]:
    print(bucket)

Baris pertama adalah perintah untuk mengambil list bucket dari layanan S3 Kilat Storage. Baris kedua dan ketiga merupakan perintah perulangan untuk menampilkan list bucket yang ada pada layanan S3 Kilat Storage.

Mengunggah / Upload File

Untuk mengunggah file pada layanan S3 Kilat Storage dapat dilakukan dengan menggunakan perintah sebagai berikut:

with open("nama-file", "rb") as f:
    client.upload_fileobj(f, "bucket-tujuan", "nama-file-baru")

Baris pertama adalah perintah untuk memilih nama file yang akan diunggah ke S3 Kilat Storage. Baris kedua merupakan perintah untuk mengunggah file dengan nama bucket tujuan dan nama file yang baru pada bucket tujuan di layanan S3 Kilat Storage.

Menampilkan Semua Object pada Bucket

Perintah berikut adalah perintah untuk menampilkan semua object yang terdapat pada sebuah bucket:

response = client.list_objects_v2(Bucket="nama-bucket")
for obj in response["Contents"]:
    print(obj)

Mengunduh / Download Object

Berikut ini adalah perintah yang dapat digunakan untuk mengunduh object yang ada pada layanan S3 Kilat Storage:

client.download_file("nama-bucket","nama-file-pada-bucket","nama-file-setelah-diunduh")

Menyalin / Copy Object Antar Bucket

Menyalin / copy object antar bucket pada layanan S3 Kilat Storage dapat dilakukan dengan menggunakan perintah sebagai berikut:

client.copy_object(
    Bucket="bucket-tujuan",    
        CopySource=f"/bucket-awal/nama-file",
    Key="nama-file-baru",
)

Mendapatkan Metadata Object

Untuk mendapatkan metadata dari sebuah object, dapat menggunakan perintah berikut:

metadata = client.get_object
(Bucket="nama-bucket", Key="nama-file")print(metadata)

Baris pertama digunakan untuk mengambil metadata dari sebuah object yang ada pada bucket layanan S3 Kilat Storage, dan baris kedua digunakan untuk menampilkan metadata yang telah didapatkan dari baris pertama.

Menghapus Object

Menghapus sebuah object dari sebuah bucket dapat dilakukan dengan kode perintah berikut:

client.delete_object(Bucket="nama-bucket", Key="nama-file")

Menghapus Bucket

Bucket dapat dihapus ketika bucket dalam keadaan kosong atau tidak ada object pada bucket tersebut. Berikut contoh kode untuk menghapus sebuah bucket:

client.delete_bucket(Bucket="nama-bucket")

Untuk berbagai konfigurasi lainnya, Anda bisa mengakses di BasisPengetahuan kami. Tidak hanya sekedar menawarkan cloud hosting berkualitas, CloudKilat mendukung pemahaman untuk berinteraksi langsung dengan sistem Anda sendiri. Silakan tanyakan kami jika ada gangguan atau saran untuk meningkatkan kualitas layanan. Layanan customer kami terbuka 24 jam untuk pengguna web hosting Indonesia.