Topik ini menjelaskan cara mengonfigurasi upload callback.
Catatan Penggunaan
Sebelum menjalankan kode contoh dalam topik ini, Anda harus membuat instans OSSClient menggunakan metode seperti nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Initialization (iOS SDK).
CatatanWilayah bucket ditentukan oleh titik akhir yang ditetapkan saat inisialisasi.
Untuk mengunggah objek, Anda harus memiliki izin
oss:PutObject. Untuk informasi selengkapnya, lihat Attach a custom policy to a RAM user.
Contoh
Kode contoh berikut mengilustrasikan cara mengonfigurasi upload callback:
OSSPutObjectRequest * request = [OSSPutObjectRequest new];
// Tentukan nama bucket. Contoh: examplebucket.
request.bucketName = @"examplebucket";
// Tentukan path lengkap objek. Jangan sertakan nama bucket dalam path lengkap tersebut. Contoh: exampledir/exampleobject.txt.
request.objectKey = @"exampledir/exampleobject.txt";
request.uploadingFileURL = [NSURL fileURLWithPath:@"<filepath>"];
// Konfigurasikan parameter callback.
request.callbackParam = @{
@"callbackUrl": @"<your server callback address>",
@"callbackBody": @"<your callback body>"
};
// Tentukan variabel kustom.
request.callbackVar = @{
@"<var1>": @"<value1>",
@"<var2>": @"<value2>"
};
request.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) {
NSLog(@"%lld, %lld, %lld", bytesSent, totalByteSent, totalBytesExpectedToSend);
};
OSSTask * task = [client putObject:request];
[task continueWithBlock:^id(OSSTask *task) {
if (task.error) {
OSSLogError(@"%@", task.error);
} else {
OSSPutObjectResult * result = task.result;
NSLog(@"Result - requestId: %@, headerFields: %@, servercallback: %@",
result.requestId,
result.httpResponseHeaderFields,
result.serverReturnJsonString);
}
return nil;
}];
// Implementasikan pemblokiran sinkron untuk menunggu task selesai.
// [task waitUntilFinished];