第2章 ノートブックセルを使用した Amazon S3 クライアントの作成
Amazon S3 バケットでデータを操作するには、そのサービスに対する要求を処理するローカルクライアントを作成する必要があります。
前提条件
- Red Hat OpenShift Data Science で実行している Jupyter ノートブックサーバーへのアクセス。
-
My Security Credentials の Amazon Web Services アカウントの値を使用して、ノートブックサーバーの起動時に
AWS_ACCESS_KEY_ID
およびAWS_SECRET_ACCESS_KEY
環境変数の値を定義している。
手順
新しいノートブックセルで、以下を追加して必要なライブラリーをインポートします。
import os import boto3 from boto3 import session
別の新規ノートブックセルで、以下を定義してセッションとクライアントを作成します。
認証情報を定義します。
key_id = os.environ.get('AWS_ACCESS_KEY_ID') secret_key = os.environ.get('AWS_SECRET_ACCESS_KEY')
クライアントセッションを定義します。
session = boto3.session.Session(aws_access_key_id=key_id, aws_secret_access_key=secret_key)
クライアント接続を定義します。
s3_client = boto3.client('s3', aws_access_key_id=key_id, aws_secret_access_key=secret_key)
検証
新しいセルを作成し、以下のような Amazon S3 コマンドを実行します。
s3_client.list_buckets()
正常な応答には、
HTTPStatusCode
200
と以下のようなBuckets
のリストが含まれます。'Buckets': [{'Name': 'my-app-asdf3-image-registry-us-east-1-wbmlcvbasdfasdgvtsmkpt', 'CreationDate': datetime.datetime(2021, 4, 21, 6, 8, 52, tzinfo=tzlocal())}, {'Name': 'cf-templates-18rxasdfggawsvb-us-east-1', 'CreationDate': datetime.datetime(2021, 2, 15, 18, 35, 34, tzinfo=tzlocal())}