10.3. 测试 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 9 启用高可用性软件仓库:
subscription-manager repos --enable=rhel-9-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
。也就是说,网关主机
。确保host
使用 DNS 解析。使用网关的端口号替换PORT
。 -
使用 Red Hat Ceph Storage 对象网关指南中的 创建 S3 用户 部分中的
access_key
和secret_key
值替换ACCESS
和SECRET
。
-
使用配置了网关服务的主机的 URL 替换
运行脚本:
python3 s3test.py
输出结果类似如下:
my-new-bucket 2022-05-31T17:09:10.000Z