Mevcut eklenebilir nesnelere içerik eklemek için AppendObject işlemini çağırabilirsiniz.
Notlar
Bu konuda Çin (Hangzhou) bölgesinin genel uç noktası kullanılmıştır. Aynı bölgedeki diğer Alibaba Cloud hizmetlerinden OSS'e erişmek için dahili uç noktayı kullanın. Desteklenen bölgeler ve uç noktalar hakkında ayrıntılı bilgi için bkz. Bölgeler ve uç noktalar.
Bu konu, bir OSS uç noktası kullanarak bir OSSClient örneği oluşturmayı gösterir. Özel etki alanı kullanma veya Security Token Service (STS) kimlik bilgileriyle kimlik doğrulama gibi alternatif yapılandırmalar için bkz. İstemci yapılandırması.
Dosya yoksa
Bucket#append_objectyöntemi eklenebilir bir nesne oluşturur.-
Dosya zaten varsa:
Dosya eklenebilir bir nesneyse ve belirtilen ekleme konumu dosyanın mevcut uzunluğuyla eşleşiyorsa içerik dosyanın sonuna eklenir.
Dosya eklenebilir bir nesneyse ancak belirtilen ekleme konumu dosyanın mevcut uzunluğuyla eşleşmiyorsa PositionNotEqualToLength özel durumu oluşur.
Dosya basit yükleme ile yüklenen normal bir nesne gibi eklenebilir bir nesne değilse ObjectNotAppendable özel durumu oluşur.
İzinler
Varsayılan olarak bir Alibaba Cloud hesabının tam yetkileri vardır. 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 |
|
Mevcut bir nesneye ekleyerek nesne yüklemek için bu işlemi çağırabilirsiniz. |
|
|
Mevcut bir nesneye ekleyerek nesne yüklerken x-oss-tagging aracılığıyla nesne etiketleri belirtirseniz bu izin gereklidir. |
Örnek kod
Aşağıdaki kod, ekleyerek yükleme işleminin nasıl yapılacağını gösterir.
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# The China (Hangzhou) region is used as an example. Specify the actual region.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Specify the bucket name, for example, examplebucket.
bucket = client.get_bucket('examplebucket')
# Specify the full path of the object. The full path cannot contain the bucket name.
bucket.append_object('my-object', 0)
# Append content to the end of the file.
next_pos = bucket.append_object('my-object', 0) do |stream|
100.times { |i| stream << i.to_s }
end
next_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-1')
next_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-2')
İlgili kaynaklar
AppendObject API işlemi hakkında daha fazla bilgi için bkz. AppendObject.