2016-07-19 11 views
1

insertAll wird fehlschlagen, wenn keine Tabelle mit diesem Namen existiert. Daher führen wir derzeit einen Prozess zum Erstellen der Tabelle aus und führen anschließend insertAll erneut aus, sobald die Tabelle vorhanden ist.Wie createDisposition mit BigQuery insertAll

Mit jedem anderen BigQuery-API-Aufruf können Sie createDisposition verwenden, um die Tabelle zu erstellen, wenn sie nicht existiert.

Meine Frage, gibt es so etwas für insertAll? Wenn nicht, warum nicht! Haha.

Antwort

1

Check out templateSuffix Eigenschaft für insertAll
Es tut, was Sie

Von Dokumentation erwarten

[Experimental] Wenn angegeben, behandelt die Zieltabelle als Basis Vorlage und fügt die Zeilen in eine Instanztabelle mit dem Namen "{destination} {templateSuffix}". BigQuery verwaltet die Erstellung der Instanztabelle mithilfe des Schemas der Basisschablonentabelle. Hinweise zum Arbeiten mit Schablonentabellen finden Sie unter https://cloud.google.com/bigquery/streaming-data-into-bigquery#template-tables .

So Anfrage sollte wie unten

aussehen
var request = { 
    projectId: "yourProject", 
    datasetId: "yourDataset", 
    tableId: "yourTable", 
    resource: { 
    "kind": "bigquery#tableDataInsertAllRequest", 
    "skipInvalidRows": true, 
    "ignoreUnknownValues": true, 
    "templateSuffix": "YourTableSuffix", 
    "rows": ... 
    }, 

mit Zieltabelle resultierenden - yourTableYourTableSuffix

+0

Care Probe Nutzlast zur Verfügung zu stellen? – Dovy