Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:Upload callbacks (Ruby SDK)

Son Güncelleme:Oct 01, 2026

Bir nesne yüklendikten sonra Object Storage Service (OSS), uygulama sunucusuna bir geri arama isteği gönderebilir. Geri arama uygulamak için OSS'e ilgili geri arama parametrelerini içeren bir istek göndermeniz yeterlidir.

Notlar

  • Dosya yüklerken yükleme geri araması belirtebilirsiniz. Yükleme başarılı olduktan sonra OSS, belirttiğiniz sunucu adresine bir HTTP POST isteği gönderir. Ardından alınan geri aramaya göre işlem yapabilirsiniz.

  • Geri arama URL'si sorgu dizesi içeremez. Sorgu dizesini :query parametresinde belirtin.

  • Dosya başarıyla yüklenir ancak geri arama başarısız olursa istemci bir CallbackError hatası oluşturur. Bu hatayı yoksaymak istiyorsanız özel durumu açıkça ele almanız gerekir.

  • Geri aramayı kabul eden sunucu hakkında daha fazla bilgi için bkz. callback_server.rb.

Örnek kod

Yükleme geri aramaları yalnızca put_object ve resumable_upload kullanılarak yapılan dosya yüklemeleri için desteklenir.

put_object kullanırken yükleme geri araması belirtin

put_object kullanarak dosya yüklerken yükleme geri araması belirtin. Yüklenen paket ve nesne bilgilerini geri aramanın gövdesine ekleyin. Uygulama sunucunuz tarafından alınan geri arama, dosyanın OSS'e başarıyla yüklendiğini doğrular.

require 'aliyun/oss'

client = Aliyun::OSS::Client.new(
  # The China (Hangzhou) region is used as an example for the endpoint. Specify the endpoint based on your 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')

callback = Aliyun::OSS::Callback.new(
  url: 'http://oss-demo.aliyuncs.com:23450',
  query: {user: 'put_object'},
  body: 'bucket=${bucket}&object=${object}'
)

begin
  bucket.put_object('files/hello', file: '/tmp/x', callback: callback)
rescue Aliyun::OSS::CallbackError => e
  puts "Callback failed: #{e.message}"
end

resumable_upload kullanırken yükleme geri araması belirtin

resumable_upload işlemleri put_object ile benzerdir.

require 'aliyun/oss'

client = Aliyun::OSS::Client.new(
  # The China (Hangzhou) region is used as an example for the endpoint. Specify the endpoint based on your 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')

callback = Aliyun::OSS::Callback.new(
  url: 'http://oss-demo.aliyuncs.com:23450',
  query: {user: 'put_object'},
  body: 'bucket=${bucket}&object=${object}'
)

begin
  bucket.resumable_upload('files/hello', '/tmp/x', callback: callback)
rescue Aliyun::OSS::CallbackError => e
  puts "Callback failed: #{e.message}"
end

İlgili kaynaklar

  • Yükleme geri aramaları için tam örnek kodu görmek üzere bkz. GitHub örneği.

  • Yükleme geri aramaları API işlemi hakkında daha fazla bilgi için bkz. Callback.