Tüm Ürünler
Search
Belge Merkezi

:Başlatma

Son Güncelleme:Oct 01, 2026

Bu konuda, Object Storage Service (OSS) SDK for Python'ın nasıl başlatılacağı açıklanmaktadır.

Kullanım notları

  • OSS SDK for Python'ı başlatmadan önce erişim kimlik bilgilerini yapılandırmanız gerekir. Bu konuda, erişim kimlik bilgileri ortam değişkenlerinden alınır. Daha fazla bilgi için bkz. OSS SDK for Python 1,0 kullanarak erişim kimlik bilgilerini yapılandırma.

  • OSS bölgeleri ve uç noktaları hakkında bilgi edinmek istiyorsanız bkz. Bölgeler ve uç noktalar.

  • Bir RAM kullanıcısı için AccessKey çifti oluşturmak istiyorsanız bkz. AccessKey çifti oluşturma.

  • OSS SDK for Python'daki çoğu işlem oss2.Service ve oss2.Bucket sınıflarına dayanır.

    • oss2.Service sınıfı paketleri listelemek için kullanılır.

    • oss2.Bucket sınıfı nesneleri yüklemek, indirmek ve silmek ile paketleri yapılandırmak için kullanılır.

    oss2.Service ve oss2.Bucket sınıflarını başlatırken paketin bulunduğu bölgenin uç noktasını belirtmeniz gerekir. oss2.Service sınıfı, paketlerle eşleştirilmiş özel alan adlarını kullanarak paketlere erişimi desteklemez.

Ön koşullar

Uyarı

İstemciyi yapılandırmadan önce bir RAM kullanıcısının AccessKey çiftini kullanarak ortam değişkenlerini yapılandırmış olmanız gerekir.

Linux

  1. Ortam değişkeni yapılandırmalarını ~/.bashrc dosyasına eklemek için CLI'da aşağıdaki komutları çalıştırın:

    echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc
    echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc
    1. Değişiklikleri uygulayın.

      source ~/.bashrc
    2. Ortam değişkenlerinin etkili olup olmadığını kontrol edin:

      echo $OSS_ACCESS_KEY_ID
      echo $OSS_ACCESS_KEY_SECRET

macOS

  1. Varsayılan kabuk türünü görüntülemek için terminalde aşağıdaki komutu çalıştırın:

    echo $SHELL
    1. Varsayılan kabuk türüne göre ortam değişkenlerini yapılandırın.

      Zsh

      1. Ortam değişkeni yapılandırmalarını ~/.zshrc dosyasına eklemek için aşağıdaki komutları çalıştırın:

        echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc
        echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc
      2. Değişiklikleri uygulayın.

        source ~/.zshrc
      3. Ortam değişkenlerinin etkili olup olmadığını kontrol edin:

        echo $OSS_ACCESS_KEY_ID
        echo $OSS_ACCESS_KEY_SECRET

      Bash

      1. Ortam değişkeni yapılandırmalarını ~/.bash_profile dosyasına eklemek için aşağıdaki komutları çalıştırın:

        echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bash_profile
        echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bash_profile
      2. Değişiklikleri uygulayın.

        source ~/.bash_profile
      3. Ortam değişkenlerinin etkili olup olmadığını kontrol edin:

        echo $OSS_ACCESS_KEY_ID
        echo $OSS_ACCESS_KEY_SECRET

Windows

CMD

  1. CMD'de aşağıdaki komutları çalıştırın:

    setx OSS_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID"
    setx OSS_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"
    1. Ortam değişkenlerinin etkili olup olmadığını kontrol edin:

      echo %OSS_ACCESS_KEY_ID%
      echo %OSS_ACCESS_KEY_SECRET%

