全部产品
Search
文档中心

Object Storage Service:Daftar bucket (iOS SDK)

更新时间:Nov 30, 2025

Bucket adalah wadah yang digunakan untuk menyimpan objek. Semua objek harus disimpan dalam sebuah bucket. Bucket ditampilkan secara alfabetis. Anda dapat melihat bucket yang dimiliki oleh Akun Alibaba Cloud Anda di seluruh wilayah dan memfilternya berdasarkan kondisi tertentu.

Catatan penggunaan

  • Sebelum menjalankan kode contoh dalam topik ini, buat instans OSSClient menggunakan metode seperti nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Inisialisasi (iOS SDK).

    Catatan

    Bucket yang ditampilkan berasal dari wilayah yang ditentukan oleh endpoint dalam konfigurasi inisialisasi Anda.

Menampilkan semua bucket

Kode berikut menunjukkan cara menampilkan semua bucket di seluruh wilayah dalam Akun Alibaba Cloud saat ini.

OSSGetServiceRequest * getService = [OSSGetServiceRequest new];
// Menampilkan semua bucket di semua wilayah dalam akun saat ini.    
OSSTask * getServiceTask = [client getService:getService];
[getServiceTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        OSSGetServiceResult * result = task.result;
        NSLog(@"buckets: %@", result.buckets);
        NSLog(@"owner: %@, %@", result.ownerId, result.ownerDispName);
        [result.buckets enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            NSDictionary * bucketInfo = obj;
            NSLog(@"BucketName: %@", [bucketInfo objectForKey:@"Name"]);
            NSLog(@"CreationDate: %@", [bucketInfo objectForKey:@"CreationDate"]);
            NSLog(@"Location: %@", [bucketInfo objectForKey:@"Location"]);
        }];
    } else {
        NSLog(@"get service failed, error: %@", task.error);
    }
    return nil;
}];
// Implementasikan pemblokiran sinkron untuk menunggu tugas selesai.
// [getServiceTask waitUntilFinished];

Menampilkan bucket dengan awalan tertentu

Kode berikut menunjukkan cara menampilkan bucket yang memiliki awalan "example" di seluruh wilayah dalam Akun Alibaba Cloud saat ini.

OSSGetServiceRequest * getService = [OSSGetServiceRequest new];
getService.prefix = @"example";

OSSTask * getServiceTask = [client getService:getService];
[getServiceTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        OSSGetServiceResult * result = task.result;
        NSLog(@"buckets: %@", result.buckets);
        NSLog(@"owner: %@, %@", result.ownerId, result.ownerDispName);
        [result.buckets enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            NSDictionary * bucketInfo = obj;
            NSLog(@"BucketName: %@", [bucketInfo objectForKey:@"Name"]);
            NSLog(@"CreationDate: %@", [bucketInfo objectForKey:@"CreationDate"]);
            NSLog(@"Location: %@", [bucketInfo objectForKey:@"Location"]);
        }];
    } else {
        NSLog(@"get service failed, error: %@", task.error);
    }
    return nil;
}];
// Implementasikan pemblokiran sinkron untuk menunggu tugas selesai.
// [getServiceTask waitUntilFinished];

Menampilkan bucket setelah penanda tertentu

Kode berikut menunjukkan cara menampilkan bucket yang namanya secara alfabetis berada setelah "examplebucket" di seluruh wilayah dalam Akun Alibaba Cloud saat ini.

OSSGetServiceRequest * getService = [OSSGetServiceRequest new];
getService.marker = @"examplebucket";

OSSTask * getServiceTask = [client getService:getService];
[getServiceTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        OSSGetServiceResult * result = task.result;
        NSLog(@"buckets: %@", result.buckets);
        NSLog(@"owner: %@, %@", result.ownerId, result.ownerDispName);
        [result.buckets enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            NSDictionary * bucketInfo = obj;
            NSLog(@"BucketName: %@", [bucketInfo objectForKey:@"Name"]);
            NSLog(@"CreationDate: %@", [bucketInfo objectForKey:@"CreationDate"]);
            NSLog(@"Location: %@", [bucketInfo objectForKey:@"Location"]);
        }];
    } else {
        NSLog(@"get service failed, error: %@", task.error);
    }
    return nil;
}];
// Implementasikan pemblokiran sinkron untuk menunggu tugas selesai.
// [getServiceTask waitUntilFinished];

Menampilkan jumlah bucket tertentu

Kode berikut menunjukkan cara menampilkan bucket di seluruh wilayah dalam Akun Alibaba Cloud saat ini dengan membatasi jumlah bucket yang dikembalikan maksimal sebanyak 500.

OSSGetServiceRequest * getService = [OSSGetServiceRequest new];
// Menampilkan semua bucket di semua wilayah untuk akun saat ini. Batasi jumlah bucket hingga 500. Nilai default: 100. Maksimum: 1000.
getService.maxKeys = 500;
    
OSSTask * getServiceTask = [client getService:getService];
[getServiceTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        OSSGetServiceResult * result = task.result;
        NSLog(@"buckets: %@", result.buckets);
        NSLog(@"owner: %@, %@", result.ownerId, result.ownerDispName);
        [result.buckets enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            NSDictionary * bucketInfo = obj;
            NSLog(@"BucketName: %@", [bucketInfo objectForKey:@"Name"]);
            NSLog(@"CreationDate: %@", [bucketInfo objectForKey:@"CreationDate"]);
            NSLog(@"Location: %@", [bucketInfo objectForKey:@"Location"]);
        }];
    } else {
        NSLog(@"get service failed, error: %@", task.error);
    }
    return nil;
}];
// Implementasikan pemblokiran sinkron untuk menunggu tugas selesai.
// [getServiceTask waitUntilFinished];

Referensi