8.4. 测试 S3 访问
您需要编写并运行 Python 测试脚本来验证 S3 访问权限。S3 访问测试脚本将连接到 radosgw
,创建一个新 bucket 并列出所有存储桶。aws_access_key_id
和 aws_secret_access_key
的值取自 radosgw_admin
命令返回的 access_key
和 secret_key
的值。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 对节点的根级别访问权限。
流程
为 Red Hat Enterprise Linux 8 启用高可用性软件仓库:
subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpms
安装
python3-boto3
软件包:dnf install python3-boto3
创建 Python 脚本:
vi s3test.py
在文件中添加以下内容:
语法
import boto3 endpoint = "" # enter the endpoint URL along with the port "http://URL:PORT" access_key = 'ACCESS' secret_key = 'SECRET' s3 = boto3.client( 's3', endpoint_url=endpoint, aws_access_key_id=access_key, aws_secret_access_key=secret_key ) s3.create_bucket(Bucket='my-new-bucket') response = s3.list_buckets() for bucket in response['Buckets']: print("{name}\t{created}".format( name = bucket['Name'], created = bucket['CreationDate'] ))
-
使用您配置网关服务的主机的 URL 替换
endpoint
。也就是说,网关主机
。确定主机设置
通过 DNS 解析。使用网关的端口号替换PORT
。 -
使用 Red Hat Ceph Storage Object Gateway Guide 中的 Create a S3 User 部分,将
ACCESS
和SECRET
替换为access_key
和secret_key
值。
-
使用您配置网关服务的主机的 URL 替换
运行脚本:
python3 s3test.py
输出结果类似如下:
my-new-bucket 2022-05-31T17:09:10.000Z