全部产品
Search
文档中心

Object Storage Service:Daftar objek (OSS SDK untuk C# V2)

更新时间:Nov 09, 2025

Topik ini menjelaskan cara menggunakan OSS SDK untuk C# untuk mendaftarkan semua objek dalam bucket yang ditentukan.

Perhatian

  • Kode contoh dalam topik ini menggunakan Wilayah China (Hangzhou) (cn-hangzhou) sebagai contoh. Secara default, Titik akhir publik digunakan. Jika Anda ingin mengakses OSS dari layanan Alibaba Cloud lainnya di wilayah yang sama, gunakan Titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir yang didukung oleh OSS, lihat Wilayah dan titik akhir OSS.

  • Topik ini memberikan contoh membaca kredensial akses dari Variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan kredensial akses.

  • Untuk mendaftarkan objek, Anda harus memiliki izin oss:ListObjects. Untuk informasi lebih lanjut, lihat Berikan izin kustom kepada Pengguna RAM.

Kode contoh

Gunakan kode berikut untuk mendaftarkan semua objek dalam bucket yang ditentukan.

using OSS = AlibabaCloud.OSS.V2;  // Buat alias untuk Alibaba Cloud OSS SDK untuk menyederhanakan penggunaan selanjutnya.

var region = "cn-hangzhou";  // Diperlukan. Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Region ke cn-hangzhou.
var endpoint = null as string;  // Opsional. Tentukan nama domain yang digunakan untuk mengakses layanan OSS. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
var bucket = "nama bucket Anda";  // Diperlukan. Nama bucket tujuan.

// Muat konfigurasi default dari OSS SDK. Konfigurasi secara otomatis membaca informasi kredensial (seperti AccessKey) dari variabel lingkungan.
var cfg = OSS.Configuration.LoadDefault();
// Secara eksplisit atur penggunaan variabel lingkungan untuk mendapatkan kredensial untuk verifikasi identitas (format: OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET).
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
// Atur wilayah bucket dalam konfigurasi.
cfg.Region = region;   
// Jika titik akhir ditentukan, itu akan menimpa titik akhir default. 
if(endpoint != null) 
{
    cfg.Endpoint = endpoint;
} 

// Buat instans klien OSS menggunakan informasi konfigurasi.
using var client = new OSS.Client(cfg); 

// Panggil metode ListObjectsV2Paginator untuk mendapatkan semua objek dalam bucket tujuan.
var paginator = client.ListObjectsV2Paginator(new OSS.Models.ListObjectsV2Request()
{
    Bucket = bucket
});

//  Cetak informasi semua objek dalam bucket.
Console.WriteLine("Objek:");
await foreach (var page in paginator.IterPageAsync())  // Secara asinkron telusuri setiap halaman hasil.
{
    // Telusuri setiap objek pada halaman saat ini.
    foreach (var content in page.Contents ?? [])
    {
        // Cetak informasi objek: kunci, ukuran (dalam byte), dan waktu modifikasi terakhir.
        Console.WriteLine($"Objek:{content.Key}, {content.Size}, {content.LastModified}");
    }
}

Referensi

Untuk kode contoh lengkap, lihat ListObjects.cs.