Google App Engine Bulloloder Problem bei der Verwendung von yaml autogenerated Konfiguration und Entitäten mit numerischen ID

Meine Anwendung verwendet Django non-rel . Ich habe keinen Zugang zum Modell.

Ich habe meine bulkloader.yaml Datei autogenerated von appcfg.py create_bulkloader_config .

Problem ist Entitäten, die numerische IDs als Zeichenfolgennamen importiert werden. Also, wenn ich exportiere entity mit int ID von, zum Beispiel '62' , wird es als Entity mit String Key Name von '61' importiert , die Django schraubt.

Revelant bulkloader.yaml Fragment:

  property_map: - property: __key__ external_name: key export_transform: transform.key_id_or_name_as_string 

Ich versuche zu installieren Download / Upload von Daten mit Bullo, und ich möchte Daten als einfach zu verstehen Format (wie .csv) — so mit bulkloader.py --dump (...) ist kein lebensfähiges Option, da gibt es mir sqlite3 Dateien, die Entitäten Inhalt gebeizt als einzelne Zeile haben.

BEARBEITEN

Ich habe versucht zu tun, was @Nick vorgeschlagen und ich habe eine Ausnahme:

  ErrorOnTransform: Numeric keys are not supported on input at this time. 

Heißt das, dass ich bei bulkloader.py bleiben muss (das benutzt das werid sqlite Format) oder ich habe etwas verpasst? 😉

Header des Transformators:

 - kind: auth_user connector: csv connector_options: encoding: utf-8 skip_import_header_row: True print_export_header_row: True property_map: - property: __key__ external_name: key export_transform: transform.key_id_or_name_as_string import_transform: transform.create_foreign_key('auth_user', key_is_id=True) 

Ganze Stacktrace:

  Traceback (most recent call last): File "/opt/google/appengine/google/appengine/tools/adaptive_thread_pool.py", line 150, in WorkOnItems status, instruction = item.PerformWork(self.__thread_pool) File "/opt/google/appengine/google/appengine/tools/bulkloader.py", line 693, in PerformWork transfer_time = self._TransferItem(thread_pool) File "/opt/google/appengine/google/appengine/tools/bulkloader.py", line 848, in _TransferItem self.content = self.request_manager.EncodeContent(self.rows) File "/opt/google/appengine/google/appengine/tools/bulkloader.py", line 1269, in EncodeContent entity = loader.create_entity(values, key_name=key, parent=parent) File "/opt/google/appengine/google/appengine/ext/bulkload/bulkloader_config.py", line 385, in create_entity return self.dict_to_entity(input_dict, self.bulkload_state) File "/opt/google/appengine/google/appengine/ext/bulkload/bulkloader_config.py", line 131, in dict_to_entity instance = self.__create_instance(input_dict, bulkload_state_copy) File "/opt/google/appengine/google/appengine/ext/bulkload/bulkloader_config.py", line 209, in __create_instance 'Numeric keys are not supported on input at this time.') 

2 Solutions collect form web for “Google App Engine Bulloloder Problem bei der Verwendung von yaml autogenerated Konfiguration und Entitäten mit numerischen ID”

Sie haben die export_transform 'key_id_or_name_as_string', aber Sie haben keine entsprechende Import-Transformation. Versuche dies:

 property_map: - property: __key__ external_name: key export_transform: transform.key_id_or_name_as_string import_transform: transform.create_foreign_key('Kind', key_is_id=True) 

Wo 'Kind' der Name der in der Konfigurationsdatei identifizierten Art ist.

Das funktioniert gut für mich:

 import_transform: transform.none_if_empty(long) 
  • Google AppEngine webapp2: Kein Modul namens pkg_resources Fehler beim Import von Bigquery
  • Wie bekomme ich die aktuelle britische Zeit in der Google App Engine
  • Browser berichtet eine wirklich langsame Anfrage, aber GAE zeigt, dass es 12ms dauert?
  • NDB-Abfrageergebnisse, die mit einem String beginnen
  • Wie bekomme ich Twitter's Streaming / Filter Feed mit urllib2 / httplib?
  • Über eine zu viele beziehungen in datastore und dereferncing in google app engine?
  • Wie man E-Mails (benutzerdefinierte) Header und Anhänge von InboundMailHandler in Google App Engine liest
  • Umgang mit json Form mit jQuery auf Google App Engine
  • Python ist die beste Programmiersprache der Welt.