Где находятся сущности после загрузки данных?

Я пытаюсь импортировать свой CSV-файл в хранилище данных appengine и не получаю никаких ошибок, но где сущности? Я не мог видеть это в своей консоли appengine в разделе хранилища данных.

модели.py:

from google.appengine.ext import db

class Glyph(db.Model):
    glyphId = db.IntegerProperty(indexed=True)
    pageNumber = db.IntegerProperty()
    lineNumber = db.IntegerProperty()
    position = db.IntegerProperty()
    min_x = db.IntegerProperty()
    max_x = db.IntegerProperty()
    min_y = db.IntegerProperty()
    max_y = db.IntegerProperty()
    resolution = db.IntegerProperty()

объемный загрузчик.yaml:

python_preamble:
- import: google.appengine.ext.bulkload.transform
- import: google.appengine.ext.bulkload.bulkloader_wizard
- import: google.appengine.ext.db
- import: google.appengine.api.datastore

transformers:
- kind: Glyph
  connector: csv
  connector_options:
    encoding: utf-8
    columns: from_header
  property_map:
  - property: glyph_id
    external_name: glyph_id

  - property: page_number
    external_name: page_number

  - property: line_number
    external_name: line_number

  - property: position
    external_name: position

  - property: min_x
    external_name: min_x

  - property: max_x
    external_name: max_x

  - property: min_y
    external_name: min_y

  - property: max_y
    external_name: max_y

  - property: resolution
    external_name: resolution

глифы.csv:

glyph_id,page_number,line_number,position,min_x,max_x,min_y,max_y,resolution
211,1,2,1,188,217,43,58,320


Environment: cygwin
Appengine version: 1.9.6
$ appcfg.py upload_data --config_file=bulkloader.yaml --filename=glyphs.csv --kind Glyph --url=http://webservice.appspot.com/_ah/remote_api [email protected] --batch_size=1000 --rps_limit=500

Заранее спасибо.

12:04 PM Uploading data records.
[INFO    ] Logging to bulkloader-log-20140704.120441
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 250000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 500/second
[INFO    ] Batch Size: 1000
[INFO    ] Opening database: bulkloader-progress-20140704.120441.sql3
[INFO    ] Connecting to webservice.appspot.com/_ah/remote_api
[INFO    ] Starting import; maximum 1000 entities per post
.........................................................................................
[INFO    ] 88246 entities total, 0 previously transferred
[INFO    ] 88246 entities (85210 bytes) transferred in 14.2 seconds
[INFO    ] All entities successfully transferred

журнальный файл:

[DEBUG    2014-07-04 18:41:21,390 adaptive_thread_pool.py] Waiting for Anonymous_WorkerThread to exit
[DEBUG    2014-07-04 18:41:21,390 bulkloader.py] Waiting for progress_thread to terminate...
[DEBUG    2014-07-04 18:41:21,453 bulkloader.py] [Thread-11] ProgressTrackerThread: exiting
[DEBUG    2014-07-04 18:41:21,468 bulkloader.py] ... done.
[INFO     2014-07-04 18:41:21,468 bulkloader.py] 88246 entities total, 0 previously transferred
[INFO     2014-07-04 18:41:21,468 bulkloader.py] 88246 entities (85210 bytes) transferred in 16.2 seconds
[INFO     2014-07-04 18:41:21,468 bulkloader.py] All entities successfully transferred

журнал консоли:

2014-07-06 17:07:44.290 /_ah/remote_api 200 19ms 0kb Google-remote_api/1.0 CYGWIN_NT-5.1/1.7.30(0.272/5/3) Python/2.7.3.final.0 gzip module=default version=1
69.247.153.191 - admin [06/Jul/2014:17:07:44 -0700] "POST /_ah/remote_api HTTP/1.1" 200 92 - "Google-remote_api/1.0 CYGWIN_NT-5.1/1.7.30(0.272/5/3) Python/2.7.3.final.0 gzip" "webservice.appspot.com" ms=19 cpu_ms=0 cpm_usd=0.000010 app_engine_release=1.9.6 trace_id=15aab71128af2f7dbbd629ef8fe24297 instance=00c61b117cc1848cde8da4b66f619fbabd1234

Решение: оказалось, что в разделе property_map моего bulkloader.yaml отсутствуют столбцы. Исправление отображения решило проблему.


person user3802804    schedule 06.07.2014    source источник


Ответы (2)


Оказывается, мне не хватает столбцов в разделе property_map моего bulkloader.yaml. Исправление отображения решило проблему. Решение добавлено в исходное сообщение.

person user3802804    schedule 07.07.2014

Данные помещаются в ваши модели, как определено в вашем bulkloader.yaml. Чтобы быстро просмотреть их, перейдите в консоль разработчика в Datastore Viewer:

https://appengine.google.com/datastore/explorer?&app_id=s~yourappid

Вы можете использовать выпадающее меню для перехода от модели к модели. В вашем случае вы загрузили только Glyphs, так что смотрите там.

person GAEfan    schedule 06.07.2014
comment
Спасибо @GAEfan. Я уже сделал, ничего не показывает. Ой! Нам не удалось получить ваш список видов. Пожалуйста, попробуйте позже. Запросы к namespace также пусты. Нужно ли мне создавать одну сущность через консоль, чтобы импортировать данные? - person user3802804; 07.07.2014
comment
У вас есть models.py с определенным типом Glyph? - person GAEfan; 07.07.2014
comment
Да. models.py: из google.appengine.ext import db class Glyph(db.Model): glyphId = db.IntegerProperty() pageNumber = db.IntegerProperty() lineNumber = db.IntegerProperty() position = db.IntegerProperty() min_x = db.IntegerProperty() max_x = db.IntegerProperty() min_y = db.IntegerProperty() max_y = db.IntegerProperty() разрешение = db.IntegerProperty() - person user3802804; 07.07.2014
comment
Является ли идентификатор вашего приложения веб-службой? Вот они и загружены. И ваш glyphs.csv не является файлом csv, поэтому не знаю, как он загрузил 18 000 элементов без ошибки. Попробуйте добавить флаг --application=s~yourappname в команду appcfg.py. - person GAEfan; 07.07.2014
comment
Исправлен файл csv и заменены все | to , но объекты по-прежнему не отображаются. Я попытался добавить --applicaton=s~webservice, но получаю исключения при выполнении команды upload_data: [INFO 2014-07-04 18:40:10,687 bulkloader.py] Подключение к webservice.appspot.com/_ah/remote_api [ОШИБКА 04-07-2014 18:40:10,687 bulkloader.py] Исключение при аутентификации URLError: ‹ошибка urlopen [Errno 10106] Неизвестная ошибка› [ОШИБКА 04-07-2014 18:40:10,687 bulkloader.py] Ошибка аутентификации: Неверные учетные данные или неподдерживаемый тип аутентификации (например, OpenId). - person user3802804; 07.07.2014
comment
он должен запросить у вас адрес электронной почты и пароль вашего администратора. Это то, что не удалось. Попробуйте добавить флаг --oauth2 в команду appcfg.py. - person GAEfan; 07.07.2014
comment
Оказывается, мне не хватает столбцов в разделе property_map моего bulkloader.yaml. API хранилища данных молча игнорирует проблемы. Исправление отображения решило проблему. Спасибо GAEfan за предложение решения и исправление моей проблемы с CSV-файлом. - person user3802804; 07.07.2014