Topik ini menjelaskan cara menggunakan metode unduh sederhana untuk mengunduh objek dari bucket ke disk lokal. Metode ini mudah digunakan dan cocok untuk mengunduh objek dengan cepat ke disk lokal.
Peringatan
Kode sampel 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 pemetaan antara wilayah yang didukung oleh OSS dan titik akhir, lihat Wilayah dan Titik Akhir OSS.
Izin
Secara default, Akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah Akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui Kebijakan RAM atau Kebijakan Bucket.
API | Tindakan | Definisi |
GetObject |
| Mengunduh objek. |
| Saat mengunduh objek, jika Anda menentukan versi objek melalui versionId, izin ini diperlukan. | |
| Saat mengunduh objek, jika metadata objek berisi X-Oss-Server-Side-Encryption: KMS, izin ini diperlukan. |
Kode sampel
Anda dapat menggunakan kode berikut untuk mengunduh objek dari bucket ke disk lokal.
using OSS = AlibabaCloud.OSS.V2; // Buat alias untuk SDK OSS Alibaba Cloud untuk menyederhanakan penggunaan selanjutnya.
var region = "cn-hangzhou"; // Diperlukan. Tentukan wilayah tempat bucket berada. Dalam contoh ini, China (Hangzhou) digunakan. Atur wilayah menjadi cn-hangzhou.
var bucket = "nama bucket Anda"; // Diperlukan. Tentukan nama bucket tujuan.
var endpoint = null as string; // Opsional. Tentukan titik akhir yang digunakan untuk mengakses OSS. Dalam contoh ini, China (Hangzhou) digunakan. Atur titik akhir menjadi https://oss-cn-hangzhou.aliyuncs.com.
var key = "nama objek Anda"; // Diperlukan. Tentukan nama objek yang akan diunduh. Format: folder/namaObjek.
var filePath = "jalur file Anda"; // Diperlukan. Tentukan jalur file yang akan diunduh ke disk lokal.
// Muat konfigurasi default dari SDK OSS. Konfigurasi ini 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, timpa titik akhir default.
if(endpoint != null)
{
cfg.Endpoint = endpoint;
}
// Buat instance klien OSS menggunakan informasi konfigurasi.
using var client = new OSS.Client(cfg);
// Panggil metode GetObjectToFileAsync untuk langsung mengalirkan objek OSS ke disk lokal. Ini mencegah file besar memakan terlalu banyak memori.
var result = await client.GetObjectToFileAsync(new OSS.Models.GetObjectRequest()
{
Bucket = bucket,
Key = key,
}, filePath);
// Cetak hasil unggah.
Console.WriteLine("GetObjectToFile selesai"); // Pesan yang menunjukkan bahwa operasi telah selesai.
Console.WriteLine($"Kode Status: {result.StatusCode}"); // Kode status HTTP.
Console.WriteLine($"ID Permintaan: {result.RequestId}"); // ID permintaan, yang digunakan untuk pemecahan masalah di Alibaba Cloud.
Console.WriteLine("Header Respons:"); // Informasi header respons.
result.Headers.ToList().ForEach(x => Console.WriteLine(x.Key + " : " + x.Value)); // Telusuri dan cetak semua header respons.Referensi
Untuk kode sampel lengkap untuk mengunduh objek ke disk lokal, lihat GetObjectToFile.cs.