全部产品
Search
文档中心

Object Storage Service:Object tagging (iOS SDK)

更新时间:Nov 30, 2025

Layanan Penyimpanan Objek (OSS) memungkinkan Anda mengonfigurasi tag objek untuk mengklasifikasikan objek. Topik ini menjelaskan cara menambahkan, menanyakan, dan menghapus tag objek.

Catatan penggunaan

Sebelum menjalankan contoh kode dalam topik ini, Anda harus membuat instans OSSClient menggunakan metode seperti nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Initialization.

Tambahkan tag ke objek

Tambahkan tag ke objek saat Anda mengunggah objek

Berikut adalah contoh kode untuk menambahkan tag saat mengunggah objek:

OSSPutObjectRequest * put = [OSSPutObjectRequest new];

// Tentukan nama bucket. Contoh: examplebucket. 
put.bucketName = @"examplebucket";
// Tentukan jalur lengkap objek. Contoh: exampledir/exampleobject.txt. Jangan sertakan nama bucket dalam jalur lengkap. 
put.objectKey = @"exampledir/exampleobject.txt";
put.uploadingFileURL = [NSURL fileURLWithPath:@"<filePath>"];
// Tambahkan tag. Sebagai contoh, atur kunci tag menjadi owner dan nilai tag menjadi John. 
NSDictionary *tagging = @{@"owner": @"John"};
put.objectMeta = @{@"x-oss-tagging": [OSSUtil populateQueryStringFromParameter:tagging]};

// (Opsional) Konfigurasikan indikator kemajuan unggahan. 
put.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) {
    // Tentukan jumlah byte yang sedang diunggah, jumlah total byte yang diunggah, dan jumlah total byte yang ingin Anda unggah. 
    NSLog(@"%lld, %lld, %lld", bytesSent, totalByteSent, totalBytesExpectedToSend);
};
OSSTask * putTask = [client putObject:put];
[putTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        NSLog(@"unggah objek berhasil!");
    } else {
        NSLog(@"unggah objek gagal, kesalahan: %@" , task.error);
    }
    return nil;
}];
// [putTask waitUntilFinished];
// [put cancel];

Tambahkan tag ke atau ubah tag objek yang sudah ada

Berikut adalah contoh kode untuk menambahkan atau mengubah tag pada objek yang sudah ada:

OSSPutObjectTaggingRequest *putTaggingRequest = [OSSPutObjectTaggingRequest new];
// Tentukan nama bucket. Contoh: examplebucket. 
putTaggingRequest.bucketName = @"examplebucket";
// Tentukan jalur lengkap objek. Contoh: exampledir/exampleobject.txt. Jangan sertakan nama bucket dalam jalur lengkap. 
putTaggingRequest.objectKey = @"exampledir/exampleobject.txt";
// Buat dan tambahkan tag. 
NSDictionary *tags = @{@"key1":@"value1", @"key2":@"value2"};
putTaggingRequest.tags = tags;
OSSTask * putTask= [client putObjectTagging:putTaggingRequest];
[putTask continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
    if (task.error) {
        NSLog(@"kesalahan: %@", task.error);
    } else {
        NSLog(@"penambahan tagging berhasil");
    }
    return nil;
}];
// [putTask waitUntilFinished];

Tambahkan tag ke objek saat Anda menyalin objek

Berikut adalah contoh kode untuk menambahkan tag saat menyalin objek:

OSSCopyObjectRequest * copy = [OSSCopyObjectRequest new];
// Tentukan nama bucket sumber. 
copy.sourceBucketName = @"sourceBucketName";
// Tentukan kunci objek sumber. 
copy.sourceObjectKey = @"sourceObjectKey";
// Tentukan nama bucket tujuan. 
copy.bucketName = @"bucketName";
// Tentukan nama objek tujuan. 
copy.objectKey = @"objectKey";
// Tambahkan tag ke objek. 
NSDictionary *tagging = @{@"owner": @"John"};
copy.objectMeta = @{
    @"x-oss-tagging": [OSSUtil populateQueryStringFromParameter:tagging],
    @"x-oss-tagging-directive": @"Replace"
};

