第 2 章 使用笔记本单元创建 Amazon S3 客户端
要与 Amazon S3 存储桶中的数据交互,您必须创建一个本地客户端来处理对该服务的请求。
先决条件
- 访问在 Red Hat OpenShift Data Science 上运行的 Jupyter 笔记本服务器。
-
在启动笔记本服务器时使用您的 Amazon Web Services 帐户中的值,使用 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())}