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

Object Storage Service:OSS SDK for Python 1.0 を使用してオブジェクトをファイルとしてダウンロードする

最終更新日:Aug 16, 2025

このトピックでは、バケットからローカルファイルにオブジェクトをダウンロードする方法について説明します。

使用上の注意

  • このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用しています。 OSS と同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用します。 OSS のリージョンとエンドポイントの詳細については、「OSS のリージョンとエンドポイント」をご参照ください。

  • このトピックでは、アクセス認証情報は環境変数から取得されます。 アクセス認証情報を設定する方法の詳細については、「OSS SDK for Python 1.0 を使用してアクセス認証情報を設定する」をご参照ください。

  • このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスを作成します。 カスタムドメイン名または Security Token Service (STS) を使用して OSSClient インスタンスを作成する場合は、「初期化」をご参照ください。

サンプルコード

次のコードは、examplebucket バケットの testfolder ディレクトリから exampleobject.txt オブジェクトをダウンロードし、ローカルコンピュータの D:\localpath ディレクトリに examplefile.txt として保存する例を示しています。

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

# サーバーオブジェクトを作成します。
# 環境変数からアクセス認証情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合は、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"

# エンドポイントにマッピングされるリージョンの ID を指定します。 例: cn-hangzhou。 このパラメータは、署名アルゴリズム V4 を使用する場合は必須です。
region = "cn-hangzhou"

# バケットの名前を指定します。
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)

# オブジェクトの完全なパスを指定します。 完全なパスにバケット名を含めないでください。 例: testfolder/exampleobject.txt。
# オブジェクトをローカルコンピュータにダウンロードし、D:\\localpath\\examplefile.txt パスに保存します。 同じ名前のファイルが既に存在する場合は、ダウンロードされたオブジェクトによってファイルが上書きされます。 同じ名前のファイルが存在しない場合は、ダウンロードされたオブジェクトがパスに保存されます。
bucket.get_object_to_file('testfolder/exampleobject.txt', 'D:\\localpath\\examplefile.txt')        

print("ダウンロード完了。")

参照

  • オブジェクトをローカルファイルとしてダウンロードするために使用される完全なサンプルコードについては、GitHub をご覧ください。

  • オブジェクトをローカルファイルとしてダウンロードするために呼び出すことができる API 操作の詳細については、「GetObject」をご参照ください。