10.3. 测试 S3 访问


您需要编写并运行 Python 测试脚本来验证 S3 访问权限。S3 访问测试脚本将连接到 radosgw,创建一个新 bucket 并列出所有存储桶。aws_access_key_idaws_secret_access_key 的值取自 radosgw_admin 命令返回的 access_keysecret_key 的值。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 对节点的根级别访问权限。

流程

  1. 为 Red Hat Enterprise Linux 9 启用高可用性软件仓库:

    subscription-manager repos --enable=rhel-9-for-x86_64-highavailability-rpms
  2. 安装 python3-boto3 软件包:

    dnf install python3-boto3
  3. 创建 Python 脚本:

    vi s3test.py
  4. 在文件中添加以下内容:

    语法

    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']
    ))

    1. 使用配置了网关服务的主机的 URL 替换 endpoint。也就是说,网关主机。确保 host 使用 DNS 解析。使用网关的端口号替换 PORT
    2. 使用 Red Hat Ceph Storage 对象网关指南中的 创建 S3 用户 部分中的 access_keysecret_key 值替换 ACCESSSECRET
  5. 运行脚本:

    python3 s3test.py

    输出结果类似如下:

    my-new-bucket 2022-05-31T17:09:10.000Z
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.