OSSTask * task = [client copyObject:copy];
[task continueWithBlock:^id(OSSTask *task) {
    if (task.error) {
        NSLog(@"kesalahan: %@", task.error);
    } else {
        NSLog(@"salin objek berhasil");
    }
    return nil;
}];
// [task waitUntilFinished];

Tambahkan tag ke tautan simbolik

Berikut adalah contoh kode untuk menambahkan tag ke tautan simbolik:

OSSPutSymlinkRequest * putSymlinkRequest = [OSSPutSymlinkRequest new];
// Tentukan nama bucket. 
putSymlinkRequest.bucketName = @"examplebucket";
// Tentukan nama tautan simbolik. 
putSymlinkRequest.objectKey = @"examplesymlink";
// Tentukan jalur lengkap objek yang dituju oleh tautan simbolik. Jangan sertakan nama bucket dalam jalur lengkap. 
putSymlinkRequest.targetObjectName = @"exampleobject.txt";
// Tambahkan tag ke objek. 
NSDictionary *tagging = @{@"owner": @"John"};
putSymlinkRequest.objectMeta = @{
    @"x-oss-tagging": [OSSUtil populateQueryStringFromParameter:tagging],
};

OSSTask * putSymlinktask = [client putSymlink:putSymlinkRequest];
[putSymlinktask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        NSLog(@"tautan simbolik berhasil dibuat");
    } else {
        NSLog(@"tautan simbolik gagal dibuat, kesalahan: %@", task.error);
    }
    return nil;
}];
// [putSymlinktask waitUntilFinished];

Kueri tag objek

Berikut adalah contoh kode untuk menanyakan tag dari objek:

OSSGetObjectTaggingRequest *getTaggingRequest = [OSSGetObjectTaggingRequest new];
// Tentukan nama bucket. 
getTaggingRequest.bucketName = @"examplebucket";
// Tentukan nama objek. 
getTaggingRequest.objectKey = @"exampledir/exampleobject.txt";
OSSTask * getTask = [client getObjectTagging:getTaggingRequest];
// Kueri tag dari objek. 
[getTask continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
    if (!task.error) {
        OSSGetObjectTaggingResult *result = task.result;
        for (NSString *key in [result.tags allKeys]) {
            NSLog(@"tagging %@: %@", key, result.tags[key]);
        }
    } else {
        NSLog(@"mengambil tagging objek gagal!  kesalahan: %@", task.error);
    }

    return nil;
}];
// [getTask waitUntilFinished];

Hapus tag objek

Berikut adalah contoh kode untuk menghapus tag dari objek:

OSSDeleteObjectTaggingRequest *deleteTaggingRequest = [OSSDeleteObjectTaggingRequest new];
// Tentukan nama bucket. 
deleteTaggingRequest.bucketName = @"examplebucket";
// Tentukan nama objek. 
deleteTaggingRequest.objectKey = @"exampledir/exampleobject.txt";
OSSTask *deleteTask = [client deleteObjectTagging:deleteTaggingRequest];
// Hapus tag yang ditambahkan ke objek. 
[deleteTask continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
    if (!task.error) {
        NSLog(@"penghapusan tagging objek berhasil");
    } else {
        NSLog(@"penghapusan tagging objek gagal!  kesalahan: %@", task.error);
    }
    return nil;
}];
// [deleteTask waitUntilFinished];

Referensi

  • Untuk informasi lebih lanjut tentang operasi API untuk menambahkan tag ke objek, lihat PutObjectTagging.

  • Untuk informasi lebih lanjut tentang operasi API untuk menanyakan tag dari objek, lihat GetObjectTagging.

  • Untuk informasi lebih lanjut tentang operasi API untuk menghapus tag dari objek, lihat DeleteObjectTagging.