電子技術論壇_中國專業的電子工程師學習交流社區-中電網技術論壇's Archiver

look_w 發表于 2019-5-18 10:33

使用ceph的對象存儲(4)

測試訪問 S3 接口

參照官方文檔,我們需要編寫一個 Python 測試腳本,該腳本將會連接 radosgw,然后新建一個新的 bucket 再列出所有的 buckets。腳本變量 aws_access_key_id 和 aws_secret_access_key 的值就是上邊返回值中的 access_key 和 secret_key。

首先,我們需要安裝 python-boto 包,用于測試連接 S3。

sudo yum install python-boto



然后,編寫 python 測試腳本。

vi s3.py



輸入如下內容:

import boto
import boto.s3.connection
access_key = 'ZN23EX4KO0GHN2O5E5F9'
secret_key = 'OJRYntMXZv3u5xDZK8aPyAlLaChIxdvma9WPX9FO'
conn = boto.connect_s3(
    aws_access_key_id = access_key,
    aws_secret_access_key = secret_key,
    host = 'admin', port=7480,
    is_secure=False,
    calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
bucket = conn.create_bucket('my-first-s3-bucket')
for bucket in conn.get_all_buckets():
        print "{name}\t{created}".format(
                name = bucket.name,
                created = bucket.creation_date,
)


注意:這里使用了python-boto 包,使用認證信息連接 S3,然后創建了一個 my-first-s3-bucket 的 bucket,最后列出所有已創建的 bucket,打印名稱和創建時間。

最后,執行腳本,看下結果是否正確。

[zzq@localhost ~]$ python s3.py
my-first-s3-bucket  2018-05-31T15:09:02.000Z
[zzq@localhost ~]$



測試通過。
刪除S3用戶

radosgw-admin  user rm --uid=rgwuser


權限調整

允許rgwuser讀寫users信息:

radosgw-admin caps add --uid=rgwuser --caps="users=*"



允許admin讀寫所有的usage信息:

radosgw-admin caps add --uid=rgwuser --caps="usage=read,write"


創建 Swift 用戶

要通過 Swift 訪問對象網關,需要 Swift 用戶,我們創建subuser作為子用戶。
使用命令

sudo radosgw-admin subuser create --uid=rgwuser --subuser=rgwuser:swift --access=full
#創建密鑰
sudo radosgw-admin key create --subuser=rgwuser:swift --key-type=swift --gen-secret



輸出如下:

{
    "user_id": "rgwuser",
    "display_name": "This is first rgw test user",
    "email": "",
    "suspended": 0,
    "max_buckets": 1000,
    "auid": 0,
    "subusers": [
        {
            "id": "rgwuser:swift",
            "permissions": "full-control"
        }
    ],
    "keys": [
        {
            "user": "rgwuser:swift",
            "access_key": "DPLAX7KKAFTICHGIEQU4",
            "secret_key": ""
        },
        {
            "user": "rgwuser",
            "access_key": "ZN23EX4KO0GHN2O5E5F9",
            "secret_key": "OJRYntMXZv3u5xDZK8aPyAlLaChIxdvma9WPX9FO"
        }
    ],
    "swift_keys": [
        {
            "user": "rgwuser:swift",
            "secret_key": "ja3mxJTGD7tvFsK1tVL8qScWPp2Wn657Jo4h4vLv"
        }
    ],
    "caps": [],
    "op_mask": "read, write, delete",
    "default_placement": "",
    "placement_tags": [],
    "bucket_quota": {
        "enabled": false,
        "max_size_kb": -1,
        "max_objects": -1
    },
    "user_quota": {
        "enabled": false,
        "max_size_kb": -1,
        "max_objects": -1
    },
    "temp_url_keys": []
}


注意:返回的 Json 值中,我們要記住swift_keys中的secret_key 因為下邊我們測試訪問 Swift 接口時需要使用。

頁: [1]

Powered by eccn 7.0.0  © 2001-2009 Eccn Inc.

成茄子视频人app污下载-茄子视频ios下载安装-茄子视频懂你更多qz8app懂你更多