Bulkloader を使用してデータストアからデータをダウンロードしようとしていますが、何か間違った方法を行っていない限り、DateTimeProperty の精度がずれているようです。
これは、ダウンロードしようとしているデータのプロパティです。
class LoggingPrimitive(polymodel.PolyModel):
[...]
start = ndb.DateTimeProperty(auto_now_add=True, required=True)
これは私のbulkloader.yamlファイルです
- kind: LoggingPrimitive
connector: csv
connector_options:
export_options:
delimiter: "|"
property_map:
[...]
- property: start
external_name: start
# Type: Date/Time Stats: 5123 properties of this type in this kind.
import_transform: transform.import_date_time('%Y-%m-%dT%H:%M:%S')
export_transform: transform.export_date_time('%Y-%m-%d %H:%M:%S.%f')
ダウンロードした CSV のデータは次のようになります。
2013-05-25 22:06:17.
そのため、ダウンロードした CSV データにはミリ秒が含まれていません。
インタラクティブ コンソールで transform.export_date_time 関数を使用すると、ミリ秒が表示されます。
fn=transform.export_date_time('%Y-%m-%d %H:%M:%S.%f')
print fn(l.start)
したがって、ミリ秒単位の情報はデータストアにありますが、バルクロード プロセスのどこかで失われるようです。
手がかりはありますか?