관리 메뉴

JIHYUN JEONG

[Spotify Data Analysis/스포티파이 데이터 분석] 파이썬 AWS Dynamo DB 연결 + boto3 (3) 본문

Data Science/Data Analysis

[Spotify Data Analysis/스포티파이 데이터 분석] 파이썬 AWS Dynamo DB 연결 + boto3 (3)

StopHyun 2020. 3. 17. 11:55

파이썬 boto3 패키지를 활용하여 AWS DynamoDB에 연결해보겠습니다.

 

1. 우선 AWS에 로그인 후 DynamoDB를 생성합니다.

 

 

 

 

 

2. 테이블 이름은 원하는 이름을 주고 기본 키(Primary)를 무엇으로 할지 정합니다. 생성시 프리티어로 설정합니다. (과금방지)

3. 생성이 완료 되었으면 아래와 같이 테이블이 생성됩니다.

 

 

 

 

 

4. 이제 boto3 모듈을 아래의 명령어로 설치합니다. 사용 방법은 아래 공식 Document를 참고 합니다.

- pip3 install boto3

 

https://boto3.amazonaws.com/v1/documentation/api/latest/index.html

 

Boto 3 Documentation — Boto 3 Docs 1.12.22 documentation

 

boto3.amazonaws.com

 

5. 모듈을 설치하고 AWS DynamoDB에 access 해보겠습니다. AWS Access Key ID를 발급 받기 위해서는 먼저 IAM > 사용자 추가를 해야 합니다. 추가를 하게 되면 AWS Access Key, AWS Secret Access Key를 얻을수 있습니다.

 

- 먼저 boto3로 DynamoDB에 연동 하기 위해서는 해당 aws configure에 설정이 정확히 되어 있어야 합니다.

- configure가 안되어 있다면 아래 명령어를 통해서 congigure 작업을 실시 합니다.

 

- 프로파일 생성 방법은 아래 공식 document 참고

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-chap-configure.html

 

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-chap-configure.html

 

docs.aws.amazon.com

 

[터미널 화면]

jihyun@jihyunjeongui-MacBook-Pro:~/aws% aws2 configure
AWS Access Key ID [****************ON44]: AKIAR22SOSGPFBasdf

AWS Secret Access Key [****************/Qtf]: djfklsajdflkjsljlj2lk3j43lkj

Default region name [ap-northeast-2]:
Default output format [None]:

 

6. 또한 IAM 사용자가 AWS DynamoDB에 대한 권한이 필요합니다.

- IAM에 해당 사용자가 DynamoDB에 권한을 가지고 있어야 함. 권한을 주시기 바랍니다.

 

7. 아래 코드를 통해  연결이 잘 되었는지 확인합니다.

def main():
    try:
        dynamodb = boto3.resource('dynamodb',
                                  region_name='ap-northeast-2',
                                  endpoint_url='https://dynamodb.ap-northeast-2.amazonaws.com')
    except:
        logging.error("login error")
        pass

    headers = get_headers(client_id, client_secret)

    table = dynamodb.Table('top_tracks')

    # Dynamodb가 잘 연결 됫는지 확인
    # 2020-03-17 08:42:55.594000+09:00 이런식으로 나오면 연결 잘 된것
    print(table.creation_date_time)
    sys.exit(0)

 

 


8. 아래와 같은 방법은 데이터를 입력해줍니다. 

9. 원하는 값대로 잘 들어 간 것을 확인 할 수 있습니다.

 

 

파이썬 boto3 패키지를 활용하여 AWS DynamoDB에 연결하여 데이터를 Insert 해보았습니다.

Comments