全部产品
Search
文档中心

Object Storage Service:Unduhan bersyarat (iOS SDK)

更新时间:Nov 30, 2025

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.

    Catatan

    Wilayah bucket ditentukan oleh titik akhir (endpoint) yang ditetapkan saat inisialisasi.

  • Anda harus memiliki izin ossGetObject untuk 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.