검색

2.13.3. S3 액세스 테스트

download PDF

S3 액세스를 확인하기 위해 Python 테스트 스크립트를 작성하고 실행해야 합니다. S3 액세스 테스트 스크립트는 radosgw 에 연결하고 새 버킷을 생성하고 모든 버킷을 나열합니다. aws_access_key_idaws_secret_access_key 의 값은 radosgw _admin 명령에서 반환한 access _key 및 secret _ key 값에서 가져옵니다.

참고

출력에 메타데이터를 유지 관리하기 위한 추가 json 필드가 포함되어 있으므로 시스템 사용자에게는 전체 영역에 대한 root 권한이 있어야 합니다.

사전 요구 사항

  • root 또는 sudo 액세스.
  • Ceph 개체 게이트웨이가 설치되어 있어야 합니다.
  • S3 사용자가 생성되었습니다.

절차

  1. Red Hat Enterprise Linux 7용 공통 리포지토리 및 Red Hat Enterprise Linux 8용 High Availability 리포지토리를 활성화합니다.

    Red Hat Enterprise Linux 7

    # subscription-manager repos --enable=rhel-7-server-rh-common-rpms

    Red Hat Enterprise Linux 8

    # subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpms

  2. python-boto 패키지를 설치합니다.

    Red Hat Enterprise Linux 7

    # yum install python-boto

    Red Hat Enterprise Linux 8

    # dnf install python3-boto3

  3. Python 스크립트를 생성합니다.

    vi s3test.py
  4. 파일에 다음 내용을 추가합니다.

    Red Hat Enterprise Linux 7

    import boto
    import boto.s3.connection
    
    access_key = 'ACCESS'
    secret_key = 'SECRET'
    
    boto.config.add_section('s3')
    
    conn = boto.connect_s3(
            aws_access_key_id = access_key,
            aws_secret_access_key = secret_key,
            host = 's3.ZONE.hostname',
            port = PORT,
            is_secure=False,
            calling_format = boto.s3.connection.OrdinaryCallingFormat(),
            )
    
    bucket = conn.create_bucket('my-new-bucket')
    for bucket in conn.get_all_buckets():
    	print "{name}\t{created}".format(
    		name = bucket.name,
    		created = bucket.creation_date,
    )

    Red Hat Enterprise Linux 8

    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. ZONE 을 게이트웨이 서비스를 구성한 호스트의 영역 이름으로 바꿉니다. 즉 게이트웨이 호스트입니다. host'setting이 DNS로 확인되는지 확인합니다. PORT 을 게이트웨이의 포트 번호로 바꿉니다.
    2. ACCESSSECRETRed Hat Ceph Storage 개체 게이트웨이 구성 및 관리 가이드의 S3 사용자 만들기 섹션의 access _key secret_key 값으로 바꿉니다.
  5. 스크립트를 실행합니다.

    Red Hat Enterprise Linux 7

    python s3test.py

    Red Hat Enterprise Linux 8

    python3 s3test.py

    출력 예:

    my-new-bucket 2021-08-16T17:09:10.000Z
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.