すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:OSS SDK for Pythonの使用を開始する

最終更新日:Feb 26, 2024

このトピックでは、Object Storage Service (OSS) SDK for Pythonを使用して、バケットの作成、オブジェクトのアップロード、オブジェクトのダウンロードなどのルーチン操作を実行する方法について説明します。

ビデオチュートリアル

次のビデオは、OSS SDK for Pythonの使用方法を示しています。

バケットを作成する

バケットは OSS のグローバルネームスペースです。 バケットは、オブジェクトを格納するために使用されるコンテナです。

説明

エンドポイントの詳細については、「リージョンおよびエンドポイント」をご参照ください。 バケットの命名規則の詳細については、用語トピックのバケットセクションを参照してください。

次のサンプルコードは、バケットの作成方法の例を示しています。

# -*-コーディング: utf-8 -*-
oss2のインポート
oss2.credentialsからEnvironmentVariableCredentialsProviderをインポート

# 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 
# バケットの名前を指定します。 
bucket = oss2.Bucket(auth, 'https:// oss-cn-hangzhou.aliyuncs.com ', 'yourBucketName')

# バケットのアクセス制御リスト (ACL) をprivateに設定します。 
bucket.create_bucket(oss2.models.BUCKET_ACL_PRIVATE) 

バケットの作成方法の詳細については、「バケットの作成」をご参照ください。

オブジェクトのアップロード

次のサンプルコードは、ストリーミングアップロードを使用してオブジェクトをOSSにアップロードする方法の例を示しています。

# -*-コーディング: utf-8 -*-
oss2のインポート
oss2.credentialsからEnvironmentVariableCredentialsProviderをインポート
# 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 
# バケットの名前を指定します。 
bucket = oss2.Bucket(auth, 'https:// oss-cn-hangzhou.aliyuncs.com ', 'yourBucketName')

# オブジェクトをOSSにアップロードします。 
# yourObjectNameをオブジェクトへの完全パスに置き換えます。 拡張子をフルパスに含めます。 バケット名をフルパスに含めないでください。 例: abc/efg/123.jpg. 
# yourLocalFileNameをローカルファイルへのフルパスに置き換えます。 ファイル名と拡張子をフルパスに含めます。 例: /users/local/myfile.txt 
bucket.put_object_from_file('yourObjectName', 'yourLocalFile ') 

オブジェクトのダウンロード

次のサンプルコードは、特定のオブジェクトをコンピュータにダウンロードする方法の例を示しています。

# -*-コーディング: utf-8 -*-
oss2のインポート
oss2.credentialsからEnvironmentVariableCredentialsProviderをインポート

# 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 
# バケットの名前を指定します。 
bucket = oss2.Bucket(auth, 'https:// oss-cn-hangzhou.aliyuncs.com ', 'yourBucketName')

# オブジェクトをコンピュータにダウンロードします。 
# yourObjectNameをオブジェクトへの完全パスに置き換えます。 拡張子をフルパスに含めます。 バケット名をフルパスに含めないでください。 例: abc/efg/123.jpg. 
# yourLocalFileNameをローカルファイルへのフルパスに置き換えます。 ファイル名と拡張子をフルパスに含めます。 例: /users/local/myfile.txt 
bucket.get_object_to_file('yourObjectName', 'yourLocalFile ') 

オブジェクトの一覧表示

次のサンプルコードは、特定のバケットに10個のオブジェクトを一覧表示する方法の例を示しています。

# -*-コーディング: utf-8 -*-
oss2のインポート
oss2.credentialsからEnvironmentVariableCredentialsProviderをインポート
itertools import isliceから

# 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 
# バケットの名前を指定します。 
bucket = oss2.Bucket(auth, 'https:// oss-cn-hangzhou.aliyuncs.com ', 'yourBucketName')

# oss2.ObjectIteratorrはオブジェクトのトラバースに使用されます。 
isliceのbの場合 (oss2.ObjectIterator(bucket) 、10):
    プリント (b. キー) 

オブジェクトの削除

次のサンプルコードは、オブジェクトを削除する方法の例を示しています。

# -*-コーディング: utf-8 -*-
oss2のインポート
oss2.credentialsからEnvironmentVariableCredentialsProviderをインポート

# 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 
# バケットの名前を指定します。 
bucket = oss2.Bucket(auth, 'https:// oss-cn-hangzhou.aliyuncs.com ', 'yourBucketName')

# yourObjectNameをオブジェクトへの完全パスに置き換えます。 拡張子をフルパスに含めます。 バケット名をフルパスに含めないでください。 例: abc/efg/123.jpg. 
bucket.de lete_object('yourObjectName') 

オブジェクトを削除する方法の詳細については、「オブジェクトの削除」をご参照ください。