Anda dapat menentukan satu atau beberapa kondisi untuk mengunduh suatu objek. Jika kondisi yang ditentukan terpenuhi, objek tersebut akan diunduh; jika tidak, objek tidak diunduh dan error dikembalikan.
Catatan penggunaan
Sebelum menjalankan kode contoh dalam topik ini, Anda harus membuat instans OSSClient melalui metode seperti menggunakan nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Inisialisasi.
CatatanWilayah bucket ditentukan oleh titik akhir (endpoint) yang ditetapkan saat inisialisasi.
Anda harus memiliki izin
ossGetObjectuntuk mengunduh file. Untuk informasi selengkapnya, lihat Berikan kebijakan akses kustom kepada RAM user.
Contoh
Kode contoh berikut menunjukkan cara mengunduh objek exampleobject.txt dari direktori exampledir pada bucket examplebucket dengan menetapkan beberapa kondisi:
OSSGetObjectRequest *get = [OSSGetObjectRequest new];
// Tentukan nama bucket. Untuk informasi lebih lanjut tentang penamaan bucket, lihat Konvensi penamaan bucket.
get.bucketName = @"examplebucket";
// Tentukan path lengkap objek. Jangan sertakan nama bucket dalam path lengkap objek. Untuk informasi lebih lanjut tentang konvensi penamaan objek, lihat Konvensi penamaan objek.
get.objectKey = @"exampledir/exampleobject.txt";
NSMutableDictionary *headerFields = [NSMutableDictionary dictionary];
// Atur If-Modified-Since ke Fri, 13 Oct 2021 14:47:53 GMT.
[headerFields setValue:@"Fri, 13 Oct 2021 14:47:53 GMT" forKey:@"If-Modified-Since"];
// Tentukan bahwa objek hanya diunduh jika waktu modifikasi terakhirnya sama dengan atau lebih awal dari waktu yang ditentukan.
[headerFields setValue:[[NSDate new] oss_asStringValue] forKey:@"If-Unmodified-Since"];
// Tentukan bahwa objek hanya diunduh jika tag entitasnya (ETag) tidak sama dengan ETag yang ditentukan.
[headerFields setValue:@"5B3C1A2E0563E1B002CC607C****" forKey:@"If-None-Match"];
// Tentukan bahwa objek hanya diunduh jika ETag-nya sama dengan ETag yang ditentukan.
[headerFields setValue:@"fba9dede5f27731c9771645a3986****" forKey:@"If-Match"];
get.headerFields = headerFields;
[[[client getObject:get] continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
if (!task.error) {
NSLog(@"get object success!");
} else {
NSLog(@"get object error: %@", task.error);
}
return nil;
}] waitUntilFinished];Referensi
Untuk informasi selengkapnya tentang Operasi API yang dapat Anda panggil untuk melakukan unduhan bersyarat, lihat GetObject.
Untuk informasi selengkapnya tentang cara menginisialisasi instans OSSClient, lihat Inisialisasi.