Setelah sebelumnya kita telah mengulas singkat terkait Alibaba Cloud Object Storage Service dan juga bagaimana cara mengintegrasikan SDK OSS dengan Visual Studio, maka selanjutnya topik yang akan kita bahas adalah bagaimana menggunakan SDK OSS dari Alibaba Cloud untuk keperluan mengolah OSS. Post kali ini akan menyajikan sample code yang berfungsi untuk beberapa poin seperti:

  1. Membuat Bucket
  2. Menghapus Bucket
  3. Mengambil Data Bucket
  4. Mengupload Obyek ke Bucket
  5. Mengunduh Obyek dari Bucket
  6. Mengambil List Obyek pada Bucket
  7. Menghapus Obyek dari Bucket

Sample di atas merupakan fungsi dasar dalam mengelola OSS. Walaupun bersifat dasar, tapi ini merupakan fungsi-fungsi yang sangat sering digunakan dan krusial jika kita ingin mengelola OSS. Tanpa basa-basi lagi, mari kita masuk ke pembahasannya.

Persyaratan

  1. Visual Studio 2010 atau diatasnya. Dalam contoh ini, penulis menggunakan Visual Studio 2017
  2. Koneksi Internet
  3. AccessKey (Baca cara generate AccessKey)
  4. SDK OSS (Baca cara install SDK OSS)

Istilah

  1. Endpoint
    merupakan istilah untuk URL yang akan kita gunakan untuk memanggil API Alibaba Cloud
  2. accessKeyId dan accessKeySecret
    merupakan sepasang kunci yang diperlukan sebagai alat identifikasi user ketika user ingin mengakses data yang tersimpan di Alibaba Cloud
  3. bucketName
    merupakan nama dari Bucket yang ada pada OSS. Bucket Name harus sama dengan nama yang dibuat di Alibaba Cloud Console. Apabila di ACC kita membuat nama bucket berupa bucket01, maka bucketName yang nantinya diinput ke dalam API juga harus bucket01.

Membuat Bucket Baru

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
client.CreateBucket(bucketName);

Menghapus Bucket

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
client.DeleteBucket(bucketName);

Mengambil List Bucket Pada OSS

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
var buckets = client.ListBuckets(); foreach (var bucket in buckets) { Console.WriteLine(bucket.Name + ", " + bucket.Location + ", " + bucket.Owner); }

Mengunggah Obyek ke Bucket

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret); 
client.PutObject(bucketName, key, filePathToUpload);

Mengunduh Obyek Dari Bucket

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
var object = ossClient.GetObject(bucketName, key);	

Mengambil List Obyek dari Bucket

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
var listResult = client.ListObjects(bucketName);
foreach (var summary in listResult.ObjectSummaries)
   {
      Console.WriteLine(summary.Key);
   }

Menghapus Obyek dari Bucket

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
client.DeleteObject(bucketName, key);