DynamoDBの Import/Export で使うファイル形式がちょっと特殊なのでメモしておきます。
ドキュメント
フォーマットメモ
- データは下記のようなテキストフォーマット。
カラム名<ETX>{タイプ: 値}<STX>カラム名<ETX>{タイプ:値} ...
- カラム名と値の間に ETX という制御文字が入り、カラム間にSTX という制御文字が入る。(上記の <, > は含まず)
- 1行の区切りは 改行(LF)
- Importの際は、ファイル名をテーブル名にする。
- タイプ:値の部分は JSONエンコードしておくこと。
- タイプの部分には、Stringの場合s, Numberの場合n のような文字列を入れる。小文字じゃないとだめ。
例
name<ETX>{s:yamada}<STX>age<ETX>{n:21}
name<ETX>{s:sato}<STX>age<ETX>{n:46}
ETX と ETX はPHPで生成すると下記のような感じ。
<?php
$etx = chr(3);
$stx = chr(2);
参考
制御文字(ETX, STX)参考:
http://ja.wikipedia.org/wiki/%E5%88%B6%E5%BE%A1%E6%96%87%E5%AD%97
実装例
ORM#toImportFormat