Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:Exception handling (OSS SDK for Python 1.0)

Son Güncelleme:Oct 01, 2026

Object Storage Service (OSS) SDK for Python, üç tür özel durum döndürür: ClientError, RequestError ve ServerError. Bu özel durumlar oss2.exceptions alt modülünde tanımlanmıştır.

Aşağıdaki tabloda özel durum değişkenleri açıklanmaktadır.

Değişken

Tür

Açıklama

status

int

  • Bir ServerError özel durumu oluşursa bu değişken bir HTTP durum kodu döndürür.

  • Bir ClientError veya RequestError özel durumu oluşursa bu değişken sabit bir değer döndürür.

request_id

str

  • Bir ServerError özel durumu oluşursa OSS sunucusu bu değişken için istek kimliğini döndürür.

  • Bir ClientError veya RequestError özel durumu oluşursa bu değişken boş bir dize döndürür.

code ve message

str

Bir OSS hata yanıtındaki Code ve Message XML etiketlerindeki metin. Daha fazla bilgi için bkz. Hata yanıtları.

Özel durum işleme örneği

Aşağıdaki örnek kod, mevcut olmayan bir nesneyi indirmeye çalıştığınızda hatanın HTTP durum kodunu ve istek kimliğini görüntülemek üzere bir özel durumun nasıl işleneceğini gösterir:

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# Obtain access credentials from the environment variables. Before you run the sample code, make sure that you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET. 
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. 
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Specify the ID of the region that maps to the endpoint. Example: cn-hangzhou. This parameter is required if you use the signature algorithm V4.
region = "cn-hangzhou"

# Specify the name of the bucket.
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

try:
    # Specify the name of the downloaded object. Example: exampleobject.txt. 
    stream = bucket.get_object('exampleobject.txt')
except oss2.exceptions.NoSuchKey as e:
    print('status={0}, request_id={1}'.format(e.status, e.request_id))            

ClientError

ClientError, istemcideki hatalı giriş nedeniyle oluşur. Örneğin, bucket.batch_delete_objects yöntemini kullandığınızda ve boş bir nesne listesi aldığınızda bu hata meydana gelir. ClientError için status değeri oss2.exceptions.OSS_CLIENT_ERROR_STATUS'tır.

RequestError

HTTP kitaplığı bir hata verdiğinde OSS SDK for Python bu hatayı RequestError'a dönüştürür. RequestError için status değeri oss2.exceptions.OSS_REQUEST_ERROR_STATUS'tır.

ServerError

OSS sunucusu bir HTTP durum kodu döndürdüğünde OSS SDK for Python bu durum kodunu ServerError'a dönüştürür. ServerError, HTTP durum koduna ve OSS hata koduna göre birden çok alt sınıf türetir. NotFound alt sınıfı HTTP durum kodu 404'e karşılık gelir. Conflict alt sınıfı HTTP durum kodu 409'a karşılık gelir.

Aşağıdaki tabloda yaygın hata kodları açıklanmaktadır.


Özel durum sınıfı


HTTP durum kodu


OSS hata kodu


Açıklama


NotModified


304


Null


If-Modified-Since parametresinin belirtilen değeri, nesnenin değiştirildiği gerçek zamandan sonradır.


InvalidArgument


400


InvalidArgument


x-oss-complete-all değerini yes olarak ayarladığınız çok parçalı yükleme isteğinde istek gövdesi belirtilemez. Aksi takdirde bir hata oluşur.


AccessDenied


403


AccessDenied


Gerekli izinlere sahip değilsiniz.


NoSuchBucket


404


NoSuchBucket


Belirtilen paket mevcut değil.


NoSuchKey


404


NoSuchKey


Belirtilen nesne mevcut değil.


NoSuchUpload


404


NoSuchUpload


Nesne, çok parçalı yükleme veya kaldığı yerden devam ettirilebilir yükleme isteğinde tamamen yüklenmemiştir.


NoSuchWebsite


404


NoSuchWebsiteConfiguration


Belirtilen pakette statik web sitesi barındırma yapılandırmaları bulunmamaktadır.


NoSuchLifecycle


404


NoSuchLifecycle


Belirtilen pakette yapılandırılmış yaşam döngüsü kuralları yoktur.


NoSuchCors


404


NoSuchCORSConfiguration


Belirtilen pakette yapılandırılmış kaynaklar arası kaynak paylaşımı (CORS) kuralları yoktur.


BucketNotEmpty


409


BucketNotEmpty


Silinecek pakette nesneler, tamamlanmamış çok parçalı yükleme görevlerinden oluşan parçalar veya LiveChannels bulunmaktadır.


PositionNotEqualToLength


409


PositionNotEqualToLength


İstekteki position değeri, geçerli nesne boyutuyla eşleşmiyor.


ObjectNotAppendable


409


ObjectNotAppendable


Geçerli nesne eklenebilir bir nesne değildir.