Topik ini merupakan panduan mulai cepat untuk operasi penyimpanan umum menggunakan kit pengembangan perangkat lunak (SDK) OSS C#. Anda akan mempelajari cara menginstal SDK, mengonfigurasi kredensial akses, serta melakukan operasi dasar seperti membuat bucket, mengunggah, mengunduh, menampilkan daftar, dan menghapus objek.
Catatan
Untuk informasi lebih lanjut mengenai pemetaan antara wilayah OSS dan Titik Akhir, lihat Wilayah dan Titik Akhir.
Konfigurasi kredensial
Pastikan Anda telah mendaftarkan Akun Alibaba Cloud dan menyelesaikan verifikasi identitas.
Buat Pasangan Kunci Akses untuk Pengguna RAM yang memiliki izin manajemen OSS.
Gunakan Pasangan Kunci Akses Pengguna RAM untuk mengonfigurasi variabel lingkungan.
Linux
Pada command-line interface, jalankan perintah berikut untuk menambahkan pengaturan variabel lingkungan ke file
~/.bashrc.echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrcJalankan perintah berikut untuk menerapkan perubahan.
source ~/.bashrcJalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah dikonfigurasi.
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
macOS
Pada terminal, jalankan perintah berikut untuk melihat jenis shell default.
echo $SHELLLakukan langkah-langkah berikut berdasarkan jenis shell default.
Zsh
Jalankan perintah berikut untuk menambahkan pengaturan variabel lingkungan ke file
~/.zshrc.echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrcJalankan perintah berikut untuk menerapkan perubahan.
source ~/.zshrcJalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah dikonfigurasi.
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
Bash
Jalankan perintah berikut untuk menambahkan pengaturan variabel lingkungan ke file
~/.bash_profile.echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bash_profile echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bash_profileJalankan perintah berikut untuk menerapkan perubahan.
source ~/.bash_profileJalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah dikonfigurasi.
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
Windows
CMD
Jalankan perintah berikut di Command Prompt.
setx OSS_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID" setx OSS_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah dikonfigurasi.
echo %OSS_ACCESS_KEY_ID% echo %OSS_ACCESS_KEY_SECRET%
PowerShell
Jalankan perintah berikut di PowerShell.
[Environment]::SetEnvironmentVariable("OSS_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("OSS_ACCESS_KEY_SECRET", "YOUR_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah dikonfigurasi.
[Environment]::GetEnvironmentVariable("OSS_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
Setelah mengubah variabel lingkungan sistem, restart atau refresh lingkungan pengembangan Anda agar memuat variabel terbaru. Hal ini mencakup IDE, command-line interface, aplikasi desktop lainnya, serta layanan latar belakang.
Instal SDK
Instal di Windows
Instal menggunakan NuGet
Jika NuGet belum terinstal di Visual Studio, instal NuGet.
Di Visual Studio, buat atau buka proyek. Pilih .
Cari aliyun.oss.sdk. Di hasil pencarian, temukan Aliyun.OSS.SDK (untuk .NET Framework) atau Aliyun.OSS.SDK.NetCore (untuk .NET Core). Pilih versi terbaru dan klik Install.
Instal dengan mereferensikan DLL
Unduh dan ekstrak paket .NET SDK.
Kompilasi proyek aliyun-oss-sdk dalam mode Release untuk menghasilkan file DLL.
Di Visual Studio, buka Solution Explorer. Pilih proyek Anda, klik kanan nama proyek, lalu pilih . Pada kotak dialog yang muncul, klik Browse.
Temukan direktori bin tempat file DLL dihasilkan, pilih file Aliyun.OSS.dll, lalu klik OK.
Instal dengan mengimpor proyek
Jika Anda mengunduh paket SDK atau kode sumber dari GitHub dan ingin menginstal dari kode sumber, ikuti langkah-langkah berikut:
Di Visual Studio, klik kanan Solution lalu klik Add Existing Project pada menu yang muncul.
Pada kotak dialog yang muncul, pilih file aliyun-oss-sdk.csproj lalu klik Open.
Klik kanan nama proyek lalu pilih . Pada kotak dialog yang muncul, klik tab Projects, pilih proyek aliyun-oss-sdk, lalu klik OK.
Instal di Unix/macOS
Untuk menginstal menggunakan NuGet, ikuti langkah-langkah berikut:
Di Xamarin, buat atau buka proyek. Pilih Tools > Add NuGet Packages.
Cari Aliyun.OSS.SDK atau Aliyun.OSS.SDK.NetCore. Pilih versi terbaru lalu klik Add Package untuk menambahkannya ke proyek Anda.
Penggunaan cepat
Contoh kode berikut menunjukkan cara membuat bucket, mengunggah, mengunduh, menampilkan daftar, dan menghapus objek.
Buat bucket
using Aliyun.OSS;
// Setel yourEndpoint ke Titik Akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Titik Akhir ke https://oss-cn-hangzhou.aliyuncs.com.
var endpoint = "yourEndpoint";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Setel yourBucketName ke nama bucket.
var bucketName = "yourBucketName";
// Buat instance ClientConfiguration dan ubah parameter default sesuai kebutuhan.
var conf = new ClientConfiguration();
// Setel versi signature ke v4.
conf.SignatureVersion = SignatureVersion.V4;
// Buat instance OssClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
// Buat bucket.
var bucket = client.CreateBucket(bucketName);
Console.WriteLine("Create bucket succeeded, {0} ", bucket.Name);
}
catch (Exception ex)
{
Console.WriteLine("Create bucket failed, {0}", ex.Message);
}Unggah objek
using Aliyun.OSS;
// Setel yourEndpoint ke Titik Akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Titik Akhir ke https://oss-cn-hangzhou.aliyuncs.com.
var endpoint = "yourEndpoint";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Tentukan nama bucket, misalnya examplebucket.
var bucketName = "examplebucket";
// Tentukan path lengkap objek. Path lengkap tidak boleh mengandung nama bucket, misalnya exampledir/exampleobject.txt.
var objectName = "exampledir/exampleobject.txt";
// Tentukan path lengkap file lokal, misalnya D:\\localpath\\examplefile.txt. Jika Anda tidak menentukan path lokal, file akan diunggah dari path lokal yang sesuai dengan proyek tempat kode contoh berada.
var localFilename = "D:\\localpath\\examplefile.txt";
// Buat instance ClientConfiguration dan ubah parameter default sesuai kebutuhan.
var conf = new ClientConfiguration();
// Setel versi signature ke v4.
conf.SignatureVersion = SignatureVersion.V4;
// Buat instance OssClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
// Unggah file.
var result = client.PutObject(bucketName, objectName, localFilename);
Console.WriteLine("Put object succeeded, ETag: {0} ", result.ETag);
}
catch (Exception ex)
{
Console.WriteLine("Put object failed, {0}", ex.Message);
}Unduh file
using Aliyun.OSS;
using Aliyun.OSS.Common;
// Setel yourEndpoint ke Titik Akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Titik Akhir ke https://oss-cn-hangzhou.aliyuncs.com.
var endpoint = "yourEndpoint";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Tentukan nama bucket, misalnya examplebucket.
var bucketName = "examplebucket";
// Tentukan path lengkap objek. Path lengkap tidak boleh mengandung nama bucket, misalnya exampledir/exampleobject.txt.
var objectName = "exampledir/exampleobject.txt";
// Unduh objek ke file lokal bernama examplefile.txt dan simpan ke path lokal yang ditentukan (D:\\localpath). Jika file lokal yang ditentukan sudah ada, file tersebut akan ditimpa. Jika belum ada, file tersebut akan dibuat.
// Jika Anda tidak menentukan path lokal, file yang diunduh akan disimpan ke path lokal yang sesuai dengan proyek tempat kode contoh berada.
var downloadFilename = "D:\\localpath\\examplefile.txt";
// Buat instance ClientConfiguration dan ubah parameter default sesuai kebutuhan.
var conf = new ClientConfiguration();
// Setel versi signature ke v4.
conf.SignatureVersion = SignatureVersion.V4;
// Buat instance OssClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
// Unduh file.
var result = client.GetObject(bucketName, objectName);
using (var requestStream = result.Content)
{
using (var fs = File.Open(downloadFilename, FileMode.OpenOrCreate))
{
int length = 4 * 1024;
var buf = new byte[length];
do
{
length = requestStream.Read(buf, 0, length);
fs.Write(buf, 0, length);
} while (length != 0);
}
}
Console.WriteLine("Get object succeeded");
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
}Tampilkan daftar objek
using Aliyun.OSS;
using Aliyun.OSS.Common;
// Setel yourEndpoint ke Titik Akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Titik Akhir ke https://oss-cn-hangzhou.aliyuncs.com.
var endpoint = "yourEndpoint";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Tentukan nama bucket, misalnya examplebucket.
var bucketName = "examplebucket";
// Buat instance ClientConfiguration dan ubah parameter default sesuai kebutuhan.
var conf = new ClientConfiguration();
// Setel versi signature ke v4.
conf.SignatureVersion = SignatureVersion.V4;
// Buat instance OssClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
var objects = new List<string>();
ObjectListing result = null;
string nextMarker = string.Empty;
do
{
var listObjectsRequest = new ListObjectsRequest(bucketName)
{
Marker = nextMarker,
};
// Tampilkan daftar objek.
result = client.ListObjects(listObjectsRequest);
foreach (var summary in result.ObjectSummaries)
{
Console.WriteLine(summary.Key);
objects.Add(summary.Key);
}
nextMarker = result.NextMarker;
} while (result.IsTruncated);
Console.WriteLine("List objects of bucket:{0} succeeded ", bucketName);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
}Hapus file
using Aliyun.OSS;
// Setel yourEndpoint ke Titik Akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Titik Akhir ke https://oss-cn-hangzhou.aliyuncs.com.
var endpoint = "yourEndpoint";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// Tentukan nama bucket, misalnya examplebucket.
var bucketName = "examplebucket";
// Tentukan path lengkap objek. Path lengkap tidak boleh mengandung nama bucket, misalnya exampledir/exampleobject.txt.
var objectName = "exampledir/exampleobject.txt";
// Buat instance ClientConfiguration dan ubah parameter default sesuai kebutuhan.
var conf = new ClientConfiguration();
// Setel versi signature ke v4.
conf.SignatureVersion = SignatureVersion.V4;
// Buat instance OssClient.
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
// Hapus objek.
client.DeleteObject(bucketName, objectName);
Console.WriteLine("Delete object succeeded");
}
catch (Exception ex)
{
Console.WriteLine("Delete object failed, {0}", ex.Message);
}Jalankan kode contoh
Buat file main.cs di direktori proyek pengujian Anda. Salin kode contoh yang diperlukan ke file main.cs.
Ganti yourRegion, yourBucketName, dan yourObjectName dalam perintah berikut dengan nilai aktual Anda. Setel yourRegion ke wilayah tempat bucket berada. Misalnya, untuk China (Hangzhou), setel ke cn-hangzhou.
dotnet script main.cs -- <yourRegion> <yourBucketName> <yourObjectName>
Referensi
Untuk informasi lebih lanjut mengenai OSS C# SDK, lihat dokumentasi resmi.
Untuk contoh kode lainnya, lihat contoh di GitHub.

