Je lance une requête synchrone SELECT
simple dans BigQuery Google à l'aide de la bibliothèque client Python. Je reçois l'erreur suivante:Erreur 403: Réponse trop grande lors de l'exécution des requêtes de synchronisation BigQuery sur la bibliothèque Python
*** google.cloud.exceptions.Forbidden: 403 Response too large to return. Consider setting allowLargeResults to true
J'utilise run_sync_query() à cet effet.
La façon dont je le fais est (décapage des trucs unnecesary):
def run_query(query_str):
from google.cloud import bigquery
client = biquery.Client()
query = client.run_sync_query(query_str)
query.run()
return query.fetch_data()
Je sais qu'il existe un paramètre allowLargeResults
dans le API documentation mais je ne sais pas comment définir ce paramètre de la bibliothèque client.
Comment la table de destination est-elle définie spécifiquement dans la bibliothèque Python? – adrpino
Ce truc est assez facile à Google vous-même, mais là vous allez: https://googlecloudplatform.github.io/google-cloud-python/latest/bigquery/usage.html#querying-data-asynchronous –
Ce n'est en fait pas en utilisant une requête de synchronisation, mais appel 'run_async_query()', qui est ce que j'ai fini par utiliser. Ce n'était pas l'option préférée car dans ce cas, vous devez gérer la dénomination des tâches et des tables de destination. J'essayais de le configurer le travail de synchronisation mais AFAIK c'est pas possible. Comme vous pouvez le voir, ce n'était pas une question de savoir comment Google :) – adrpino