Modul google.appengine.ext.bulkload.bulkload_deprecated

Übersicht

VERWORFENER Mixin-Handler für das Laden von Daten im Bulk in eine Anwendung.

Verwenden Sie stattdessen den neuen Bulkloader.

Inhalt

Klasse google.appengine.ext.bulkload.bulkload_deprecated.BulkLoadQuelle

Bases: google.appengine.ext.webapp._webapp25.RequestHandler

Ein Handler für Bulkloading-Requests.

Diese Klasse enthält Handler für den Bulkloading-Prozess. Einen Handler für GET, um Cookie-Informationen für das Upload-Skript bereitzustellen, und einen für einen POST-Request zum Upload der Entitäten.

Der Body-Teil des POST-Requests enthält die Daten, die die Property-Werte der Entitäten darstellen. Ursprünglich war das Format eine Folge von Zeilen mit kommagetrennten Werten (verarbeitet von der Load-Methode). Das aktuelle (Version 1) Format ist ein Binärformat, das im Abschnitt "Tools und Bibliotheken" der Dokumentation beschrieben und von der LoadV1-Methode verarbeitet wird.

InfoPage(uri)Quellcode

Rendert eine Informationsseite mit dem POST-Endpunkt und dem Cookie-Flag.

Parameter

uri: Ein String mit der Request-URI

Gibt Folgendes zurück:

Einen String mit dem Inhalt der anzuzeigenden Infoseite

IterRows(reader)Quellcode

Gibt für jede Zeile der CSV-Daten ein Tupel mit einer Zeilennummer und einer Zeile aus.

Parameter

reader: Ein CSV-Reader für die Eingabedaten.

Load(kind, data)Quellcode

Parst CSV-Daten, verwendet einen Loader zum Konvertieren in Entitäten und speichert sie.

Schlägt bei einem Fehler schnell fehl. Gibt den HTTP-Antwortcode "Bad Request" zurück, die Ausgabe enthält das Traceback.

Parameter
  • kind: Ein String mit dem Entitätstyp, der von diesem Loader verarbeitet wird

  • data: Ein String, der die zu ladenden CSV-Daten enthält

Gibt Folgendes zurück:

response code: Ganzzahliger HTTP-Antwortcode zur Rückgabe output: String mit dem HTTP-Antworttext

Rückgabetyp

Tupel (response code, output), wobei

LoadEntities(iter, loader, key_format=None)Quellcode

Generiert Entitäten und lädt sie in den Datenspeicher. Liefert ein Tupel mit HTTP-Code und Stringantwort.

Parameter
  • iter: Ein Iterator, der Paare aus Zeilennummer und Zeileninhalten liefert.

  • key_format: Ein Formatstring, mit dem eine Zeilennummer in eine Entitäten-ID umgewandelt wird. Wenn "None", werden die Entitäten-IDs automatisch generiert.

get()Quelle

Verarbeitet einen GET-Request. Nur die Infoseite wird angezeigt.

post()Quelle

Verarbeitet einen POST-Request. Liest CSV-Daten, wandelt sie in Entitäten um und speichert sie.

Klasse google.appengine.ext.Bulkload.Bulkload_deprecation.Loader(kind, properties)Quelle

Basiert auf: object

Eine Basisklasse zum Erstellen von Datenspeicherentitäten aus Eingabedaten.

Schreiben Sie eine von dieser Klasse abgeleitete Klasse, die Loader.__init__ aus dem __init__ Ihrer Klasse aufruft, um einen Handler zum Bulkloading eines neuen Entitätstyps in Ihren Datenspeicher hinzuzufügen.

Wenn Sie zusätzlichen Code ausführen müssen, um Entitäten aus den Eingabedaten zu konvertieren, neue Properties zu erstellen oder die Entitäten anderweitig zu ändern, bevor sie eingefügt werden, überschreiben Sie HandleEntity.

Siehe die CreateEntity-Methode für die Erstellung von Entitäten aus den (geparsten) Eingabedaten.

CreateEntity(values, key_name=None)Quellcode

Erstellt eine Entität aus einer Liste von Property-Werten.

Parameter
  • values: Liste/Tupel von str

  • key_name: Falls angegeben, der Name für die (einzelne) resultierende Entität

Gibt Folgendes zurück:

Liste der datastore.Entity

Die zurückgegebenen Entitäten werden mit den Property-Werten aus dem Argument befüllt, mithilfe der im Konstruktor angegebenen Property-Zuordnung in native Typen konvertiert und über HandleEntity übergeben. Sie sind einfügebereit.

Löst Folgendes aus:

AssertionError, wenn die Anzahl der Werte nicht mit der Anzahl der Properties in der Property-Zuordnung übereinstimmt.

HandleEntity(entity)Quellcode

Abgeleitete Klassen können dies überschreiben, um benutzerdefinierten Code zur Konvertierung von Entitäten hinzuzufügen.

Wird vor dem Speichern für jede Entität aufgerufen, nachdem ihre Properties aus der CSV befüllt wurden. Abgeleitete Klassen können dies überschreiben, um benutzerdefinierten Code zur Behandlung von Entitäten hinzuzufügen.

Die einzufügende Entität sollte zurückgegeben werden. Wenn mehrere Entitäten eingefügt werden sollen, geben Sie eine Liste der Entitäten zurück. Wenn keine Entitäten eingefügt werden sollen, geben Sie "None" oder [] zurück.

Parameter

entity – datastore.Entity

Gibt Folgendes zurück:

datastore.Entity oder Liste von datastore.Entity

statisch RegisteredLoaders()Quelle

Gibt eine Liste der erstellten Loader-Instanzen zurück.

kind()Quellcode

Gib den Entitätstyp zurück, den dieser Loader ausführt.

google.appengine.ext.bulkload.bulkload_deprecated.Validate(value, type)Quelle

Prüft, dass der Wert nicht leer und vom richtigen Typ ist.

Löst ValueError aus, wenn der Wert "None" oder leer ist bzw. TypeError, wenn es sich nicht um den angegebenen Typ handelt.

Parameter
  • value: beliebiger Wert

  • type: Typ oder ein Tupel von Typen

google.appengine.ext.bulkload.bulkload_deprecated.main(*loaders)Quellcode

Startet den Bulk-Upload.

Löst TypeError aus, wenn nicht mindestens eine Loader-Instanz angegeben wurde.

Parameter

loaders: Eine oder mehrere Loader-Instanzen.