全部产品
Search
文档中心

Object Storage Service:Panduan Mulai Cepat (C# SDK V1)

更新时间:Nov 30, 2025

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.

  1. Buat Pasangan Kunci Akses untuk Pengguna RAM yang memiliki izin manajemen OSS.

    Gunakan skrip Resource Orchestration Service (ROS) untuk membuat Pasangan Kunci Akses secara cepat bagi Pengguna RAM dengan izin manajemen OSS.

    Pada halaman Create Stack di Konsol Resource Orchestration Service (ROS), centang kotak di bawah Security Confirmation, lalu klik Create.

    1.png

    Setelah stack dibuat, salin Pasangan Kunci Akses dari tab Outputs.

    image

  2. Gunakan Pasangan Kunci Akses Pengguna RAM untuk mengonfigurasi variabel lingkungan.

    Linux

    1. 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'" >> ~/.bashrc
      1. Jalankan perintah berikut untuk menerapkan perubahan.

        source ~/.bashrc
      2. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah dikonfigurasi.

        echo $OSS_ACCESS_KEY_ID
        echo $OSS_ACCESS_KEY_SECRET

    macOS

    1. Pada terminal, jalankan perintah berikut untuk melihat jenis shell default.

      echo $SHELL
      1. Lakukan langkah-langkah berikut berdasarkan jenis shell default.

        Zsh

        1. 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'" >> ~/.zshrc
        2. Jalankan perintah berikut untuk menerapkan perubahan.

          source ~/.zshrc
        3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah dikonfigurasi.

          echo $OSS_ACCESS_KEY_ID
          echo $OSS_ACCESS_KEY_SECRET

        Bash

        1. 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_profile
        2. Jalankan perintah berikut untuk menerapkan perubahan.

          source ~/.bash_profile
        3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah dikonfigurasi.

          echo $OSS_ACCESS_KEY_ID
          echo $OSS_ACCESS_KEY_SECRET

    Windows

    CMD

    1. Jalankan perintah berikut di Command Prompt.

      setx OSS_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID"
      setx OSS_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"
      1. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah dikonfigurasi.

        echo %OSS_ACCESS_KEY_ID%
        echo %OSS_ACCESS_KEY_SECRET%

    PowerShell

    1. 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)
      1. 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)

  3. 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

  1. Jika NuGet belum terinstal di Visual Studio, instal NuGet.

  2. Di Visual Studio, buat atau buka proyek. Pilih Tools > NuGet Package Manager > Manage NuGet Packages For Solution.

  3. 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

  1. Unduh dan ekstrak paket .NET SDK.

  2. Kompilasi proyek aliyun-oss-sdk dalam mode Release untuk menghasilkan file DLL.

  3. Di Visual Studio, buka Solution Explorer. Pilih proyek Anda, klik kanan nama proyek, lalu pilih References > Add Reference. Pada kotak dialog yang muncul, klik Browse.

  4. 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:

  1. Di Visual Studio, klik kanan Solution lalu klik Add Existing Project pada menu yang muncul.

  2. Pada kotak dialog yang muncul, pilih file aliyun-oss-sdk.csproj lalu klik Open.

  3. Klik kanan nama proyek lalu pilih References > Add Reference. 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:

  1. Di Xamarin, buat atau buka proyek. Pilih Tools > Add NuGet Packages.

  2. 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

  1. Buat file main.cs di direktori proyek pengujian Anda. Salin kode contoh yang diperlukan ke file main.cs.

  2. 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