全部产品
Search
文档中心

Object Storage Service:Inisialisasi (C# SDK V1)

更新时间:Nov 30, 2025

OssClient adalah klien C# untuk Object Storage Service (OSS) yang dapat digunakan untuk mengelola sumber daya OSS, seperti bucket dan objek.

Buat OssClient

Anda dapat membuat instans OssClient menggunakan salah satu metode berikut.

V4 signature (Direkomendasikan)

Algoritma V4 signature lebih aman. Untuk menginisialisasi klien dengan V4 signature, tentukan Endpoint dan ID Wilayah Alibaba Cloud umum. ID Wilayah mengidentifikasi wilayah permintaan, misalnya cn-hangzhou. Anda juga harus mendeklarasikan SignVersion.V4. V4 signature didukung di OSS .NET SDK versi 2.14.0 dan yang lebih baru.

Contoh berikut menunjukkan cara membuat instans OssClient dengan V4 signature dan nama domain OSS. Anda dapat menyesuaikan contoh ini untuk skenario lain, seperti menggunakan nama domain kustom atau Security Token Service (STS).

using Aliyun.OSS;
using Aliyun.OSS.Common;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");

// Tentukan Endpoint untuk wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
const string endpoint = "https://oss-cn-hangzhou.aliyuncs.com";

// Tentukan ID Wilayah untuk wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel ID Wilayah ke cn-hangzhou.
const string region = "cn-hangzhou";

// Buat instans ClientConfiguration dan ubah parameter default sesuai kebutuhan.
var conf = new ClientConfiguration();

// Setel versi signature ke V4.
conf.SignatureVersion = SignatureVersion.V4;

// Buat instans OssClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);

V1 signature (Tidak direkomendasikan)

Penting

Mulai 1 Maret 2025, algoritma V1 signature OSS tidak lagi tersedia untuk pelanggan baru dengan UID baru. Mulai 1 September 2025, OSS tidak lagi memperbarui dan memelihara algoritma V1 signature, serta algoritma V1 signature tidak lagi tersedia untuk bucket baru. Segera tingkatkan dari signature V1 ke V4 untuk mencegah dampak terhadap bisnis Anda.

Gunakan endpoint OSS untuk membuat instans OssClient

Kode berikut menunjukkan cara membuat instans OssClient menggunakan nama domain OSS.

using Aliyun.OSS;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Tentukan Endpoint untuk wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
const string endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
  
// Buat instans OssClient.
var ossClient = new OssClient(endpoint, accessKeyId, accessKeySecret);                    

Gunakan nama domain kustom untuk membuat instans OSSClient

Kode berikut menunjukkan cara membuat instans OssClient menggunakan nama domain kustom.

Penting

Saat menggunakan nama domain kustom, metode ossClient.listBuckets tidak didukung.

using Aliyun.OSS;
using Aliyun.OSS.Common;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Tentukan nama domain kustom.
const string endpoint = "yourDomain";

// Buat instans ClientConfiguration dan ubah parameter default sesuai kebutuhan.
var conf = new ClientConfiguration();

// Aktifkan CNAME. CNAME adalah prosedur untuk menyambungkan nama domain kustom ke bucket.
conf.IsCname = true;

// Buat instans OssClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);                    

Buat OssClient dengan STS

Kode berikut menunjukkan cara membuat instans OssClient menggunakan Security Token Service (STS).

using Aliyun.OSS;
// Sebelum menjalankan kode contoh ini, pastikan Anda telah menggunakan pasangan Kunci Akses temporary yang diperoleh dari STS untuk menyetel variabel lingkungan YOUR_ACCESS_KEY_ID dan YOUR_ACCESS_KEY_SECRET.
var accessKeyId = Environment.GetEnvironmentVariable("YOUR_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("YOUR_ACCESS_KEY_SECRET");
// Token keamanan yang diperoleh dari STS.
const string  securityToken = "yourSecurityToken";
// Tentukan Endpoint untuk wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
const string endpoint = "https://oss-cn-hangzhou.aliyuncs.com";

// Buat instans OssClient.
var ossClient = new OssClient(endpoint, accessKeyId, accessKeySecret, securityToken);

Konfigurasikan OssClient

ClientConfiguration adalah kelas konfigurasi untuk OssClient yang dapat digunakan untuk mengatur parameter seperti server proxy, timeout koneksi, dan jumlah koneksi maksimum. Parameter berikut dapat dikonfigurasi:

Parameter

Deskripsi

Nilai default

ConnectionLimit

Jumlah maksimum koneksi bersamaan.

512

MaxErrorRetry

Jumlah maksimum percobaan ulang untuk permintaan yang gagal.

3

ConnectionTimeout

Periode timeout koneksi, dalam milidetik.

-1 (tanpa timeout)

EnableMD5Check

Menentukan apakah Validasi MD5 diaktifkan untuk unggahan atau unduhan data.

  • true: Mengaktifkan Validasi MD5.

  • false: Menonaktifkan Validasi MD5.

Penting

Validasi MD5 menyebabkan overhead performa tertentu.

false

IsCname

Menentukan apakah Endpoint mendukung CNAME. CNAME digunakan untuk menyambungkan nama domain kustom ke bucket.

false

ProgressUpdateInterval

Interval pembaruan untuk grafik bilah kemajuan, dalam byte.

8096

ProxyHost

Server proxy. Misalnya, example.aliyundoc.com.

Tidak ada

ProxyPort

Port proxy. Misalnya, 3128 atau 8080.

Tidak ada

ProxyUserName

Username untuk layanan proxy. Parameter ini opsional.

Tidak ada

ProxyPassword

Password untuk layanan proxy. Parameter ini opsional.

Tidak ada

Kode berikut menunjukkan cara mengonfigurasi OssClient.

using Aliyun.OSS;
using Aliyun.OSS.Common;

var conf = new ClientConfiguration();
// Setel jumlah maksimum koneksi bersamaan.
ClientConfiguration.ConnectionLimit = 512;
// Setel jumlah maksimum percobaan ulang untuk permintaan yang gagal.
conf.MaxErrorRetry = 3;
// Setel periode timeout koneksi.
conf.ConnectionTimeout = 300;
// Aktifkan Validasi MD5.
conf.EnableMD5Check = true;
// Setel server proxy.
conf.ProxyHost = "example.aliyundoc.com";
// Setel port proxy.
conf.ProxyPort = 3128;
// Setel username untuk proxy.
conf.ProxyUserName = "user";
// Setel password untuk proxy.
conf.ProxyPassword = "password";

var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);