0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでAWS S3のファイルを一時認証情報(STS)を使ってダウンロードする

Posted at

AWS S3のファイルをSTSの一時認証情報を使ってダウンロードするPythonコードサンプルをまとめます。

一時認証情報は事前に取得できていると仮定します。

最初に以下コマンドでboto3ライブラリを追加します。

pip install boto3

下記のPythonスクリプトを実行することでAWS S3からファイルをダウンロードすることができます。

コード内で以下のパラメタの値を適宜書き換えてください

  • 事前に取得した一時認証情報
    • アクセスキー
    • シークレットアクセスキー
    • セッショントークン
  • ダウンロードするファイルの
    • バケット名
    • オブジェクトキー
  • 保存ファイル名
import boto3
from botocore.exceptions import NoCredentialsError

# アクセスキー、シークレットアクセスキー、セッショントークンを指定します
access_key = 'your-access-key'
secret_access_key = 'your-secret-access-key'
session_token = 'your-session-token'

# S3のクライアントを作成します
s3_client = boto3.client(
    's3',
    aws_access_key_id=access_key,
    aws_secret_access_key=secret_access_key,
    aws_session_token=session_token
)

def download_from_s3(bucket_name, object_key, local_filename):
    try:
        # S3のオブジェクトをダウンロードします
        with open(local_filename, 'wb') as f:
            s3_client.download_fileobj(Bucket=bucket_name, Key=object_key, Fileobj=f)
        print(f'{local_filename} にダウンロード完了しました。')
    except NoCredentialsError:
        print("認証情報が見つかりません。")
    except Exception as e:
        print(f'エラーが発生しました: {e}')

# バケット名、オブジェクトキーを設定します
bucket_name = 'your-bucket-name'
object_key = 'your-object-key'
local_filename = 'downloaded_file.ext'

# ファイルをダウンロードします
download_from_s3(bucket_name, object_key, local_filename)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?