Cara Mengelola NEO Object Storage Menggunakan NodeJS dan Ruby
0 people liked this article
A. Pendahuluan
NEO Object Storage merupakan layanan S3 protokol yang dapat digunakan untuk menyimpan data static seperti hal nya gambar, video, music dan yang lainnya. NEO Object Storage sendiri sudah kompatibel dengan Amazon S3 dengan demikian Anda dapat memanfaatkan NEO Object Storage untuk kebutuhan S3 Protokol. NEO Object Storage dapat dikelola atau di manajemen menggunakan Amazon SDK tentunya untuk memudahkan Anda mengintegrasikan aplikasi NodeJS maupun Ruby Anda dengan layanan NEO Object Storage.
B. Konfigurasi Neo Object Storage pada NodeJS
Persiapan :
- Sistem Operasi Linux Ubuntu/Debian/CentOS
- NodeJS
- NPM
- Aws-Sdk
1. Installasi
Untuk install NodeJS anda dapat mereview KB berikut sebagai refrensi berikut.
Pastikan NodeJS dan NPM sudah terinstall agar anda dapat lanjut ke langkah selanjutnya

2. Post Install
Setelah installasi selesai dilakukan anda dapat membuat persiapan terlebih dahulu seperti melakukan inisialisasi nodejs dan melakukan installasi dependency yang di perlukan, untuk hal ini silakan menggunakan command berikut :
- node init
- npm install aws-sdk
C. Mengkoneksikan NEO Object Storage
Untuk menghubungkan NEO Object Storage dengan NODE SDK Anda dapat menggunakan script NODEJS berikut:
var AWS = require('aws-sdk');
AWS.config.update({region: 'idn'});
// Create S3 service object
s3 = new AWS.S3({
accessKeyId: "KEY-s3-ANDA",
secretAccessKey: "SECRET-KEY-S3-ANDA",
endpoint: "https://ENDPOINT-S3-ANDA",
});D. Membuat bucket
Untuk membuat bucket pada Neo Object Storage anda dapat membuat file baru dengan nama s3_createbucket.js kemudian silakan diisikan script berikut:
// Create the parameters for calling createBucket
var bucketParams = {
Bucket : process.argv[2]
};
// call S3 to create the bucket
s3.createBucket(bucketParams, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data.Location);
}
});
Kemudian save dan jalankan file tersebut dengan command :
node s3_createbucket.js nama-bucket-yang-ingin-dibuat

Pastikan terdapat pesan success pada output code, dan selanjutnya pastikan pada https://portal.biznetgio.com jika bucket telah berhasil dibuat.

E. Listing Bucket
Selain membuat bucket Anda juga dapat melihat semua list bucket yang ada di NEO Object Storage Anda menggunakan AWS SDK berikut script yang digunakan:
// Call S3 to list the buckets
s3.listBuckets(function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data.Buckets);
}
});// snippet-end:[s3.JavaScript.buckets.listBuckets]
Contohnya sebagai berikut :

Hasilnya seperti berikut :

F. Unggah File (Object) ke NEO Object Storage
Untuk mengunggah file (object) ke NEO Object Storage juga dapat dilakukan menggunakan AWS SDK, Anda dapat menggunakan script berikut:
// call S3 to retrieve upload file to specified bucket
var uploadParams = {Bucket: process.argv[2], Key: '', Body: ''};
var file = process.argv[3];// Configure the file stream and obtain the upload parameters
var fs = require('fs');
var fileStream = fs.createReadStream(file);
fileStream.on('error', function(err) {
console.log('File Error', err);
});
uploadParams.Body = fileStream;
var path = require('path');
uploadParams.Key = path.basename(file);
// call S3 to retrieve upload file to specified bucket
s3.upload (uploadParams, function (err, data) {
if (err) {
console.log("Error", err);
} if (data) {
console.log("Upload Success", data.Location);
}
});// snippet-end:[s3.JavaScript.buckets.upload]
Contohnya sebagai berikut :

Untuk menggunakan script upload dapat menggunakan command seperti berikut :
# node s3_upload.js nama-bucket-anda path-file-yang-akan-di-upload
Hasilnya seperti berikut :

Pastikan file image.jpg sudah ada pada bucketgio seperti berikut :

Kemudian coba akses link output.

Refrensi :https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascript/example_code/s3
Konfigurasi Neo Object Storage pada Ruby
Persiapan :
- Sistem Operasi Linux Ubuntu/Debian/CentOS
- Ruby
- Aws-Sdk
Installasi
Untuk install Ruby anda dapat mereview dokumentasi resmi berikut sebagai refrensi : https://www.ruby-lang.org/en/documentation/installation/
Pastikan Ruby sudah terinstall agar anda dapat lanjut ke langkah selanjutnya

