Я пытаюсь загрузить CSV-файл в хранилище данных с помощью appcfg.py. Команда, которую я использую, такова:
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: ожидается целочисленный идентификатор или строковое имя в качестве аргумента 2; получено None (тип None).
Это мой 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|широта|letraFinal|letraInicial|longitud|municipio|reference|section|tipoCasilla|ubicacion
тогда как в csv:
id|claveEntidad|раздел|tipoCasilla|domicilio|ubicacion|reference|широта|долгота|distrito|claveMunicipio|municipio|letraInicial|letraFinal|casillaEspecial
Наконец, я хотел бы знать, начинается ли индекс порядка с 0 или 1, потому что ошибка говорит, что ошибка находится в аргументе 2 (ожидается целочисленный идентификатор или имя строки в качестве аргумента 2).