Manage Layanan Neo Object Storage dengan NodeJS dan Ruby
0 people liked this article
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.
Konfigurasi Neo Object Storage pada NodeJS
Persiapan :
- Sistem Operasi Linux Ubuntu/Debian/CentOS
- NodeJS
- NPM
- Aws-Sdk
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
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
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",
});
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.
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 :
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.
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
Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silahkan hubungi support@biznetgio.com atau (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
3 people say this guide was helpful
-
Instalasi DNS Server Menggunakan Service Bind di CentOS 7
4 people say this guide was helpful
-
Install dan Konfigurasi Samba Server pada Ubuntu
2 people say this guide was helpful