このトピックでは、Object Storage Service (OSS) のバケットからオブジェクトをローカルファイルにダウンロードする方法について説明します。
権限
デフォルトでは、Alibaba Cloud アカウントはすべての権限を持ちます。 Alibaba Cloud アカウント下の RAM ユーザーまたは RAM ロールは、デフォルトではいかなる権限も持ちません。 Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを介して操作権限を付与する必要があります。
API | アクション | 定義 |
GetObject |
| オブジェクトをダウンロードします。 |
| オブジェクトをダウンロードする際に versionId を通じてオブジェクトのバージョンを指定する場合、この権限が必要です。 | |
| オブジェクトをダウンロードする際に、オブジェクトのメタデータに X-Oss-Server-Side-Encryption: KMS が含まれている場合、この権限が必要です。 |
サンプルコード
次のコードは、examplebucket バケットから exampleobject.txt オブジェクトをダウンロードし、D:\localpath ディレクトリに examplefile.txt として保存する方法を示しています。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# 中国 (杭州) リージョンを例として使用します。 実際の値に置き換えてください。
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# 環境変数からアクセス認証情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# バケット名を指定します。 例: examplebucket
bucket = client.get_bucket('examplebucket')
# オブジェクトをローカルファイルにダウンロードします。
bucket.get_object('exampleobject.txt', :file => 'D:\\localpath\\examplefile.txt')関連ドキュメント
GetObject API 操作の詳細については、「GetObject」をご参照ください。