Post Install
Setelah installasi selesai dilakukan anda dapat membuat persiapan terlebih dahulu seperti melakukan installasi dependency yang di perlukan, untuk hal ini silakan menggunakan command berikut :
- gem install aws-sdk-s3
Membuat bucket
Untuk membuat bucket pada Neo Object Storage anda dapat membuat file baru dengan nama s3_createbucket.rb kemudian silakan diisikan script berikut :
// Create the parameters for calling createBucket
require 'aws-sdk-s3'
def bucket_created?(s3_client, bucket_name)
response = s3_client.create_bucket(bucket: bucket_name)
if response.location == '/' + bucket_name
return true
else
return false
end
rescue StandardError => e
puts "Error creating bucket: #{e.message}"
return false
end
# Full example call:
def run_me
bucket_name = 'GANTI-DENGAN-NAMA-BUCNET-YANG-AKAN-DIBUAT'
region = 'idn'
s3_client = Aws::S3::Client.new(
region: region,
access_key_id: "GANTI-DENGAN-KEY-ID-ANDA",
secret_access_key: " GANTI-DENGAN-SECRET-KEY-ANDA ",
endpoint: "https://nos.jkt-1.neo.id",
)
if bucket_created?(s3_client, bucket_name)
puts "Bucket '#{bucket_name}' not created. Program will stop."
exit 1
else
puts "Bucket '#{bucket_name}' created."
end
end
run_me if $PROGRAM_NAME == __FILE__Pada bagian bucket_name silakan diganti dengan nama bucket yang ingin dibuat dan sesuaikan juga access_key_id, secret_access_key dan endpoint sesuai dengan informasi dari portal. Contohnya sebagai berikut :

Kemudian jalankan dengan command # ruby s3_createbucket.rb

Jika sudah dijalankan silakan di cek pada portal neo untuk memastikan bucket sudah benar-benar berhasil terbuat.

G. Listing Bucket
Selain membuat bucket, Anda juga dapat melihat semua list bucket yang ada di NEO Object Storage Anda menggunakan AWS SDK berikut script yang digunakan:
require 'aws-sdk-s3'
def list_buckets(s3_client)
response = s3_client.list_buckets
if response.buckets.count.zero?
puts 'No buckets.'
else
response.buckets.each do |bucket|
puts bucket.name
end
end
rescue StandardError => e
puts "Error listing buckets: #{e.message}"
end
# Full example call:
def run_me
region = 'idn'
s3_client = Aws::S3::Client.new(
region: region,
access_key_id: "GANTI-DENGAN-KEY-ID-ANDA",
secret_access_key: " GANTI-DENGAN-SECRET-KEY-ANDA ",
endpoint: "https://nos.jkt-1.neo.id",
)
puts 'Available buckets:'
list_buckets(s3_client)
end
run_me if $PROGRAM_NAME == __FILE__Berikut contohnya :

Berikut hasilnya :

Unggah File (Object) ke NEO Object Storage
Untuk mengunggah file (object) ke NEO Object Storage juga dapat dilakukan menggunakan AWS SDK, Anda dapat menggunakan script berikut:
require 'aws-sdk-s3'
def object_uploaded?(s3_client, bucket_name, object_key)
name = File.basename(object_key)
obj = s3_client.bucket(bucket_name).object(name)
s3_client.bucket(bucket_name).acl = :public_read
obj.upload_file(name)
obj.public_url.to_s #returns public url of file at s3 server
end
# Full example call:
def run_me
bucket_name = 'bucketruby'
object_key = 'biznetgio.png'
region = 'idn'
s3_client = Aws::S3::Resource.new(
region: region,
access_key_id: "GANTI-DENGAN-KEY-ID-ANDA",
secret_access_key: " GANTI-DENGAN-SECRET-KEY-ANDA "
endpoint: "https://nos.jkt-1.neo.id",
)
# s3_file = s3_client.buckets[bucket_name].objects[key].write(:file => object_key)
if object_uploaded?(s3_client, bucket_name, object_key)
puts "Object '#{object_key}' uploaded to bucket '#{bucket_name}'."
else
puts "Object '#{object_key}' not uploaded to bucket '#{bucket_name}'. " \
'Program will stop.'
exit 1
end
end
run_me if $PROGRAM_NAME == __FILE__Pada bagian bucket_name isikan nama bucket tujuan, pada bagian object_key isi dengan path file yang ingin di upload. Berikut contohnya :

Berikut hasilnya :

Pastikan file biznetgio.jpg sudah ada pada bucketruby seperti berikut :

Refrensi : https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/s3-example-get-buckets.html
H. Penutup
Dengan mengikuti langkah–langkah di atas, Anda bisa mulai memanfaatkan NEO Object Storage sebagai solusi penyimpanan objek yang kompatibel dengan S3, baik menggunakan NodeJS maupun Ruby. Mulai dari membuat bucket, menampilkan daftar bucket, hingga mengunggah file, semuanya dapat diintegrasikan dengan cukup mudah menggunakan AWS SDK.
Pendekatan ini juga memberi fleksibilitas bagi Anda untuk menyesuaikan penyimpanan sesuai kebutuhan aplikasi, terutama jika Anda sudah terbiasa menggunakan ekosistem Amazon S3. Semoga panduan ini bisa membantu Anda memahami alur dasarnya dan menjadi referensi saat mengembangkan aplikasi yang membutuhkan object storage.
Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silakan hubungi Support Biznet GIO melalui email support@biznetgio.com atau live chat maupun WA melalui website www.biznetgio.com dan bisa juga melalui telepon ke nomor (021) 5714567.
Popular Articles
-
Cara Install & Konfigurasi Monitoring Cacti Serta Mengetahui Fungsi Fitur Pada Cacti
10 people say this guide was helpful
-
Cara Mengaktifkan Telnet pada Windows 7, 8 dan 10
4 people say this guide was helpful
-
Install dan Konfigurasi Samba Server pada Ubuntu
3 people say this guide was helpful
-
Jenis-Jenis Software Virtualisasi untuk Membuat Virtual Machine
6 people say this guide was helpful