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

Object Storage Service:オブジェクトをファイルとしてダウンロード

最終更新日:Feb 26, 2024

このトピックでは、Object Storage Service (OSS) オブジェクトをバケットからローカルコンピューターにダウンロードする方法について説明します。

使用上の注意

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

  • このトピックでは、アクセス資格情報は環境変数から取得します。 アクセス資格情報の設定方法の詳細については、「アクセス資格情報の設定」をご参照ください。

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

  • オブジェクトをローカルファイルとしてダウンロードするには、oss:GetObject権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。

サンプルコード

次のサンプルコードは、examplebucketのtestfolderディレクトリにあるexampleobject.txtをローカルコンピューターにダウンロードし、examplefile.txtとしてD:\localpathに保存する方法の例を示しています。

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

# Alibaba CloudアカウントのAccessKeyペアには、すべてのAPI操作に対する権限があります。 これらの資格情報を使用してOSSで操作を実行することは、リスクの高い操作です。 RAMユーザーを使用してAPI操作を呼び出したり、ルーチンのO&Mを実行することを推奨します。RAMユーザーを作成するには、RAMコンソールにログインします。 
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# この例では、中国 (杭州) リージョンのエンドポイントが使用されます。 実際のエンドポイントを指定します。 
# バケットの名前を指定します。 例: examplebucket. 
bucket = oss2.Bucket(auth, 'http:// oss-cn-hangzhou.aliyuncs.com ', 'examplebucket')

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

参考資料

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

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