Wenn Sie einen BigQuery-Job mit dem BigQuery-Connector, starten, wartet Ihr Workflow möglicherweise nicht automatisch auf den Abschluss des Jobs. Wenn nachfolgende Schritte vom Erfolg des Jobs abhängen, sollten Sie einen Abrufmechanismus implementieren.
Viele Workflows-Connectors geben eine
Ressource für einen Vorgang mit langer Ausführungszeit (LRO) zurück, die
abgerufen werden kann. Während einige Connectors eine Ressource vom Typ Operation zurückgeben, um
einen Vorgang mit langer Ausführungszeit darzustellen, verwendet BigQuery dafür eine
Job Ressource. Andere Dienste wie Cloud Build oder Compute Engine geben eine tatsächliche Operation-Ressource zurück. Eine Liste der Ressourcentypen für Vorgänge mit langer Ausführungszeit finden Sie unter
Unterstützte Connectors.
Automatischer Abruf
Sie können automatisch abrufen, ob ein BigQuery-Job abgeschlossen ist
wenn Sie Connector-Methoden verwenden, die eine Ressource für einen Vorgang mit langer Ausführungszeit zurückgeben, z. B.
googleapis.bigquery.v2.jobs.insert.
Wenn Sie eine solche Connector-Methode verwenden, blockiert Workflows die Workflowausführung, bis der Vorgang erfolgreich abgeschlossen wurde oder fehlgeschlagen ist. Mit dem Feld connector_params können Sie das Abrufverhalten anpassen, einschließlich des gesamten Zeitlimits und der Häufigkeit der Statusprüfungen. Weitere Informationen finden Sie unter
Connector-Aufruf aufrufen.
Der folgende Workflow zeigt beispielsweise, wie Sie einen BigQuery-Job mit der Methode jobs.insert starten und den Abruf des Jobs mit einer Richtlinie konfigurieren, die benutzerdefinierte Einstellungen anstelle der Standardeinstellungen verwendet:
YAML
JSON
Manueller Abruf
Der automatische Abruf gilt nur für Methoden, die eine Ressource für einen Vorgang mit langer Ausführungszeit zurückgeben. Standard
synchrone Methoden wie
googleapis.bigquery.v2.jobs.query
unterstützen keinen automatischen Abruf und erfordern möglicherweise
einen manuellen Abruf, wenn die Abfrage
länger als das interne API-Zeitlimit dauert.
Der folgende Workflow zeigt beispielsweise, wie Sie den Abschluss
eines BigQuery-Jobs direkt im Workflow mit der
getQueryResults Methode abrufen: