2017-04-05 2 views
0

많은 항목이있는 거대한 JSON 파일이 있습니다. 각 개별 속성을 입력하지 않고도 JSON 파일을 기반으로 DynamoDB 테이블을 만들려고합니다. 나는 여기에서 언급으로 AWSCLiJSON 파일에서 dynamoDB 테이블 만들기

aws dynamodb create-table --cli-input-json file://tabledefinition.json 
aws dynamodb create-table --generate-cli-skeleton 

(Create a DynamoDB table from json)와 함께 다음과 같은 노력했다. 또한 옵션이없는 몇 개의 파이썬 라이브러리 (예 : https://github.com/jlafon/PynamoDB)를 살펴 보았습니다. 모든 json 파일은 S3 버킷에 저장됩니다.

답변

0

참고 :

이 특정 테이블 정의가 언급이없는 영업 이익 등 매우 일반적인 클래스입니다.

테이블 정의 JSON이 일반 데이터 JSON과 같지 않습니다. JSON 테이블 정의 예를 참조하십시오. JSON 및 AWS CLI를 사용하여 테이블을 작성하려면 비슷한 테이블을 작성해야합니다.

{ 
    "TableName": "MusicCollection2", 
    "KeySchema": [ 
     { "AttributeName": "Artist", "KeyType": "HASH" }, 
     { "AttributeName": "SongTitle", "KeyType": "RANGE" } 
    ], 
    "AttributeDefinitions": [ 
     { "AttributeName": "Artist", "AttributeType": "S" }, 
     { "AttributeName": "SongTitle", "AttributeType": "S" } 
    ], 
    "ProvisionedThroughput": { 
     "ReadCapacityUnits": 5, 
     "WriteCapacityUnits": 5 
    } 
} 

데이터로드 옵션 : -

옵션 1 : -

테이블이 작성되면, 당신은 DynamoDB의로 데이터를로드 할 수 Python code를 작성할 수 있습니다. JSON의 각 속성을 DynamoDB 테이블의 속성에 매핑하거나 JSON을 DynamoDB 테이블에 MAP으로 저장해야합니다. 이는 사용 사례, 즉 DynamoDB 테이블에로드 된 데이터를 사용하는 방법에 따라 다릅니다.

옵션 2 : - 당신은 DynamoDB의 테이블에 데이터를 매핑을 생성하고로드 AWS Data Pipeline을 사용할 수 있습니다

. 1 회로드 인 경우로드가 완료되면 데이터 파이프 라인을 삭제할 수 있습니다.

+0

그래서 내 json 문자열의 각 항목에 대한 정의가 필요하지 않습니다. create table step correct? – user3609179

+0

예, 필수는 아닙니다. – notionquest

+0

awh 오해가 내 부분에 감사합니다. – user3609179

관련 문제