게임 정보 관리

Public 테이블과, Private 테이블의 차이점이 무엇인가요?

  • Public 테이블 : 모든 게이머의 정보를 반환
  • Private 테이블 : 테이블의 로그인된 해당 게이머의 정보만 반환

서버에 데이터를 저장할 때 인터넷이 연결이 안된 상태이면 어떻게 처리해야 할까요?

statusCode로 성공/실패를 확인하고, 실패한 경우 이후에 다시 시도하는 복구 로직을 추가하는 것이 좋습니다.

  • 실패 alert을 띄운 후 인터넷 연결이 될 때까지 게임 진행이 불가능하도록 차단 (다시 시도해서 성공하기 전까지)
  • 데이터를 메모리에 올려두고, 그대로 진행 -> 다음 시도 때 한번에 처리

게임정보의 저장최대량은 어떻게 되나요?

하나의 row( column들의 집합 ) 에서 400KB까지 저장이 가능합니다.
예를들어 column의 이름이 shirt-color이고 이 값이 R이면 12 Byte를 저장한 것입니다.

  • 하나의 row( column들의 집합 )이 400KB를 넘는 경우
    statusCode : 413
    errorCode : ServerErrorException
    message : request entity too large

자료형이 "N"인데, "200"과 같이 스트링으로 리턴되는 이유가 무엇인가요?

AWS의 DynamoDB가 "N"(number)을 String으로 리턴합니다.

참고
Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.
https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_AttributeValue.html

public 테이블에서 타인의 row를 수정할 수 있나요?

타인의 정보는 보안이슈로 수정이 불가능 하고 Read만 가능 합니다.