3장. 노트북 셀을 사용하여 Amazon S3 클라이언트 생성

Amazon S3 버킷의 데이터와 상호 작용하려면 해당 서비스에 대한 요청을 처리할 로컬 클라이언트를 생성해야 합니다.

사전 요구 사항

  • Red Hat OpenShift Data Science에서 실행되는 sendpyter 노트북 서버에 액세스할 수 있습니다.
  • 내 보안 자격 증명 아래의 Amazon Web Services 계정 값을 사용하여 노트북 서버를 시작할 때 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 환경 변수의 값을 정의합니다.

절차

  1. 새 노트북 셀에서 다음을 추가하여 필요한 라이브러리를 가져옵니다.

    import os
    import boto3
    from boto3 import session
  2. 다른 새 노트북 셀에서 세션 및 클라이언트를 생성하려면 다음을 정의합니다.

    1. 인증 정보를 정의합니다.

      key_id = os.environ.get('AWS_ACCESS_KEY_ID')
      secret_key = os.environ.get('AWS_SECRET_ACCESS_KEY')
    2. 클라이언트 세션을 정의합니다.

      session = boto3.session.Session(aws_access_key_id=key_id, aws_secret_access_key=secret_key)
    3. 클라이언트 연결을 정의합니다.

      s3_client = boto3.client('s3', aws_access_key_id=key_id, aws_secret_access_key=secret_key)

검증

  • 새 셀을 생성하고 다음과 같은 Amazon S3 명령을 실행합니다.

    s3_client.list_buckets()

    성공적인 응답에는 200HTTPStatusCode 와 다음과 유사한 Bucket 목록이 포함됩니다.

     'Buckets': [{'Name': 'my-app-asdf3-image-registry-us-east-1-wbmlcvbasdfasdgvtsmkpt',
       'CreationDate': datetime.datetime(2021, 4, 21, 6, 8, 52, tzinfo=tzlocal())},
      {'Name': 'cf-templates-18rxasdfggawsvb-us-east-1',
       'CreationDate': datetime.datetime(2021, 2, 15, 18, 35, 34, tzinfo=tzlocal())}