Monday, December 17, 2012

bulkloader with array data

app.yaml
builtins:
- remote_api: on

bulkloader.yaml
transformers:
- kind: MyData
  connector: csv
  property_map:
    - property: __key__
      external_name: title
      export_transform: transform.key_id_or_name_as_string
    - property: data
      external_name: data
      import_transform: "lambda s: s is not None and s.split('-') or []"
      export_transform: "lambda l: '-'.join(l)"

command line:
$ appcfg.py upload_data --config_file=bulkloader.yaml --filename=mydata.csv --kind=MyData --url=http://myapp.appspot.com/_ah/remote_api -e your.name@gmail.com --application s~myapp --batch_size=100 .

CSV file
title,data
"Title1","array-data-of-title1"
"Title2","array-data-of-title2"