가져오기
DynoTable은 CSV, JSON, NDJSON 파일을 기존 테이블로 가져옵니다 — 내보내기의 나머지 절반입니다. 파일 전체는 단 한 행이라도 쓰이기 전에 검사되므로, 잘못된 파일은 데이터를 절반만 가져온 채 남기는 대신 행 번호와 함께 실패합니다.
테이블 툴바의 가져오기 버튼으로 엽니다. 가져오기는 테이블에 쓰기 작업을 수행하므로 Trialing 또는 Active 라이선스가 필요합니다.

가져오기는 이미 존재하는 테이블로 데이터를 로드합니다 — 테이블을 새로 만들지는 않습니다. 테이블(과 그 기본 키)을 먼저 만든 다음 그 테이블로 가져오세요.
두 단계의 충실도
정확함 — (DynamoDB-JSON) 와이어 형식으로 쓰인
JSON / NDJSON입니다. 아무것도 추측하지 않습니다. 모든 값이 이미 자신의 타입을
지니고 있으므로, 이 형식으로 내보낸 데이터는 그대로 다시 가져와집니다. 데이터가
중요할 때 쓰는 형식입니다.
편의성 — CSV와 평문(마샬링되지 않은) JSON입니다. 이들은 타입 정보를
담고 있지 않으므로 DynoTable이 열마다 타입을 추론하고, 커밋하기 전에 무엇을
골랐는지 보여 줍니다. 편리하지만, 정해진 방식으로 손실이 있습니다 — 자세한
내용은
편의용 파일에서 정보가 손실되는 부분을
참고하세요.
열과 타입
파일의 헤더는 속성 이름이 됩니다. 미리보기는 DynoTable이 추론한 타입과 함께 모든 열을 나열합니다. 헤더가 원하는 속성 이름과 다르면 열 헤더를 우클릭해서 이름을 바꾸고, 추론된 타입이 마음에 들지 않으면 데이터 타입을 바꾸세요 — 예를 들어 숫자로만 이루어진 제품 코드가 숫자가 아니라 텍스트로 남아야 할 때 쓸 수 있습니다.
타입 목록에는 그 열의 값이 실제로 될 수 있는 타입만 나타나므로, 순수 텍스트 열에는 Map이나 List가 제시되지 않습니다. 열에 가능한 타입이 하나뿐이면 목록 자체가 나타나지 않습니다. 이 이상의 매핑 화면은 없습니다.
파일은 테이블의 기본 키 전체를 갖추고 있어야 합니다. 키 속성이 빠졌거나 잘못된 타입인 행은 이름과 함께 거부됩니다.
파일 전체가 통과할 때까지 아무것도 쓰이지 않습니다
가져오기는 파일을 두 번 읽습니다. 첫 번째 패스는 모든 행을 검증하고 아무것도 쓰지 않으며, 파일이 통과해야만 두 번째 패스가 쓰기를 시작합니다.
- 문제는 한 번에 최대 20개까지 행 번호(또는 JSON 배열의 경우 항목 위치)와 함께 보고됩니다.
- 한 파일에 키가 같은 행이 두 개 있으면 거부되며, 두 위치가 모두 표시됩니다 — DynamoDB라면 마지막 행만 조용히 남겼을 것입니다.
- 파일을 고치고 가져오기를 다시 누르세요. 대화상자는 고른 파일을 그대로 유지합니다.
가져오기는 일치하는 항목을 대체합니다
가져온 행은 같은 기본 키를 가진 기존 항목을 속성 단위로 대체합니다 — 병합되지 않습니다. 예전 항목에는 있었지만 파일에는 없는 속성은 사라집니다.
가져오기는 또한 스테이징을 거치지 않으므로, 검토 단계도 되돌리기도 없습니다. Stage된 편집과 달리, 가져오기는 앱의 기록에서 되돌릴 수 없습니다. 소중한 데이터라면 먼저 테이블의 복사본으로 가져와서 결과를 확인하세요.
제한
| 제한 | 값 |
|---|---|
| CSV / NDJSON 파일 크기 | 250MB |
하나의 .json 배열 | 50MB — 그 이상은 NDJSON을 사용 |
| 가져오기당 행 수 | 2,000,000개 |
| 항목 하나 | 400KB (DynamoDB 자체 상한) |
.json 파일은 통째로 파싱해야 하는 큰 배열 하나를 담기 때문에 상한이 더
낮습니다. 한 줄에 항목 하나씩인 NDJSON은 대신 스트리밍되므로 250MB를 전부
쓸 수 있습니다.
편의용 파일에서 정보가 손실되는 부분
다음은 CSV와 평문 JSON에만 해당합니다. 마샬링된 DynamoDB-JSON 형식에는 이런 손실이 전혀 없습니다.
- 타입은 대략 처음 200행 정도의 샘플에서 추론됩니다. 거기서는 숫자처럼 보이지만 파일 뒤쪽에서 숫자가 아니게 되는 열은 검증 단계에서 거부됩니다 — 해결책은 파일을 고치는 것입니다.
- Set과 바이너리는 CSV로 표현할 수 없으므로, CSV에서는 가져올 수 없습니다.
- 빈 셀은 건너뜁니다. 빈 문자열로 쓰이지 않습니다. 항목에 그 속성이 아예 없게 됩니다.
- Map과 List는 왕복에서 살아남습니다. 내보내기는 이를 CSV 셀에 JSON 텍스트로 씁니다. 가져오기는 그 텍스트를 인식해 구조를 다시 만듭니다. 어떤 열이 정말로 JSON처럼 보이는 텍스트일 뿐이라면, 미리보기에서 실제로 무엇이 됐는지 보이며 그 열의 데이터 타입을 다시 문자열로 되돌릴 수 있습니다.
- 평문 JSON의 매우 큰 숫자는 DynoTable이 보기도 전에 정밀도를 잃습니다 — JSON 자체의 한계입니다. 정확하게 유지해야 하는 ID나 금액에는 DynamoDB-JSON을 사용하세요.
- 스프레드시트 안전 표시는 돌아올 때도 처리됩니다. 내보내기는 스프레드시트가
수식으로 취급할 셀 앞에 아포스트로피를 붙입니다. 가져올 때
'-5는 숫자-5가 되고'+7은 텍스트+7로 돌아오지만,'=SUM(A1)같은 진짜 수식은 아포스트로피를 영구히 유지합니다. 이를 제거하면 그 표시가 막으려던 것이 다시 작동하게 됩니다.
진행 상황, 취소, 실패
실행 중인 가져오기는 사이드바 하단의 활동 패널에 실시간 진행 상황과 함께 표시되며, 다른 탭에서 작업하는 동안에도 계속됩니다. 거기서 중지할 수 있으며, 이미 쓰인 행은 그대로 남습니다.
DynamoDB가 재시도 후에도 일부 행을 쓸 수 없을 만큼 테이블을 강하게 스로틀링하면, 가져오기는 끝나고 몇 개의 행을 쓸 수 없었는지 알려줍니다. 같은 파일을 다시 실행해도 안전합니다 — 이미 반영된 행은 같은 값으로 다시 쓰일 뿐입니다.
가져오기 항목은 지울 때까지 패널에 남습니다. 가져오기는 가리킬 파일을 만들지 않으므로, 그 행이 실행이 끝났다는 유일한 기록입니다.