PowerShell

  1. PowerShell'de aşağıdaki komutları çalıştırın:

    [Environment]::SetEnvironmentVariable("OSS_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User)
    [Environment]::SetEnvironmentVariable("OSS_ACCESS_KEY_SECRET", "YOUR_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
    1. Ortam değişkeninin etkili olup olmadığını kontrol edin:

      [Environment]::GetEnvironmentVariable("OSS_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User)
      [Environment]::GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)

Varsayılan örnekler

Bu bölümde, V4 imza algoritması ve V1 imza algoritması kullanılarak OSS SDK for Python'ın nasıl başlatılacağına ilişkin örnekler sunulmaktadır.

Aşağıdaki örnek kodun paketin genel uç noktasını ve RAM kullanıcısının AccessKey çiftini kullandığını unutmayın.

(Önerilir) V4 imza algoritmasını kullanma

Önemli
  • OSS SDK for Python'ı V4 imza algoritmasıyla başlatırken uç noktayı belirtmeniz gerekir. Bu örnekte Çin (Hangzhou) bölgesinin genel uç noktası https://oss-cn-hangzhou.aliyuncs.com kullanılmaktadır. OSS ile aynı bölgedeki diğer Alibaba Cloud hizmetlerinden OSS'ye erişmek istiyorsanız dahili uç nokta kullanın. Diğer bölgelerin genel uç noktaları hakkında daha fazla bilgi için bkz. Bölgeler ve uç noktalar.

  • V4 imza algoritmasını kullanıyorsanız isteğin başlatıldığı bölgenin tanımlayıcısı olarak bir Alibaba Cloud Bölge Kimliği belirtmeniz gerekir. Bu örnekte Çin (Hangzhou) bölgesinin bölge kimliği cn-hangzhou kullanılmaktadır. Diğer bölgelerin bölge kimlikleri hakkında daha fazla bilgi için bkz. Bölgeler ve uç noktalar.

Aşağıdaki örnek kod, bir OSS uç noktası kullanarak V4 imza algoritmasıyla OSS SDK for Python'ın nasıl başlatılacağını gösterir:

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

# Obtain access credentials from environment variables. Before you run the sample code, make sure that the environment variables are configured. 
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 = 'yourEndpoint'
# Specify the region of the endpoint. Example: cn-hangzhou. 
region = 'cn-hangzhou'

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

(Önerilmez) V1 imza algoritmasını kullanma

Önemli

1 Mart 2025'ten itibaren Alibaba Cloud Object Storage Service (OSS), yeni kullanıcılar (yani yeni UID'ler) için V1 imzasını sunmamaktadır. 1 Eylül 2025'ten itibaren OSS, V1 imzasını güncellemeyi ve sürdürmeyi durduracak ve yeni nesne depolama paketleri için V1 imzasını sunmayacaktır. Hizmet kesintilerini önlemek için mümkün olan en kısa sürede V4 imzasına geçin. Daha fazla bilgi için bkz. Duyuru.

Aşağıdaki örnek kod, bir OSS uç noktası kullanarak V1 imza algoritmasıyla OSS SDK for Python'ın nasıl başlatılacağını gösterir:

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

# Obtain access credentials from environment variables. Before you run the sample code, make sure that the environment variables are configured. 
auth = oss2.ProviderAuth(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 = 'yourEndpoint'

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

Yaygın senaryolarda yapılandırma örnekleri

Bu bölümde yaygın senaryolara yönelik yapılandırma örnekleri sunulmaktadır. Örnek kod, varsayılan olarak V4 imza algoritmasını ve RAM kullanıcısının AccessKey çiftini kullanarak OSS SDK for Python'ı başlatır.

Dahili uç nokta kullanarak OSS SDK for Python'ı başlatma

Uygulamalarınız bir ECS örneğinde dağıtılıyorsa ve ECS örneğiyle aynı bölgedeki bir paketteki OSS verilerine sık sık erişmeniz gerekiyorsa ağ gecikme süresini ve bant genişliği maliyetlerini önemli ölçüde azaltmak için dahili uç nokta kullanın.

Aşağıdaki örnek kod, bir OSSClient örneğini yapılandırmak için dahili uç noktanın nasıl kullanılacağını gösterir:

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

# Obtain access credentials from environment variables. Before you run the sample code, make sure that the environment variables are configured. 
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-internal.aliyuncs.com. 
endpoint = 'yourEndpoint'
# Specify the region of the endpoint. Example: cn-hangzhou. 
region = 'cn-hangzhou'

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

Özel alan adı kullanarak OSS SDK for Python'ı başlatma

Farklı kullanım amaçları için birden fazla paketiniz varsa kaynakları daha iyi yönetmek ve organize etmek için her paket için farklı alt alan adları belirtebilirsiniz.

Aşağıdaki örnek kod, bir OSSClient örneğini yapılandırmak için özel alan adının nasıl kullanılacağını gösterir.

Uyarı

Önce özel alan adını paketin varsayılan alan adıyla eşleştirmeniz gerekir. Aksi takdirde hata bildirilir. Özel alan adını bir paketin varsayılan alan adıyla nasıl eşleştireceğiniz hakkında daha fazla bilgi için bkz. Özel alan adı aracılığıyla OSS'ye erişme.

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

# Obtain access credentials from environment variables. Before you run the sample code, make sure that the environment variables are configured. 
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
// Specify a custom domain name. Example: https://static.example.com. 
endpoint = 'yourEndpoint'
# Specify the region of the endpoint. Example: cn-hangzhou. 
region = 'cn-hangzhou'

# Specify the name of the bucket. Set is_cname to true to enable CNAME.
bucket = oss2.Bucket(auth, endpoint, 'examplebucket', is_cname=True, region=region) 

Bağlantı zaman aşımı süresini yapılandırma

Aşağıdaki örnek kod, bağlantı zaman aşımı süresinin nasıl yapılandırılacağını gösterir:

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

# We recommend that you do not save access credentials in the project code. Otherwise, access credentials may be leaked. As a result, the security of all resources in your account is compromised. In this example, access credentials are obtained from environment variables. Before you run the sample code, make sure that the environment variables are configured. 
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 region of the endpoint. Example: cn-hangzhou. This parameter is required if you use the V4 signature algorithm.
region = "cn-hangzhou"

# Specify the name of the bucket and set the connection timeout period to 30 seconds. 
bucket = oss2.Bucket(auth, endpoint, 'examplebucket', connect_timeout=30,region=region)                    

CRC-64'ü devre dışı bırakma

Nesneleri yüklerken veya indirirken veri bütünlüğünü sağlamak için varsayılan olarak CRC-64 etkindir.

Uyarı

CRC-64'ü devre dışı bırakmanızı önermiyoruz. CRC-64'ü devre dışı bırakırsanız nesneleri yüklerken veya indirirken veri bütünlüğü etkilenebilir.

Aşağıdaki örnek kod, CRC-64'ün nasıl devre dışı bırakılacağını gösterir:

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

# We recommend that you do not save access credentials in the project code. Otherwise, access credentials may be leaked. As a result, the security of all resources in your account is compromised. In this example, access credentials are obtained from environment variables. Before you run the sample code, make sure that the environment variables are configured. 
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 region of the endpoint. Example: cn-hangzhou. This parameter is required if you use the V4 signature algorithm.
region = "cn-hangzhou"

# Specify the name of the bucket and set enable_crc to False to disable CRC-64. 
bucket = oss2.Bucket(auth, endpoint, 'examplebucket', enable_crc=False,region=region)                   

Bağlantı havuzu boyutunu belirtme

Aşağıdaki örnek kod, bağlantı havuzu boyutunun nasıl belirtileceğini gösterir:

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

# We recommend that you do not save access credentials in the project code. Otherwise, access credentials may be leaked. As a result, the security of all resources in your account is compromised. In this example, access credentials are obtained from environment variables. Before you run the sample code, make sure that the environment variables are configured. 
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 region of the endpoint. Example: cn-hangzhou. This parameter is required if you use the V4 signature algorithm.
region = "cn-hangzhou"

# Specify the connection pool size. Default value: 10. 
session = oss2.Session(pool_size=20)

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

TLS sürümünü belirtme

Farklı Transport Layer Security (TLS) sürümlerinin farklı güvenlik ve performans özellikleri vardır. Senaryonuza göre bir TLS sürümü seçin.

Not

TLS sürümünü OSS SDK for Python 2,18,1 veya sonraki sürümlerde belirtebilirsiniz.

Aşağıdaki örnek kod, TLS sürümünün 1,2 olarak nasıl ayarlanacağını gösterir:

# -*- coding: utf-8 -*-
import ssl
import oss2
from requests.adapters import HTTPAdapter
from oss2.credentials import EnvironmentVariableCredentialsProvider

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

# Configure the SSL adapter. 
class SSLAdapter(HTTPAdapter):
    def init_poolmanager(self, *args, **kwargs):
        # Set the TLS version to 1.2. 
        kwargs["ssl_version"] = ssl.PROTOCOL_TLSv1_2
        return super().init_poolmanager(*args, **kwargs)

# Create a session object and configure the adapter by using the session object. 
session = oss2.Session(adapter=SSLAdapter())

# 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 region of the endpoint. Example: cn-hangzhou. This parameter is required if you use the V4 signature algorithm.
region = "cn-hangzhou"

# Specify the name of the bucket. Example: examplebucket. 
bucket = oss2.Bucket(auth, endpoint, 'examplebucket', session=session, region=region)

# Upload an object. 
bucket.put_object("example.txt", "hello")

oss2.Bucket sınıfı tarafından desteklenen parametreler

Aşağıdaki tabloda oss2.Bucket sınıfını başlatırken yapılandırabileceğiniz parametreler açıklanmaktadır.

Parametre

Örnek

Açıklama

Yöntem

is_cname

True

Uç noktanın özel bir alan adı olup olmadığını belirtir. Geçerli değerler:

  • True

  • False (varsayılan)

oss2.Bucket(auth, cname, 'examplebucket', is_cname=True, region=region)

session

mytestsession

Oturumun adı; yeni bir oturumun başlatıldığını belirtir. Varsayılan değer: None. Bu parametreyi mevcut bir oturumun adına ayarlarsanız oturum yeniden kullanılır.

oss2.Bucket(auth, endpoint, 'examplebucket', session=oss2.Session(), region=region)

connect_timeout

30

Bağlantı zaman aşımı süresi. Varsayılan değer: 60. Birim: saniye.

oss2.Bucket(auth, endpoint, 'examplebucket', connect_timeout=30, region=region)

app_name

mytool

OSS SDK for Python'ı kullanan uygulamanın adı. Varsayılan olarak bu parametre boştur. Parametre boş değilse User-Agent alanında karşılık gelen değeri belirtin.

Önemli

Dize bir HTTP üst bilgi değeri olarak geçirilir ve HTTP standartlarına uygun olmalıdır.

oss2.Bucket(auth, endpoint, 'examplebucket', app_name='mytool', region=region)

enable_crc

False

CRC-64'ün etkinleştirilip etkinleştirilmeyeceğini belirtir.

  • True (varsayılan)

  • False

oss2.Bucket(auth, endpoint, 'examplebucket', enable_crc=False, region=region)

SSS

Paketin bulunduğu bölgedeki diğer Alibaba Cloud hizmetlerini kullanarak OSS'ye erişmek istiyorsam veri aktarımını hızlandırmak için dahili uç nokta kullanabilir miyim?

Evet, veri aktarımını hızlandırmak için dahili uç nokta kullanabilirsiniz. Veri aktarımı gereksinimleriniz varsa OSS ile aynı bölgedeki ECS örnekleri gibi diğer Alibaba Cloud hizmetlerini kullanarak OSS'ye erişmenizi öneririz. Daha fazla bilgi için bkz. Aynı bölgedeki ECS örneklerinden erişim.

Bir RAM kullanıcısının AccessKey ID'sini nasıl görüntülerim? Eski bir AccessKey çiftinin AccessKey secret değerini görüntüleyebilir miyim?

  1. Bir RAM kullanıcısının AccessKey ID'sini görüntülemek için RAM konsolunda oturum açın.

  2. Bir RAM kullanıcısının AccessKey secret değeri yalnızca AccessKey çifti oluşturulduğunda görüntülenir. AccessKey çiftini daha sonra görüntüleyemezsiniz. AccessKey secret değerini unuttuysanız geri alamazsınız. RAM konsolunda doğrudan belirli bir RAM kullanıcısını seçebilir ve döndürme için yeni bir AccessKey çifti oluşturabilirsiniz. Daha fazla bilgi için bkz. AccessKey çifti oluşturma.

Bir hata bildirilirse hatanın belirli türünü nasıl belirlerim?

OSS, hatanın belirli türünü belirlemenize yardımcı olmak için Hata kodları sağlar. Örneğin, yaygın kimlik doğrulama hataları için bkz. 02-AUTH.