Lorsque vous lancez une tâche BigQuery à l'aide du connecteur BigQuery, il est possible que votre workflow n'attende pas automatiquement la fin de la tâche. Si les étapes suivantes dépendent de la réussite du job, vous devez implémenter un mécanisme d'interrogation.
De nombreux connecteurs Workflows renvoient une ressource d'opération de longue durée (LRO) qui peut être interrogée. Alors que certains connecteurs renvoient une ressource de type Operation pour représenter une LRO, BigQuery utilise une ressource Job à cet effet. D'autres services, tels que Cloud Build ou Compute Engine, renvoient une ressource Operation réelle. Pour obtenir la liste des types de ressources LRO, consultez Connecteurs compatibles.
Détection automatique
Vous pouvez interroger automatiquement l'état d'une tâche BigQuery lorsque vous utilisez des méthodes de connecteur qui renvoient une ressource LRO, comme googleapis.bigquery.v2.jobs.insert.
Lorsque vous utilisez une telle méthode de connecteur, Workflows bloque l'exécution du workflow jusqu'à ce que l'opération aboutisse ou échoue. Le champ connector_params vous permet de personnaliser le comportement d'interrogation, y compris le délai d'attente total et la fréquence des vérifications d'état. Pour en savoir plus, consultez Appeler un connecteur.
Par exemple, le workflow suivant montre comment démarrer une tâche BigQuery à l'aide de la méthode jobs.insert et comment configurer l'interrogation de la tâche avec une stratégie qui utilise des paramètres personnalisés plutôt que les paramètres par défaut :
YAML
JSON
Détection manuelle
L'interrogation automatique ne s'applique qu'aux méthodes qui renvoient une ressource LRO. Les méthodes synchrones standards telles que googleapis.bigquery.v2.jobs.query ne sont pas compatibles avec l'interrogation automatique et peuvent nécessiter une interrogation manuelle si la requête prend plus de temps que le délai d'expiration interne de l'API.
Par exemple, le workflow suivant montre comment interroger l'état d'une tâche BigQuery directement dans le workflow à l'aide de la méthode getQueryResults :
YAML
JSON
Étapes suivantes
- Présentation du connecteur d'API BigQuery
- Documentation de référence sur les connecteurs
- Présentation de la syntaxe de Workflows