Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:Append upload (iOS SDK)

Son Güncelleme:Oct 01, 2026

Ekleme yöntemiyle yükleme, Object Storage Service (OSS) AppendObject API işlemini kullanarak mevcut bir eklenebilir nesneye içerik ekler.

Not

AppendObject işlemi kullanılarak yüklenen nesneler eklenebilir nesnelerdir. PutObject işlemi kullanılarak yüklenen nesneler normal nesnelerdir.

Dikkat edilmesi gerekenler

  • Bu konudaki örnekleri kullanmadan önce özel bir alan adı veya Security Token Service (STS) kullanarak bir OSSClient örneği oluşturmanız gerekir. Daha fazla bilgi için bkz. Başlatma (iOS SDK).

    Not

    Oluşturduğunuz paketin bölgesi, başlatma yapılandırmasında belirtilen uç nokta tarafından belirlenir.

  • Bu konuda erişim kimlik bilgileri ortam değişkenlerinden alınır. Daha fazla bilgi için bkz. Erişim Kimlik Bilgilerini Yapılandırma.

  • Nesne yoksa AppendObject işlemi çağrıldığında yeni bir eklenebilir nesne oluşur.

  • Nesne zaten varsa:

    • Nesne eklenebilir bir nesneyse ve belirtilen ekleme konumu nesnenin mevcut uzunluğuyla eşleşiyorsa içerik nesnenin sonuna eklenir.

    • Nesne eklenebilir bir nesneyse ancak belirtilen ekleme konumu nesnenin mevcut uzunluğuyla eşleşmiyorsa PositionNotEqualToLength hatası oluşur.

    • Nesne basit yükleme ile yüklenen normal bir nesne gibi eklenebilir bir nesne değilse ObjectNotAppendable hatası oluşur.

  • Eklenebilir nesneler için CopyObject işlemi desteklenmez.

İzinler

Varsayılan olarak bir Alibaba Cloud hesabı tam izinlere sahiptir. Bir Alibaba Cloud hesabı altındaki RAM kullanıcıları veya RAM rolleri varsayılan olarak herhangi bir izne sahip değildir. Alibaba Cloud hesabı veya hesap yöneticisi, işlem izinlerini RAM ilkeleri veya Paket İlkesi aracılığıyla vermelidir.

API

Eylem

Açıklama

AppendObject

oss:PutObject

Bu işlemi çağırarak mevcut bir nesneye veri ekleyerek nesne yükleyebilirsiniz.

oss:PutObjectTagging

Mevcut bir nesneye veri ekleyerek nesne yüklerken x-oss-tagging aracılığıyla nesne etiketleri belirtirseniz bu izin gereklidir.

Örnek kod

Aşağıdaki kod, ekleme yöntemiyle yüklemenin nasıl yapılacağını gösterir.

OSSAppendObjectRequest * append = [OSSAppendObjectRequest new];
// Configure the required fields. `bucketName` specifies the name of the bucket. `objectKey`, which is equivalent to `objectName`, specifies the full path of the object to which you want to append data. The path must include the file extension, for example, `abc/efg/123.jpg`.
append.bucketName = @"<bucketName>";
append.objectKey = @"<objectKey>";
// Specify the position for the first append upload.
append.appendPosition = 0; 
NSString * docDir = [self getDocumentDirectory];
append.uploadingFileURL = [NSURL fileURLWithPath:@"<yourLocalFilePath>"];
// The following fields are optional.
append.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) {
    NSLog(@"%lld, %lld, %lld", bytesSent, totalByteSent, totalBytesExpectedToSend);
};
// append.contentType = @"";
// append.contentMd5 = @"";
// append.contentEncoding = @"";
// append.contentDisposition = @"";
OSSTask * appendTask = [client appendObject:append];
[appendTask continueWithBlock:^id(OSSTask *task) {
    NSLog(@"objectKey: %@", append.objectKey);
    if (!task.error) {
        NSLog(@"append object success!");
        OSSAppendObjectResult * result = task.result;
        NSString * etag = result.eTag;
        long nextPosition = result.xOssNextAppendPosition;
    } else {
        NSLog(@"append object failed, error: %@" , task.error);
    }
    return nil;
}];

İlgili kaynaklar