AWS java SDK를 통해 DynamoDB 테이블 정보 가져오기

3440 단어 DynamoDBAWSJavaFX

이 문장에 관하여


앞으로 작성할 JavaFX로 DynamoDB Viewer를 만들었다는 보도의 한 단계.
나는 이것이 매우 큰 이야기라고 생각하기 때문에 조금씩 기술적인 점에 따라 보도를 쓰고 일정한 조건을 만족시키는 단계에서 상술한 총결산 보도를 쓸 계획이다.
제1회 기사: DynamoDB 정보를 읽고 JavaFX로 표시
제2회 보도: JavaFX에서 테이블 열 동적 설정
※ 지난번 보도는 기본입니다.방법 등 다시 설명하지 않은 부분.

이번 진전



이번 끝날 때 소스 여기 있어요.Github

이번에 설치된 기능

  • localDynamoDb
  • 지원
  • 테이블 목록 표시
  • 선택한 표의 구조에 따라 검색 조건에서 키 정보를 자동으로 설정
  • 기록 건수와 표 사이즈 표시
  • 또는 지정된 검색 조건 없음
  • 테이블의 시작 부분에 섹션 키와 정렬 키를 표시합니다
  • 각자의 요점


    localDynamoDb 지원


    각 dynamoDB 기능(Scan,Query)의 기본 Abstruct 클래스를 준비하여 이 클래스에서 Connector의 지점을 진행합니다.각자의 상속지에서는 신경 쓰지 마세요.

    테이블 목록 표시


    기본은 공식 샘플.읽기 클래스인 ListTables Request는 검색 조건을 지정할 수 없기 때문에 자바 측에서 필터를 합니다.
    ※ 읽기 조건을 지정할 수 있는 방법이 발견되면 변경이 예정되어 있습니다.

    선택한 표의 구조에 따라 검색 조건에서 자동으로 키 정보를 설정합니다 (기록 건수와 표 사이즈도 표시됩니다)


    공식 샘플부터 DescribeTable 기능까지 모두 사용할 수 있습니다.
    TableDescription 형식에 대한 정보를 얻을 수 있습니다.다음 정보를 참조하십시오.
  • tableName: 테이블 이름
  • tableArn:ARN
  • tableStatus: 상태
  • itemCount: 레코드 수
  • tableSizeBytes: 테이블 크기
  • ProvisionedThroughput: 처리량 구성
  • readCapacityUnits: 읽기 용량
  • writeCapacityUnits: 쓰기 용량
  • attributeDefinitions: 속성 정의 목록
  • keySchema: 키 정보
  • 검색 조건 없음


    검색 조건이 있을 때 Query, 모두 읽기 Scan 사용

    헤더에 섹션 및 정렬 키 표시


    이번에 제일 귀찮은 부분.
    DynamoDB는 RDB처럼 테이블 구조를 명확하게 정의하지 않습니다.가져온 데이터의 필드 순서가 확실하지 않습니다.만약 원형을 유지한다면 표를 만들 때 데이터를 파악하기가 매우 어렵다.섹션 키, 정렬 키를 처음에 설정하고 싶습니다.
    이를 위해서는 다음 정보에 따라 필드 정보를 조립해야 한다.이번 키의 필드 이름과 데이터 형식 정보는 처음 두 개부터 시작됩니다.이외에 필드 이름과 데이터 형식은 실제 데이터에서 얻을 수 있습니다.
  • TableDescription.keySchema에서 얻을 수 있는 KeySchemaElement 클래스입니다.
    KeySchemaElement.keyType에서 파티션 키(HASH)와 sortKey(RANGE)를 알 수 있습니다.
    KeySchemaElement.attributeName에서 필드 이름을 알 수 있습니다.
  • TableDescription.attributeDefinitions에서 얻을 수 있는 각 필드의 AttributeDefinition 클래스입니다.
    AttributeDefinition.attribute Type의 Enum의 Scalar Attribute Type 클래스는 문자열인지 숫자인지 알 수 있습니다.
    AttributeDefinition.attributeName에서 필드 이름을 알 수 있습니다.
    ※ 모든 필드가 있는 것은 아닙니다.키와 색인에 사용되지 않는 필드가 없다고 생각합니다.
  • 검색 결과(QueryResponse, ScanResponse의 items)에서 List>를 가져올 수 있습니다.
    AttributeValue에hasSs,hasNs 등이 있어 어느 정도의 데이터 형식을 이해할 수 있습니다.
    그러나 문자열과 수치형 등은 알 수 없으며 toString 문자열이 생성되면 "AttributeValue(N=)"로 시작할지 여부를 판단합니다.
  • 다음 계획

  • 복사표 표시 내용(키 값 얻기 등)
  • 여러 검색 결과 표시 (탭 표시에서 여러 테이블 검색 결과 전환)
  • 좋은 웹페이지 즐겨찾기