我正在尝试使用 appcfg.py 将 csv 文件上传到数据存储区。我正在使用的命令是这样的:
appcfg.py upload_data --application=s~hay-fe --kind=CasillaFinal --filename=CasillaFinal.csv --url=http://hay-fe.appspot.com/remote_api --config_file=bulkloader.yaml
然后我得到下一个错误:
BadArgumentError:需要一个整数 id 或字符串名称作为参数 2;收到无(无类型)。
这是我的 CasillaFinal.csv: http ://pastebin.com/embed_js.php?i=7dp24Yn1
这是我的 bulkloader.yaml: http ://pastebin.com/embed_js.php?i=iPE8PcZQ
我认为问题在于第一列(ID),因为我没有任何导入转换,但我不知道如何进行此转换。
在这里,您有“表”的 java 定义:
private @Id Long id;
private Key<EntidadFederativa> claveEntidad;
private int seccion;
private String tipoCasilla;
private String domicilio;
private String ubicacion;
private String referencia;
private String latitud;
private String longitud;
private int distrito;
private int claveMunicipio;
private String municipio;
private String letraInicial;
private String letraFinal;
private String casillaEspecial;
如您所见,我正在使用 objectify 来实现持久性。
顺便说一句,我想知道列的顺序是否重要,因为数据存储管理中的顺序与 csv 文件中的顺序不同。这是数据存储中的顺序:
id|casillaEspecial|claveEntidad|claveMunicipio|distrito|domicilio|latitud|letraFinal|letraInical|longitud|municipio|referencia|seccion|tipoCasilla|ubicacion
而在 csv 中是:
id|claveEntidad|seccion|tipoCasilla|domicilio|ubicacion|referencia|latitud|longitud|distrito|claveMunicipio|municipio|letraInicial|letraFinal|casillaEspecial
最后,我想知道订单索引是从 0 开始还是从 1 开始,因为错误表示错误在参数 2 中(期望整数 id 或字符串名称作为参数 2)。