Documentation de référence de l'outil de ligne de commande bq

Ce document décrit la syntaxe, les commandes, les options et les arguments de bq, l'outil de ligne de commande BigQuery. Il est destiné aux utilisateurs qui connaissent bien BigQuery, mais qui souhaitent savoir comment utiliser une commande spécifique de l'outil de ligne de commande bq. Pour obtenir des informations générales sur l'utilisation de l'outil de ligne de commande bq, consultez la page Utiliser l'outil de ligne de commande bq.

Synopsis

L'outil de ligne de commande bq utilise le format suivant :

bq COMMAND [FLAGS] [ARGUMENTS]

Certaines options peuvent être utilisées avec plusieurs commandes de l'outil de ligne de commande bq, ces options sont décrites dans la section Options globales.

Les autres options sont spécifiques à une commande. Elles ne peuvent être utilisées qu'avec une commande spécifique de l'outil de ligne de commande bq. Les options propres à chaque commande sont décrites dans la section consacrée à chacune des commandes.

Options booléennes

Certaines options de l'outil de ligne de commande bq sont booléennes : vous pouvez définir la valeur de cette option sur true ou false. L'outil de ligne de commande bq accepte les formats suivants pour définir des options booléennes.

Valeur Format Exemple
true --FLAGNAME=true --debug=true
true --FLAGNAME --debug
false --FLAGNAME=false --debug=false
false --noFLAGNAME --nodebug

Ce document utilise le format --FLAGNAME=VALUE pour les options booléennes.

Toutes les options booléennes sont facultatives. Si aucune option booléenne n'est présente, BigQuery utilise la valeur par défaut de l'option.

Spécifier des valeurs pour les options

Lorsque vous spécifiez une valeur pour une option, le signe égal (=) est facultatif. Par exemple, les deux commandes suivantes sont équivalentes :

bq ls --format prettyjson myDataset
bq ls --format=prettyjson myDataset

Pour plus de clarté, ce document utilise le signe égal.

Aide en ligne

La documentation est disponible dans l'outil de ligne de commande bq, comme suit :

Description Format des commandes d'aide Exemple
Liste de toutes les commandes avec exemples bq help bq help
Description des options globales bq --help bq --help
Description d'une commande particulière bq help COMMAND bq help mk

Spécification des ressources

Le format de spécification d'une ressource dépend du contexte. Dans certains cas, le séparateur entre le projet et l'ensemble de données est le deux-points (:) et, dans certains cas, le point (.). Le tableau suivant explique comment spécifier une table BigQuery dans différents contextes.

Context Format Exemple
Outil de ligne de commande bq PROJECT:DATASET.TABLE myProject:myDataset.myTable
Requête en SQL standard PROJECT.DATASET.TABLE myProject.myDataset.myTable
Requête en ancien SQL PROJECT:DATASET.TABLE myProject:myDataset.myTable

Si vous ne spécifiez pas de projet, BigQuery utilise le projet en cours. Par exemple, si le projet actuel est myProject, BigQuery interprète myDataset.myTable comme myProject:myDataset.myTable (ou myProject.myDataset.myTable).

Certains identifiants de ressources doivent être placés entre deux symboles d'accent grave (`). Si l'identifiant de la ressource commence par une lettre ou un trait de soulignement et ne contient que des caractères tels que des lettres, des chiffres et des traits de soulignement, vous n'avez pas besoin des accents graves. Toutefois, si votre identifiant de ressource contient d'autres types de caractères ou des mots clés réservés, vous devez placer l'identifiant entre deux symboles d'accent grave (ou la partie de l'identifiant avec les caractères spéciaux ou les mots clés réservés). Pour en savoir plus, consultez la section Identifiants.

Options globales

Vous pouvez utiliser les options suivantes avec n'importe quelle commande bq, le cas échéant :

--api=ENDPOINT
Spécifie le point de terminaison de l'API à appeler. La valeur par défaut est https://www.googleapis.com.
--api_version=VERSION
Spécifie la version de l'API à utiliser. La valeur par défaut est v2.
--apilog=FILE

Consigne toutes les requêtes et réponses de l'API dans le fichier spécifié par FILE Les valeurs possibles sont les suivantes :

  • le chemin d'accès à un fichier au sein du fichier spécifié
  • stdout : journaux affichés dans la sortie standard
  • stderr : journaux affichés en erreur standard
  • false : les requêtes et les réponses de l'API ne sont pas consignées (par défaut)
--bigqueryrc=PATH

Indique le chemin d'accès au fichier de configuration de l'outil de ligne de commande bq. Si vous ne spécifiez pas l'option --bigqueryrc, la commande utilise la variable d'environnement BIGQUERYRC. Si la variable d'environnement n'est pas définie, $HOME/.bigqueryrc est utilisé. Si ce fichier n'existe pas, la valeur ~/.bigqueryrc est utilisée. Pour plus d'informations, consultez la section Définir des valeurs par défaut pour les options de ligne de commande.

--ca_certificates_file=PATH

Indique l'emplacement de votre fichier de Certificate Authority Service (CA).

--dataset_id=DATASET_ID

Spécifie l'ensemble de données par défaut à utiliser avec la commande. Cet option est ignorée lorsqu'elle n'est pas applicable. Vous pouvez spécifier l'argument DATASET_ID au format PROJECT:DATASET ou DATASET. Si la partie PROJECT est manquante, le projet par défaut est utilisé. Vous pouvez remplacer le paramètre de projet par défaut en spécifiant l'option --project_id.

--debug_mode={true|false}

En cas de définition sur true, les traces des exceptions Python s'affichent. La valeur par défaut est false.

--disable_ssl_validation={true|false}

Si la valeur est true, active la validation du certificat HTTPS. La valeur par défaut est false.

--discovery_file=PATH

Spécifie le fichier JSON à lire pour la découverte.

--enable_gdrive={true|false}

Si la valeur est false, demande un nouveau jeton OAuth sans niveau d'accès Drive. La valeur par défaut est true. Demande un nouveau jeton OAuth avec le niveau d'accès Drive.

--fingerprint_job_id={true|false}

Pour utiliser un identifiant de tâche issu d'une empreinte de la configuration de la tâche, définissez cette valeur sur true. Cela empêche la même tâche de s'exécuter plusieurs fois par inadvertance. La valeur par défaut est false.

--format=FORMAT

Spécifie le format de sortie de la commande, Appliquez l'une des valeurs suivantes :

  • pretty : sortie en tant que table formatée
  • sparse : sortie en tant que table simplifiée
  • prettyjson : format JSON facile à lire
  • json : format JSON le plus compact possible
  • csv : format CSV avec en-tête

Les formats pretty, sparse et prettyjson sont conçus pour être lisibles. Les formats json et csv sont destinés à être utilisés par un autre programme. Si la valeur none est spécifiée, alors la commande ne produit aucun résultat. Si l'option --format est absente, alors un format de sortie approprié est choisi en fonction de la commande.

--headless={true|false}

Pour exécuter la session bq sans interaction de l'utilisateur, définissez cette valeur sur true. Par exemple, debug_mode n'interfère pas avec le débogueur et la fréquence d'impression des informations est réduite. La valeur par défaut est false.

--httplib2_debuglevel=DEBUG_LEVEL

Spécifie si les informations de débogage HTTP doivent être affichées. Si la valeur de DEBUG_LEVEL est supérieure à 0, la commande consigne les requêtes et les réponses du serveur HTTP dans stderr, en plus des messages d'erreur. Si DEBUG_LEVEL n'est pas supérieur à 0 ou si l'option --httplib2_debuglevel n'est pas utilisée, seuls les messages d'erreur sont fournis.

Exemple :

--httplib2_debuglevel=1

--job_id=JOB_ID

Spécifie un identifiant de tâche pour une nouvelle tâche. Cette option ne s'applique qu'aux commandes destinées à créer des tâches : cp, extract, load et query. Si vous n'utilisez pas l'option --job_id, alors les commandes génèrent un identifiant de tâche unique. Pour plus d'informations, consultez la section Exécuter des tâches par programmation.

--job_property=KEY:VALUE

Paire clé/valeur à inclure dans le champ des propriétés de la configuration de la tâche. Répétez cette option pour spécifier des propriétés supplémentaires.

--location=LOCATION

Chaîne correspondant à votre région ou à un emplacement multirégional. L'option d'emplacement est nécessaire pour les commandes bq cancel et bq show lorsque l'option --jobs est utilisée pour afficher les informations de tâche. L'option d'emplacement est facultative pour les commandes ci-dessous :

Toutes les autres commandes ignorent l'option --location.

--max_rows_per_request=MAX_ROWS

Entier spécifiant le nombre maximal de lignes à renvoyer par opération de lecture.

--project_id=PROJECT

Spécifie le projet à utiliser pour les commandes.

--proxy_address=PROXY

Spécifie le nom ou l'adresse IP de l'hôte proxy à utiliser pour se connecter à Google Cloud.

--proxy_password=PASSWORD

Spécifie le mot de passe à utiliser pour s'authentifier avec l'hôte proxy.

--proxy_port=PORT

Spécifie le numéro de port à utiliser pour se connecter à l'hôte proxy.

--proxy_username=USERNAME

Spécifie le nom d'utilisateur à utiliser pour s'authentifier avec l'hôte proxy.

--quiet={true|false} ou -q={true|false}

Pour supprimer les mises à jour de l'état pendant l'exécution des tâches, définissez cette valeur sur true. La valeur par défaut est false.

--synchronous_mode={true|false} ou -sync={true|false}

Pour créer la tâche et renvoyer le résultat immédiatement, avec un état d'avancement réussi comme code d'erreur, définissez cette valeur sur false. Si défini sur true, la commande attend que la tâche soit terminée avant de renvoyer le résultat, et renvoie l'état d'avancement de la tâche en tant que code d'erreur. La valeur par défaut est true.

--trace=token:TOKEN

Spécifie un jeton de traçage à inclure dans les requêtes API.

Options globales obsolètes

Les options globales suivantes destinées la configuration de l'autorisation de l'outil de ligne de commande bq sont obsolètes. Pour configurer une autorisation pour l'outil de ligne de commande bq, consultez la page Autoriser les outils SDK Cloud.

--application_default_credential_file

Pour en savoir plus, consultez la section Authentification en tant que compte de service. La valeur par défaut est ''.

--credential_file

Nom de fichier utilisé pour le stockage de votre jeton OAuth. La valeur par défaut est $HOME/.bigquery.v2.token.

--service_account

Spécifie une adresse e-mail de compte de service à utiliser pour l'autorisation. Exemple :

        1234567890@developer.gserviceaccount.com
        
.

--service_account_credential_file

Fichier utilisé pour le stockage des identifiants des comptes de service. Cette option doit être définie si vous utilisez un compte de service.

--service_account_private_key_file

Fichier contenant la clé privée du compte de service. Cette option est nécessaire si l'option --service_account est spécifiée. La valeur par défaut est ''.

--service_account_private_key_password

Mot de passe de la clé privée. Le mot de passe doit correspondre au mot de passe défini sur la clé lors de sa création. La valeur par défaut est notasecret.

--use_gce_service_account={true|false}

Pour utiliser les identifiants du compte de service au lieu des identifiants stockés lorsque vous exécutez une instance Compute Engine, définissez cette option sur true. La valeur par défaut est false. Les identifiants stockés sont utilisés. Pour en savoir plus, consultez la page suivante : Créer et activer des comptes de service pour les instances.

L'option globale suivante permettant de spécifier des options de l'outil de ligne de commande bq à partir d'un fichier est obsolète. Pour spécifier des options à partir d'un fichier, utilisez l'option --bigqueryrc.

--flagfile=PATH

Si une valeur est spécifiée, les définitions d'options du fichier fourni sont insérées dans l'outil de ligne de commande bq. La valeur par défaut est ''.

Pour plus d'informations, consultez la section Définir des valeurs par défaut pour les options de ligne de commande.

Commandes

Les sections suivantes décrivent les commandes de l'outil de ligne de commande bq, ainsi que leurs options et arguments spécifiques aux commandes.

bq add-iam-policy-binding

Utilisez la commande bq add-iam-policy-binding pour récupérer la stratégie Identity and Access Management (IAM) d'une table ou d'une vue, et ajouter une liaison à la stratégie en une seule étape.

Cette commande constitue une alternative au processus en trois étapes suivant :

  1. Utiliser la commande bq get-iam-policy pour récupérer le fichier de stratégie (au format JSON)
  2. Modifier le fichier de stratégie
  3. Exécuter la commande bq set-iam-policy pour mettre à jour la stratégie avec une nouvelle liaison

Synopsis

bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE
  [--table] RESOURCE

Exemple

bq add-iam-policy-binding --member=user:myAccount@gmail.com \
  --role=roles/bigquery.dataViewer myDataset.myTable

Options et arguments

La commande bq add-iam-policy-binding utilise les options et les arguments suivants :

--member=MEMBER_TYPE:MEMBER

Obligatoire. Utilisez l'option --member pour spécifier la partie membre de la liaison de stratégie IAM. L'option --member doit être spécifiée avec l'option --role. Une combinaison des options --member et --role équivaut à une liaison.

La valeur MEMBER_TYPE spécifie le type de membre dans la liaison de stratégie IAM. Appliquez l'une des valeurs suivantes :

  • user
  • serviceAccount
  • group
  • domain

La valeur MEMBER spécifie l'adresse e-mail ou le domaine du membre dans la liaison de stratégie IAM.

--role=ROLE

Obligatoire. Spécifie la partie de la liaison de stratégie IAM correspondant au rôle. L'option --role doit être spécifiée avec l'option --member. Une combinaison des options --member et --role équivaut à une liaison.

--table={true|false}

Pour renvoyer une erreur si l'argument RESOURCE n'est pas un identifiant de table ou de vue, définissez l'option --table sur true. La valeur par défaut est false. Cette option est compatible par souci de cohérence avec d'autres commandes.

RESOURCE

Table ou vue dont vous souhaitez ajouter la stratégie.

Pour en savoir plus, consultez la documentation de référence sur les stratégies IAM.

bq cancel

Utilisez la commande bq cancel pour annuler des tâches BigQuery.

Synopsis

bq [--synchronous_mode=false] cancel JOB_ID

Exemples

bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345

Options et arguments

La commande bq cancel utilise les options et arguments suivants :

--synchronous_mode=false
Si vous ne souhaitez pas attendre l'exécution de la commande bq cancel, définissez l'option globale --synchronous_mode sur false. La valeur par défaut est true.
JOB_ID
La tâche que vous souhaitez annuler.

Pour plus d'informations sur l'utilisation de la commande bq cancel, consultez la page Gérer les tâches.

bq cp

Utilisez la commande cp pour copier des tables, créer des instantanés de tables ou restaurer des instantanés de table.

Synopsis

bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE

Exemple

bq cp myDataset.myTable myDataset.myTableCopy

Options et arguments

La commande bq cp utilise les options et arguments suivants :

--append_table={true|false} ou -a={true|false}
Pour ajouter une table à une table existante, définissez cette valeur sur true. La valeur par défaut est false.
--destination_kms_key=KEY

Spécifie un identifiant de ressource de clé Cloud KMS permettant de chiffrer les données de la table de destination.

Exemple :

--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey

--expiration=SECONDS

Nombre de secondes avant l'expiration d'un instantané de table. Si cette valeur est omise, le délai d'expiration de l'instantané de table est défini sur le délai d'expiration par défaut de l'ensemble de données contenant le nouvel instantané de table. Utilisez cette option avec l'option --snapshot.

--force={true|false} ou -f={true|false}

Le cas échéant, définissez la table de destination sur true en l'absence d'invite. La valeur par défaut est false. Si la table de destination existe, la commande vous invite à confirmer l'opération avant de l'écraser.

--no_clobber={true|false} ou -n={true|false}

Pour interdire l'écrasement de la table de destination, le cas échéant, définissez la table sur true. La valeur par défaut est false. Si la table de destination existe, elle est remplacée.

--restore

Crée une table standard à partir d'un instantané de table. L'argument SOURCE_TABLE doit spécifier un instantané de table.

--snapshot

Crée un instantané de table de la table standard spécifiée dans l'argument SOURCE_TABLE. Ce paramètre nécessite l'option --no_clobber.

SOURCE_TABLE

La table vers laquelle vous souhaitez effectuer une copie.

DESTINATION_TABLE

La table vers laquelle vous souhaitez effectuer une copie.

Pour plus d'informations sur l'utilisation de la commande cp, consultez les pages suivantes :

bq extract

Utilisez la commande bq extract pour exporter les données d'une table vers Cloud Storage.

Synopsis

bq extract [FLAGS] RESOURCE DESTINATION

Exemples

bq extract --compression=GZIP --destination_format=CSV --field_delimiter=tab \
    --print_header=false myDataset.myTable gs://my-bucket/myFile.csv.gzip
bq extract --destination_format=CSV --field_delimiter='|' myDataset.myTable \
  gs://myBucket/myFile.csv

Options et arguments

La commande bq extract utilise les options et arguments suivants :

--compression=COMPRESSION_TYPE

Spécifie le type de compression à utiliser pour les fichiers exportés. Les valeurs possibles sont les suivantes :

  • GZIP
  • DEFLATE
  • SNAPPY
  • NONE

La valeur par défaut est NONE.

Pour en savoir plus sur les formats compatibles avec chaque type de compression, consultez la section Formats d'exportation et types de compression.

--destination_format=FORMAT

Spécifie le format des données exportées. Les valeurs possibles sont les suivantes :

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • PARQUET

La valeur par défaut est CSV.

--field_delimiter=DELIMITER

Pour les exportations au format CSV, spécifie le caractère qui marque la délimitation entre les colonnes du fichier de sortie. Le délimiteur peut être n'importe quel caractère ISO-8859-1 à un octet. Vous pouvez utiliser \t ou tab pour spécifier des délimiteurs de tabulation.

--print_header={true|false}

Pour supprimer l'impression des lignes d'en-tête pour les formats comportant des en-têtes, définissez cette valeur sur false. La valeur par défaut est true. Les lignes d'en-tête sont incluses.

RESOURCE

La table à partir de laquelle vous exportez.

DESTINATION

L'emplacement de stockage qui reçoit les données exportées.

Pour plus d'informations sur l'utilisation de la commande bq extract, consultez la page Exporter les données des tables.

bq get-iam-policy

Utilisez la commande bq get-iam-policy pour récupérer la stratégie IAM d'une ressource et l'afficher dans stdout. La ressource peut être une table ou une vue. La stratégie est au format JSON.

Synopsis

bq get-iam-policy [FLAGS] RESOURCE

Exemple

bq get-iam-policy myDataset.myTable

Options et arguments

La commande bq get-iam-policy utilise les options et arguments suivants :

--table={true|false} ou --t={true|false}
Pour renvoyer une erreur si RESOURCE n'est pas un identifiant de table ou de vue, définissez l'option --table sur true. La valeur par défaut est false. Cette option est compatible par souci de cohérence avec d'autres commandes.
RESOURCE
La table ou la vue dont vous souhaitez obtenir la stratégie.

Pour plus d'informations sur la commande bq get-iam-policy, consultez la page Présentation des contrôles d'accès aux tables.

bq head

Utilisez la commande bq head pour afficher les lignes et les colonnes spécifiées d'une table. Par défaut, toutes les colonnes des 100 premières lignes sont affichées.

Synopsis

bq head [FLAGS] [TABLE]

Exemple

bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \
  myDataset.myTable

Options et arguments

La commande bq head utilise les options et arguments suivants :

--job=JOB or -j=JOB
Pour lire les résultats d'une tâche de requête, spécifiez cette option avec un identifiant de tâche valide.
--max_rows=MAX or -n=MAX
Entier indiquant le nombre maximal de lignes à afficher lors de l'affichage des données de la table. La valeur par défaut est 100.
--selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES
Liste séparée par des virgules spécifiant un sous-ensemble de champs à renvoyer (y compris les champs imbriqués et répétés) lors de l'affichage des données de la table. Si cette option n'est pas spécifiée, toutes les colonnes sont renvoyées.
--start_row=START_ROW or -s=START_ROW
Entier qui spécifie le nombre de lignes à ignorer avant d'afficher les données de la table. La valeur par défaut est 0, les données de la table commencent à la première ligne.
--table={true|false} ou -t={true|false}
Pour renvoyer une erreur si l'argument de commande n'est ni une table ni une vue, définissez cette valeur sur true. La valeur par défaut est false. Cette option est compatible par souci de cohérence avec d'autres commandes.
TABLE
Table dont vous souhaitez récupérer les données.

Pour plus d'informations sur l'utilisation de la commande bq head, consultez la page Gérer des données de tables.

bq help

Utilisez la commande bq help pour afficher la documentation de l'outil de ligne de commande bq.

Synopsis

bq help [COMMAND]

Options et arguments

La commande bq help utilise les options et arguments suivants :

COMMAND
Spécifie une commande d'outil de ligne de commande bq particulière pour laquelle vous souhaitez obtenir une aide en ligne.

bq insert

Utilisez la commande bq insert pour insérer des lignes de données au format JSON délimitées par un retour à la ligne dans une table d'un fichier, en utilisant le tampon d'insertion en flux continu. Les types de données sont convertis pour correspondre aux types de colonnes de la table de destination. Cette commande est conçue à des fins de test uniquement. Pour diffuser des données en flux continu dans BigQuery, utilisez la méthode API insertAll.

Synopsis

bq insert [FLAGS] TABLE FILE

Exemples

bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable

Options et arguments

La commande bq insert utilise les options et arguments suivants :

--ignore_unknown_values={true|false} ou -i={true|false}
Lorsque ce paramètre est défini sur true, BigQuery ignore les paires clé/valeur qui ne correspondent pas au schéma de la table, et insère la ligne avec les données qui correspondent à ce schéma. Lorsque la valeur est false, les lignes dont les données ne correspondent pas au schéma de la table ne sont pas insérées. La valeur par défaut est false.
--skip_invalid_rows={true|false} ou -s={true|false}
En cas de définition sur true, BigQuery tente d'insérer des lignes valides, même si des lignes non valides sont présentes. En cas de définition sur false, la commande échoue si des lignes non valides sont présentes. La valeur par défaut est false.
--template_suffix=SUFFIX or -x=SUFFIX
Si spécifié, traite la table de destination TABLE comme un modèle de base, puis insère les lignes dans une table d'instance nommée {destination}{templateSuffix}. BigQuery crée la table d'instance à l'aide du schéma du modèle de base.
TABLE
La table dans laquelle vous souhaitez insérer des données.
FILE
Fichier contenant les données que vous souhaitez insérer.

Pour plus d'informations sur l'utilisation de la commande bq insert, consultez la page Importer des données dans BigQuery.

bq load

Utilisez la commande bq load pour charger des données dans une table.

Synopsis

bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]

Exemple

bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json

Options et arguments

La commande bq load utilise les options et arguments suivants :

--allow_jagged_rows={true|false}
Pour autoriser les colonnes finales facultatives manquantes dans les données CSV, définissez cette valeur sur true.
--allow_quoted_newlines={true|false}
Pour autoriser les nouvelles lignes entre guillemets dans les données CSV, définissez cette valeur sur true.
--autodetect={true|false}
Pour activer la détection automatique de schéma pour les données CSV et JSON, définissez cette valeur sur true. La valeur par défaut est false. Si la valeur de --autodetect est false, qu'aucun schéma n'est spécifié à l'aide de l'option --schema, et que la table de destination existe, le schéma de la table de destination est utilisé.
--clustering_fields=COLUMNS
Liste contenant jusqu'à quatre noms de colonne séparés par une virgule, qui spécifie les champs à utiliser pour le clustering des tables.
--destination_kms_key=KEY
Spécifie un identifiant de ressource de clé Cloud KMS pour chiffrer les données de la table de destination.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE
Encodage de caractères utilisé dans les données. Utilisez l'une des valeurs suivantes :
  • ISO-8859-1 (également appelée Latin-1)
  • UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER
Spécifie le caractère qui marque la délimitation entre les colonnes de données. Le délimiteur peut être n'importe quel caractère ISO-8859-1 à un octet. Vous pouvez utiliser \t ou tab pour spécifier les délimiteurs de tabulation.
--ignore_unknown_values={true|false}
Si spécifié sur true, pour les fichiers CSV et JSON, les lignes dont les valeurs de colonnes supplémentaires ne correspondent pas au schéma de la table sont ignorées et ne sont pas chargées. De même, pour les fichiers Avro, Parquet et ORC, les champs du schéma de fichier qui n'existent pas dans le schéma de la table sont ignorés et ne sont pas chargés.
--json_extension=JSON_TYPE

Indique le type de fichier JSON à charger. S'applique uniquement aux fichiers JSON. Les valeurs possibles sont les suivantes :

  • GEOJSON : fichier GeoJSON délimité par un retour à la ligne.

Pour que cette option soit utilisée, l'option --source_format doit être définie sur NEWLINE_DELIMITED_JSON.

Pour en savoir plus, consultez la section Charger des fichiers GeoJSON délimités par un retour à la ligne.

--max_bad_records=MAX

Entier spécifiant le nombre maximal d'enregistrements incorrects autorisés avant l'échec total de la tâche. La valeur par défaut est 0. Au plus, cinq erreurs de n'importe quel type sont renvoyées, quelle que soit la valeur --max_bad_records. Cette option ne s'applique qu'au chargement de données CSV, JSON et Sheets.

--null_marker=STRING

Chaîne personnalisée facultative qui représente une valeur NULL dans les données CSV.

--projection_fields=PROPERTY_NAMES

Si vous définissez --source_format sur DATASTORE_BACKUP, cette option indique les propriétés d'entité à charger à partir d'une exportation Datastore. Spécifiez les noms de propriété sous la forme d'une liste de valeurs séparées par des virgules. Les noms de propriétés sont sensibles à la casse et doivent faire référence à des propriétés de niveau supérieur. Vous pouvez également utiliser cette option avec les exportations Firestore.

--quote=CHARACTER

Spécifie un caractère de guillemet pour entourer les champs des données CSV. L'argument CHARACTER peut être n'importe quel caractère de un octet. La valeur par défaut est un guillemet double ("). Pour indiquer l'absence de caractère de guillemet, utilisez une chaîne vide "".

--replace={true|false}

Pour effacer les données et le schéma existants lorsque de nouvelles données sont chargées, définissez cette valeur sur true. Les clés Cloud KMS sont également supprimées, sauf si vous spécifiez l'option --destination_kms_key. La valeur par défaut est false.

--schema={SCHEMA_FILE|SCHEMA}

Spécifie le chemin d'accès à un fichier de schéma JSON local, ou une liste de définitions de colonnes séparées par une virgule au format FIELD:DATA_TYPE, FIELD:DATA_TYPE, et ainsi de suite. Si vous utilisez un fichier de schéma, n'utilisez pas d'extension.

Exemple :

--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER

Si aucun schéma n'est spécifié, que --autodetect est défini sur false et que la table de destination existe, le schéma de la table de destination est utilisé.

--schema_update_option=OPTION

Lorsque vous ajoutez des données à une table (dans une tâche de chargement ou de requête) ou que vous remplacez une partition de table, spécifie comment mettre à jour le schéma de la table de destination. Appliquez l'une des valeurs suivantes :

  • ALLOW_FIELD_ADDITION : autoriser l'ajout de nouveaux champs
  • ALLOW_FIELD_RELAXATION : autoriser l'assouplissement des champs REQUIRED sur NULLABLE

Répétez cette option pour spécifier plusieurs options de mise à jour de schéma.

--skip_leading_rows=NUMBER_OF_ROWS

Entier qui spécifie le nombre de lignes à ignorer au début du fichier source. La valeur par défaut est 0.

--source_format=FORMAT

Format des données source. Appliquez l'une des valeurs suivantes :

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP (utilisez cette valeur pour Filestore)
  • PARQUET
  • ORC
--time_partitioning_expiration=SECONDS

Entier qui spécifie (en secondes) le moment où une partition temporelle doit être supprimée. Le délai d'expiration correspond à la date UTC de la partition plus la valeur entière. Un nombre négatif indique l'absence de délai d'expiration.

--time_partitioning_field=COLUMN_NAME

Spécifie le champ qui détermine la création d'une partition temporelle. Si le partitionnement temporel est activé sans cette valeur, la table est partitionnée en fonction du temps de chargement.

--time_partitioning_type=INTERVAL

Active le partitionnement temporel sur une table et définit le type de partition. Appliquez l'une des valeurs suivantes :

  • DAY
  • HOUR
  • MONTH
  • YEAR

Le type de partition par défaut pour le partitionnement temporel est DAY.

--use_avro_logical_types={true|false}

Si l'option --source_format est définie sur AVRO, définissez-la sur true pour convertir les types logiques en types correspondants tels que TIMESTAMP, au lieu de n'utiliser que leur type brut (par exemple, INTEGER).

--decimal_target_types=DECIMAL_TYPE

Détermine comment convertir un type logique Decimal. Équivaut à JobConfigurationLoad.decimalTargetTypes. Répétez cette option pour spécifier plusieurs types de cibles.

--parquet_enum_as_string={true|false}

Si l'option --source_format est définie sur PARQUET et que vous souhaitez que BigQuery déduise les types logiques Parquet ENUM en tant que valeurs STRING, définissez cette option sur true. La valeur par défaut est false.

--parquet_enable_list_inference={true|false}

Si l'option --source_format est définie sur PARQUET, celle-ci indique s'il faut utiliser l'inférence de schéma pour les types logiques LIST de Parquet.

DESTINATION_TABLE

Table dans laquelle vous souhaitez charger des données.

SOURCE_DATA

URI Cloud Storage du fichier contenant les données que vous souhaitez charger.

SCHEMA

Schéma de la table de destination.

Pour en savoir plus sur le chargement de données depuis Cloud Storage à l'aide de la commande bq load, consultez la section suivante :

Pour plus d'informations sur le chargement de données à partir d'une source locale à l'aide de la commande bq load, consultez les pages ci-dessous :

bq ls

Utilisez la commande bq ls pour lister les objets d'une collection.

Synopsis

bq ls [FLAGS] [RESOURCE]

Exemple

bq ls myDataset

Options et arguments

La commande bq ls utilise les options et arguments suivants :

--all={true|false} ou -a={true|false}
Pour afficher tous les résultats, définissez cette valeur sur true. Affiche les tâches de tous les utilisateurs ou de tous les ensembles de données, y compris ceux qui sont masqués. Cette option n'est pas nécessaire pour répertorier les configurations ou les exécutions de transferts. La valeur par défaut est false.
--capacity_commitment={true|false}

Pour répertorier les engagements de capacité, définissez ce paramètre sur true et utilisez l'option --location pour spécifier l'emplacement. Pour en savoir plus, consultez la section Afficher les engagements achetés.

Par exemple : bq ls --capacity_commitment=true --location='us'

--datasets={true|false} ou -d={true|false}

Pour lister les ensembles de données, définissez cette valeur sur true. La valeur par défaut est false.

--filter="FILTER"

Liste les ensembles de données qui correspondent à l'argument FILTER, qui est constitué d'un ou de plusieurs triples séparés par des espaces au format labels.KEY:VALUE. Si plusieurs triples sont saisis, la commande ne renvoie que les ensembles de données correspondant à tous les triples (la commande utilise alors l'opérateur logique AND, et non OR). Si vous souhaitez spécifier plusieurs triples, saisissez la valeur FILTER entre guillemets.

  • Pour effectuer un filtrage en fonction des libellés de l'ensemble de données, utilisez les clés et les valeurs que vous avez appliquées à ces ensembles de données.

    Exemple :

    --filter "labels.department:marketing labels.team:sales"
    

  • Pour effectuer un filtrage en fonction des configurations de transfert, utilisez dataSourceIds comme clé et l'une des sources de données suivantes comme valeur :

Exemple :

   --filter labels.dataSourceIds:dcm_dt
   

  • Pour filtrer en fonction des exécutions de transfert, utilisez states comme clé et l'un des états de transfert suivants comme valeur :

    • SUCCEEDED
    • FAILED
    • PENDING
    • RUNNING
    • CANCELLED

      Exemple :

      --filter labels.states:FAILED
      

--jobs={true|false} ou -j={true|false}
Pour lister les tâches, définissez le paramètre sur true. La valeur par défaut est false. Par défaut, les résultats sont limités à 100 000.
--max_creation_time=MAX_CREATION_TIME_MS
Entier représentant un horodatage en millisecondes. Avec l'option --jobs, liste uniquement les tâches créées avant l'horodatage.
--max_results=MAX_RESULTS or -n=MAX_RESULTS
Entier indiquant le nombre maximal de résultats. La valeur par défaut est 50.
--min_creation_time=MIN_CREATION_TIME_MS
Entier représentant un horodatage en millisecondes. Avec l'option --jobs, liste uniquement les tâches créées après l'horodatage.
--message_type=messageTypes:MESSAGE_TYPE

Pour répertorier uniquement les messages du journal d'exécution de transferts d'un type particulier, spécifiez messageTypes:MESSAGE_TYPE. Les valeurs possibles sont les suivantes :

  • INFO
  • WARNING
  • ERROR
--models={true|false} ou -m={true|false}

Pour lister les modèles BigQuery ML, définissez cette valeur sur true. La valeur par défaut est false.

--page_token=TOKEN ou -k=TOKEN

Liste les éléments à partir du jeton de page spécifié.

--projects={true|false} ou -p={true|false}

Pour afficher tous les projets, définissez cette valeur sur true. La valeur par défaut est false.

--reservation={true|false}

Pour répertorier toutes les réservations pour un projet et un emplacement donnés, définissez cette valeur sur true. La valeur par défaut est false. Utilisez les options --project_id et --location.

Exemple :

bq ls --reservation=true --project_id=myProject --location=us

--reservation_assignment={true|false}

Pour répertorier toutes les attributions de réservation pour un projet et un emplacement donnés, définissez la valeur sur true. La valeur par défaut est false. Utilisez les options --project_id et --location.

--routines={true|false}

Pour répertorier toutes les routines de l'ensemble de données spécifié, définissez la valeur sur true. La valeur par défaut est false. Les routines incluent les Fonctions persistantes définies par l'utilisateur, les Fonctions de table (Bêta) et les procédures stockées.

--row_access_policies

En cas de spécification, répertorie toutes les règles d'accès au niveau des lignes d'une table. Les règles d'accès au niveau des lignes sont utilisées pour la sécurité au niveau des lignes. Vous devez indiquer le nom de la table au format dataset.table.

--run_attempt=RUN_ATTEMPT

Utilisez cette option avec l'option --transfer_run. Pour lister toutes les tentatives d'exécution de l'exécution de transfert spécifiée, définissez cette valeur sur RUN_ATTEMPT_UNSPECIFIED. Pour lister uniquement la dernière tentative d'exécution, définissez cette valeur sur LATEST. La valeur par défaut est LATEST.

--transfer_config={true|false}

Pour répertorier les configurations de transfert dans le projet et l'emplacement spécifiés, définissez cette valeur sur true. Utilisez les options --transfer_location et --project_id. La valeur par défaut est false.

--transfer_location=LOCATION

Répertorie les configurations de transfert à l'emplacement spécifié. Vous définissez l'emplacement de transfert lors de la création du transfert.

--transfer_log={true|false}

Utilisez cette option avec l'option --transfer_run. Pour lister les messages du journal de transfert pour l'exécution du transfert spécifiée, définissez cette valeur sur true. La valeur par défaut est false.

--transfer_run={true|false}

Liste les exécutions de transfert pour la configuration de transfert spécifiée.

Exemple :

bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345

RESOURCE

Collection dont vous souhaitez répertorier les objets. La ressource peut être un ensemble de données, un projet, une réservation ou une configuration de transfert.

Pour plus d'informations sur l'utilisation de la commande bq ls, consultez les pages suivantes :

bq mk

Exécutez la commande bq mk pour créer une ressource BigQuery.

Synopsis

bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]

Options et arguments

La commande bq mk utilise une option de type em qui spécifie le type de ressource à créer et d'autres options qui dépendent du type de ressource.

TYPE_FLAG : définissez l'une des options suivantes sur true. Votre sélection spécifie le type de ressource à créer.

La commande bq mk est compatible avec l'option suivante pour tous les types de ressources :

--force={true|false} ou -f={true|false}
Pour ignorer les erreurs si une ressource portant le même nom existe déjà, définissez cette valeur sur true. Si la ressource existe déjà, le code de sortie est 0, mais si vous définissez cette valeur sur true, la commande bq mk n'écrase pas la ressource. La valeur par défaut est false.

La commande bq mk accepte des options supplémentaires suivant le type de ressource que vous créez, comme décrit dans les sections suivantes.

bq mk --capacity_commitment

Pour souscrire un engagement de capacité, définissez --capacity_commitment sur true et utilisez les options suivantes :

--location=LOCATION
Spécifie l'emplacement du projet.
--plan=PLAN_TYPE
Spécifie le type de forfait d'engagement. Définissez cette option sur l'une des valeurs suivantes :
  • FLEX
  • MONTHLY
  • ANNUAL
--renewal_plan=RENEWAL_TYPE
Spécifie le type de forfait de renouvellement. Applicable et obligatoire uniquement pour un forfait d'engagement ANNUAL. Choisissez l'une des options suivantes :
  • FLEX
  • MONTHLY
  • ANNUAL
--project_id=PROJECT_ID
Spécifie le projet qui administre les emplacements.
--slots=NUMBER_OF_SLOTS
Spécifie le nombre d'emplacements à acheter.

Pour en savoir plus, consultez la section Acheter des emplacements.

bq mk --connection

Crée une connexion. Les options suivantes sont acceptées :

--connection_type=CONNECTION_TYPE
Type de connexion, par exemple CLOUD_SQL pour les connexions Cloud SQL.
--properties=PROPERTIES
Paramètres spécifiques à la connexion au format JSON. instanceId, database et type doivent être spécifiés.
--connection_credential=CONNECTION_CREDENTIAL
Identifiants de la connexion au format JSON. username et password doivent être spécifiés.
--project_id=PROJECT_ID
Spécifie l'ID du projet auquel la connexion appartient.
--location=LOCATION
Spécifie l'emplacement de stockage de la connexion.
--display_name=DISPLAY_NAME
Spécifie un nom descriptif facultatif pour la connexion.
--description=DESCRIPTION
Spécifie une description facultative de la connexion.
--iam_role_id=ROLE_ID

Pour BigQuery Omni sur AWS, spécifie un rôle IAM permettant l'accès à la ressource.

Utilisez le format suivant : "arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME", où :

  • AWS_ACCOUNT_ID est le numéro d'identification de l'utilisateur IAM AWS à l'origine de la connexion ;
  • POLICY_NAME est le nom de la règle.

Exemple : "arn:aws:iam::0123456789AB:policy/s3-read-role"

--tenant_id=TENANT_ID

Pour BigQuery Omni sur Azure, spécifie l'ID de locataire du répertoire Azure contenant le compte Azure Storage.

CONNECTION_ID

Spécifie un ID de connexion facultatif pour la connexion. Si aucun ID de connexion n'est fourni, un ID unique est généré automatiquement. L'ID de connexion peut contenir des lettres, des chiffres et des traits de soulignement.

Pour en savoir plus, consultez la section Créer des connexions.

bq mk --dataset

Crée un ensemble de données. Les options suivantes sont acceptées :

--default_kms_key=KEY
Spécifie l'identifiant de ressource de clé Cloud KMS par défaut pour le chiffrement des données de la table d'un ensemble de données si aucune clé explicite n'est fournie lors de la création de la table ou de la requête.
--default_partition_expiration=SECONDS
Entier spécifiant le délai d'expiration par défaut en secondes pour toutes les partitions des tables partitionnées nouvellement créées dans l'ensemble de données. Le délai d'expiration d'une partition est défini sur la date UTC de la partition plus la valeur entière. Si cette propriété est définie, alors sa valeur remplace le délai d'expiration de la table par défaut au niveau de l'ensemble de données, le cas échéant. Si vous spécifiez l'option --time_partitioning_expiration lors de la création ou de la mise à jour d'une table partitionnée, le délai d'expiration des partitions défini au niveau de la table est prioritaire sur le délai d'expiration des partitions défini par défaut au niveau de l'ensemble de données.
--default_table_expiration=SECONDS
Entier qui spécifie la durée de vie par défaut en secondes des tables nouvellement créées dans un ensemble de données. Le délai d'expiration correspond à l'heure UTC actuelle plus la valeur entière.
--description=DESCRIPTION
Spécifie la description de l'ensemble de données.
--label=KEY:VALUE
Spécifie un libellé pour l'ensemble de données. Répétez cette option pour spécifier plusieurs libellés.
--location=LOCATION ou --data_location=LOCATION
Spécifie l'emplacement de l'ensemble de données. De préférence, définissez l'option --location. L'option --data_location est une ancienne option.

Pour en savoir plus, consultez la page Créer des ensembles de données.

bq mk --materialized_view

Crée une vue matérialisée. Les options suivantes sont acceptées :

--enable_refresh={true|false}
Pour désactiver l'actualisation automatique d'une vue matérialisée, définissez cette valeur sur false. La valeur par défaut lors de la création d'une vue matérialisée est true.
--refresh_interval_ms=MILLISECONDS
Spécifie le nombre de millisecondes de l'intervalle d'actualisation d'une vue matérialisée. Si cette option n'est pas spécifiée, l'intervalle d'actualisation par défaut d'une vue matérialisée pour laquelle l'actualisation est activée est de 1 800 000 millisecondes, soit 30 minutes.

Pour plus d'informations, consultez la page Créer et utiliser des vues matérialisées.

bq mk --reservation

Crée une réservation avec des emplacements dédiés. Les options suivantes sont acceptées :

--ignore_idle_slots={true|false}
Pour limiter les tâches exécutées dans cette réservation afin de n'utiliser que les emplacements alloués à la réservation, définissez ce paramètre sur true. La valeur par défaut est false. Les tâches de cette réservation peuvent utiliser des emplacements inactifs provenant d'autres réservations, ou des emplacements qui ne sont pas alloués à une réservation. Pour en savoir plus, consultez la section Emplacements inactifs.
--location=LOCATION
Spécifie l'emplacement du projet.
--project_id=PROJECT_ID
Spécifie le projet propriétaire de la réservation.
--slots=NUMBER_OF_SLOTS
Spécifie le nombre d'emplacements à allouer à cette réservation.

Pour en savoir plus, consultez la section Créer une réservation avec des emplacements dédiés.

bq mk --reservation_assignment

Attribue un projet, un dossier ou une organisation à une réservation. Les options suivantes sont acceptées :

--assignee_id=ASSIGNEE_ID
Spécifie l'ID du dossier, de l'organisation ou du projet.
--assignee_type=ASSIGNEE_TYPE
Spécifie le type d'entité à attribuer à la réservation. Choisissez l'une des options suivantes :
  • FOLDER
  • ORGANIZATION
  • PROJECT
--job_type=JOB_TYPE
Spécifie le type de tâche à attribuer à la réservation. Choisissez l'une des options suivantes :
  • QUERY
  • PIPELINE
  • ML_EXTERNAL
--location=LOCATION
Spécifie l'emplacement du projet.
--project_id=PROJECT_ID
Spécifie le projet propriétaire de la réservation.
--reservation_id=RESERVATION_ID
Spécifie l'identifiant de la réservation.

Pour en savoir plus, consultez la section Utiliser des attributions de réservation.

bq mk --table

Crée une table. Les options suivantes sont acceptées :

--clustering_fields=COLUMNS
Liste contenant jusqu'à quatre noms de colonne séparés par une virgule, qui spécifie les champs à utiliser pour le clustering des tables. Si l'option est spécifiée avec le partitionnement, la table est d'abord partitionnée, puis chaque partition est mise en cluster à l'aide des colonnes fournies.
--description=DESCRIPTION
Spécifie la description de la table.
--destination_kms_key=KEY
Spécifie un identifiant de ressource de clé Cloud KMS pour chiffrer les données de la table de destination.
--expiration=SECONDS
Spécifie la durée de vie de la table. Si SECONDS est défini sur 0, la table n'expire pas. Si vous ne spécifiez pas l'option --expiration, alors BigQuery crée la table avec la durée de vie par défaut de la table de l'ensemble de données.
--external_table_definition={PATH_TO_FILE|DEFINITION}

Spécifie une définition de table pour créer une table externe. La valeur peut être un chemin d'accès à un fichier contenant une définition de table (PATH_TO_FILE) ou une définition de table intégrée (DEFINITION).

  • Le format du champ DEFINITION est SCHEMA@FORMAT=URI.
  • Le format de la valeur SCHEMA est une liste de définitions de colonnes séparées par des virgules au format FIELD:DATA_TYPE, FIELD:DATA_TYPE, etc. Vous pouvez omettre la valeur SCHEMA si le format des données est auto-descriptif (tel que Avro) ou si vous utilisez la détection automatique de schéma. .
  • La valeur FORMAT spécifie le format de données. L'un des éléments suivants :

  • CSV

  • NEWLINE_DELIMITED_JSON

  • AVRO

  • DATASTORE_BACKUP (utilisez cette valeur pour Filestore)

  • PARQUET

  • ORC

Si vous spécifiez un fichier de définition de table, alors ne lui attribuez pas d'extension.

Exemple :

--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv

--label=KEY:VALUE

Spécifie un libellé pour la table. Répétez cette option pour spécifier plusieurs libellés.

--range_partitioning=COLUMN_NAME,START,END,INTERVAL

Spécifie les options pour une partition par plages d'entiers, comme suit :

  • column_name est la colonne utilisée pour créer les partitions de la plage d'entiers.
  • start est la valeur de début inclusive du partitionnement par plages.
  • end est la valeur de fin exclusive du partitionnement par plages.
  • interval est la largeur de chaque plage au sein de la partition.

Exemple :

--range_partitioning=customer_id,0,10000,100

--require_partition_filter={true|false}

Pour exiger un filtre de partition pour les requêtes sur la table fournie, définissez cette valeur sur true. Cette option ne s'applique qu'aux tables partitionnées. La valeur par défaut est false.

--schema={SCHEMA_FILE|SCHEMA}

Spécifie le chemin d'accès à un fichier de schéma JSON local, ou une liste de définitions de colonnes séparées par une virgule au format FIELD:DATA_TYPE, FIELD:DATA_TYPE, et ainsi de suite. Si vous utilisez un fichier de schéma, n'utilisez pas d'extension.

Par exemple :

--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER

--time_partitioning_expiration=SECONDS

Entier qui spécifie (en secondes) le moment où une partition temporelle doit être supprimée. Le délai d'expiration correspond à la date UTC de la partition plus la valeur entière. Un nombre négatif indique l'absence de délai d'expiration.

--time_partitioning_field=COLUMN_NAME

Spécifie le champ utilisé pour déterminer comment créer une partition temporelle. Si le partitionnement temporel est activé sans cette valeur, la table est partitionnée en fonction de la date de chargement.

--time_partitioning_type=INTERVAL

Active le partitionnement temporel sur une table et définit le type de partition. Appliquez l'une des valeurs suivantes :

  • DAY
  • HOUR
  • MONTH
  • YEAR
--use_avro_logical_types={true|false}

Si la partie FORMAT de l'option --external_table_definition est définie sur AVRO, alors cette option spécifie s'il est nécessaire de convertir les types logiques dans les types correspondants (tels que TIMESTAMP) au lieu d'utiliser uniquement leurs types bruts tels que INTEGER.

--parquet_enable_list_inference={true|false}

Si la partie FORMAT de l'option --external_table_definition est définie sur PARQUET, alors cette option spécifie s'il est nécessaire d'utiliser l'inférence de schéma pour les types logiques LIST Parquet.

--parquet_enum_as_string={true|false}

Si la partie FORMAT de l'option --external_table_definition est définie sur PARQUET, alors cette option spécifie si l'inférence des types logiques ENUM Parquet est nécessaire en tant que valeurs STRING.

Pour en savoir plus, consultez la page Créer et utiliser des tables.

bq mk --transfer_config

Crée une configuration de transfert. Les options suivantes sont acceptées :

--data_source=DATA_SOURCE
Spécifie la source de données. Obligatoire lors de la création d'une configuration de transfert. Utilisez l'une des valeurs suivantes :
--display_name=DISPLAY_NAME
Spécifie le nom d'affichage pour la configuration de transfert.
--params={"PARAMETER":"VALUE"} ou -p={"PARAMETER":"VALUE"}
Spécifie les paramètres pour la configuration de transfert au format JSON. Les paramètres varient en fonction de la source de données. Pour plus d'informations, consultez la page Présentation du service de transfert de données BigQuery.
--refresh_window_days=DAYS
Entier spécifiant la fenêtre d'actualisation pour la configuration de transfert en jours. La valeur par défaut est 0.
--target_dataset=DATASET
Spécifie l'ensemble de données cible pour la configuration de transfert.

Pour plus d'informations sur l'utilisation de la commande bq mk avec le service de transfert de données BigQuery, consultez les pages suivantes :

bq mk --transfer_run

Crée une exécution de transfert de données à l'heure ou à la période spécifiée utilisant la configuration de transfert de données spécifiée.

Synopsis
bq mk --transfer_run [--run_time=RUN_TIME | --start_time=START_TIME --end_time=END_TIME] CONFIG

Les options suivantes sont acceptées :

--run_time=RUN_TIME
Horodatage qui spécifie l'heure de planification de l'exécution du transfert de données.
--start_time=START_TIME
Horodatage qui spécifie l'heure de début d'une plage d'exécutions de transferts de données.
--end_time=END_TIME
Horodatage qui spécifie l'heure de fin d'une plage d'exécutions de transferts de données.

Le format de l'horodatage est RFC3339 UTC "Zulu".

L'argument CONFIG spécifie une configuration de transfert de données préexistante.

Exemples
bq mk --transfer_run \
      --run_time=2021-01-20T17:00:00.00Z \
      projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \
      --start_time=2020-12-19T16:39:57-08:00 \
      --end_time=2020-12-19T20:39:57-08:00 \
      projects/p/locations/l/transferConfigs/c

bq mk --view

Crée une vue. Les options suivantes sont acceptées :

--description=DESCRIPTION
Spécifie la description de la vue.
--expiration=SECONDS
Indique la durée de vie de la vue. En cas de définition de SECONDS sur 0, la vue n'expire pas. Si vous ne spécifiez pas l'option --expiration, alors BigQuery crée la vue avec la durée de vie par défaut de la table de l'ensemble de données.
--label=KEY:VALUE
Spécifie un libellé pour la vue. Répétez cette option pour spécifier plusieurs libellés.
--use_legacy_sql={true|false}
Définissez cet élément sur false pour utiliser une requête SQL standard afin de créer une vue. La valeur par défaut est true ; utilise l'ancien SQL.
--view_udf_resource=FILE
Spécifie l'URI Cloud Storage ou le chemin d'accès à un fichier de code local chargé et évalué immédiatement en tant que ressource de fonction définie par l'utilisateur utilisée par la requête SQL d'une vue. Répétez cet indicateur pour spécifier plusieurs fichiers.

Pour plus d'informations, consultez la page Créer des vues.

bq mkdef

Exécutez la commande bq mkdef pour créer une définition de table au format JSON pour les données stockées dans Cloud Storage ou Drive.

Synopsis

bq mkdef [FLAGS] URI [ > FILE ]

Options et arguments

La commande bq mkdef utilise les options et arguments suivants :

--autodetect={true|false}
Indique s'il faut utiliser la détection automatique de schéma pour les données CSV et JSON. La valeur par défaut est false.
--connection_id=CONNECTION_ID
ID d'une ressource de connexion à utiliser pour l'authentification.
--ignore_unknown_values={true|false} ou -i={true|false}
Indique s'il faut ignorer ou non les valeurs d'une ligne qui ne sont pas présentes dans le schéma. La valeur par défaut est false.
--parquet_enable_list_inference={true|false}
Si source_format est défini sur PARQUET, cette option spécifie s'il faut utiliser l'inférence de schéma pour les types logiques LIST Parquet. La valeur par défaut est false.
--parquet_enum_as_string={true|false}
Si source_format est défini sur PARQUET, cette option spécifie s'il faut déduire les types logiques ENUM Parquet en tant que valeurs STRING. La valeur par défaut est false.
--source_format=FORMAT

Spécifie le format des données source. Appliquez l'une des valeurs suivantes :

  • AVRO
  • CSV
  • DATASTORE_BACKUP (utilisez cette valeur pour Filestore)
  • GOOGLE_SHEETS
  • NEWLINE_DELIMITED_JSON
  • ORC
  • PARQUET

La valeur par défaut est CSV.

--use_avro_logical_types={true|false}

Si l'option --source_format est définie sur AVRO, cette option spécifie s'il faut convertir les types logiques dans leurs types correspondants tels que TIMESTAMP, au lieu de n'utiliser que leurs types bruts (tels que INTEGER). La valeur par défaut est false.

Pour plus d'informations sur l'utilisation de la commande bq mkdef, consultez la page Créer un fichier de définition de table pour une source de données externe.

bq partition

Utilisez la commande bq partition pour convertir un groupe de tables comportant des suffixes d'unité de temps, tels que des tables se terminant par YYYYMMDD pour le partitionnement de dates, en tables partitionnées.

Synopsis

bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE

Options et arguments

La commande bq partition utilise les options et arguments suivants :

--no_clobber={true|false} ou -n={true|false}
Pour interdire l'écrasement d'une partition existante, définissez cette option sur true. La valeur par défaut est false. Si la partition existe, elle est écrasée.
--time_partitioning_expiration=SECONDS
Entier qui spécifie (en secondes) le moment où une partition temporelle doit être supprimée. Le délai d'expiration correspond à la date UTC de la partition plus la valeur entière. Un nombre négatif indique l'absence de délai d'expiration.
--time_partitioning_type=INTERVAL

Spécifie le type de partition. Le tableau suivant fournit les valeurs possibles pour l'option INTERVAL et le format de suffixe d'unité de temps attendu pour chacune :

INTERVAL Suffixe
HOUR YYYYMMDDHH
DAY YYYYMMDD
MONTH YYYYMM
YEAR YYYY
SOURCE_TABLE_BASE_NAME

Nom de base du groupe de tables avec des suffixes d'unité de temps.

PARTITION_TABLE

Nom de la table partitionnée de destination.

Pour plus d'informations sur l'utilisation de la commande bq partition, consultez la page Convertir des tables segmentées par date en tables partitionnées par date d'ingestion.

bq query

Utilisez la commande bq query pour créer une tâche de requête qui exécute la requête SQL spécifiée.

Synopsis

bq query [FLAGS] 'QUERY'

Options et arguments

La commande bq query utilise les options et arguments suivants :

--allow_large_results={true|false}
Afin d'activer des tailles de tables de destination importantes pour les requêtes en ancien SQL, définissez la valeur sur true. La valeur par défaut est false.
--append_table={true|false}
Pour ajouter des données à une table de destination, définissez cette valeur sur true. La valeur par défaut est false.
--batch={true|false}
Pour exécuter la requête en mode de traitement par lot, définissez la valeur sur true. La valeur par défaut est false.
--clustering_fields=COLUMNS
Liste contenant jusqu'à quatre noms de colonne séparés par une virgule, qui spécifie les champs à utiliser pour mettre en cluster la table de destination dans une requête. Si l'option est spécifiée avec le partitionnement, la table est d'abord partitionnée, puis chaque partition est mise en cluster à l'aide des colonnes fournies.
--destination_kms_key=KEY
Spécifie un identifiant de ressource de clé Cloud KMS pour chiffrer les données de la table de destination.
--destination_schema={PATH_TO_FILE|SCHEMA}
Chemin d'accès à un fichier de schéma JSON local, ou une liste de définitions de colonnes séparées par une virgule au format FIELD:DATA_TYPE, FIELD:DATA_TYPE et ainsi de suite.
--destination_table=TABLE

Si spécifié, les résultats de la requête sont enregistrés dans TABLE. Spécifiez TABLE au format suivant : PROJECT:DATASET.TABLE. Si PROJECT n'est pas spécifié, le projet actuel est utilisé. Si l'option --destination_table n'est pas spécifiée, les résultats de la requête sont enregistrés dans une table temporaire.

Par exemple :

--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable

--dry_run={true|false}

Si spécifié, la requête est validée, mais pas exécutée.

--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}

Spécifie le nom de la table et la définition de table pour une requête de table externe. La définition de table peut être un chemin d'accès à un fichier de schéma JSON local ou à une définition de table intégrée. Le format de définition de la table intégrée est SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. La valeur SCHEMA est une liste de définitions de colonnes séparées par des virgules au format FIELD:DATA_TYPE, FIELD:DATA_TYPE, etc. Si vous utilisez un fichier de définition de table, alors ne lui attribuez pas d'extension.

Exemple :

--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv

Répétez cette option pour interroger plusieurs tables.

--flatten_results={true|false}

Pour interdire l'aplatissement de champs imbriqués et répétés dans les résultats des requêtes en ancien SQL existantes, définissez cette valeur sur false. La valeur par défaut est true.

--label=KEY:VALUE

Spécifie un libellé pour la tâche de requête. Répétez cette option pour spécifier plusieurs libellés.

--max_rows=MAX_ROWS ou -n=MAX_ROWS

Entier indiquant le nombre de lignes à renvoyer dans les résultats de la requête. La valeur par défaut est 100.

--maximum_bytes_billed=MAX_BYTES

Entier qui limite le nombre d'octets facturés pour la requête. Si la requête dépasse la limite, elle échoue (sans entraîner de frais). Si cette option n'est pas spécifiée, le nombre d'octets facturés est défini sur la valeur par défaut du projet.

--min_completion_ratio=RATIO

[Expérimental] Nombre compris entre 0 et 1.0 qui spécifie la fraction minimale de données à analyser avant le renvoi d'une requête. Si l'option n'est pas spécifiée, la valeur de serveur par défaut 1.0 est utilisée.

--parameter={PATH_TO_FILE|PARAMETER}

Fichier JSON contenant une liste de paramètres de requête, ou un paramètre de requête au format NAME:TYPE:VALUE. Un nom vide crée un paramètre positionnel. Si TYPE est omis, le type STRING est utilisé. NULL spécifie une valeur nulle. Répétez cette option pour spécifier plusieurs paramètres.

Exemple :

--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42

--range_partitioning=COLUMN_NAME,START,END,INTERVAL

Utilisez cette option avec l'option --destination_table. Spécifie les options de partitionnement par plages d'entiers dans la table de destination. La valeur est une liste d'éléments séparés par une virgule au format column_name,start,end,interval, où

  • column_name est la colonne utilisée pour créer les partitions de la plage d'entiers.
  • start est la valeur de début inclusive du partitionnement par plages.
  • end est la valeur de fin exclusive du partitionnement par plages.
  • interval est la largeur de chaque plage au sein de la partition.

Exemple :

--range_partitioning=customer_id,0,10000,100

--replace={true|false}

Pour écraser la table de destination avec les résultats de la requête, définissez la valeur sur true. Les données et les schémas existants sont effacés. Les clés Cloud KMS sont également supprimées, sauf si vous spécifiez l'option --destination_kms_key. La valeur par défaut est false.

--require_cache={true|false}

Si spécifié, n'exécute la requête que si les résultats peuvent être récupérés du cache.

--require_partition_filter={true|false}

Si spécifié, un filtre de partition est nécessaire pour exécuter des requêtes sur la table fournie. Cette option ne peut être utilisée qu'avec une table partitionnée.

--rpc={true|false}

Pour utiliser l'API de requête de style RPC au lieu de la méthode jobs.insert de l'API REST, définissez cette valeur sur true. La valeur par défaut est false.

--schedule="SCHEDULE"

Définit une requête programmée récurrente. La fréquence programmée d'exécution de la requête est requise.

Par exemple :

--schedule="every 24 hours"
--schedule="every 3 hours"

Pour obtenir une description de la syntaxe de programmation, consultez la section Mettre en forme l'élément schedule.

--schema_update_option=OPTION

Lorsque vous ajoutez des données à une table (dans une tâche de chargement ou de requête) ou que vous remplacez une partition de table, spécifie comment mettre à jour le schéma de la table de destination. Appliquez l'une des valeurs suivantes :

  • ALLOW_FIELD_ADDITION : autoriser l'ajout de nouveaux champs
  • ALLOW_FIELD_RELAXATION : autoriser l'assouplissement des champs REQUIRED sur NULLABLE

Répétez cette option pour spécifier plusieurs options de mise à jour de schéma.

--start_row=ROW_NUMBER ou -s=ROW_NUMBER

Entier spécifiant la première ligne à renvoyer dans le résultat de la requête. La valeur par défaut est 0.

--target_dataset=DATASET

Si spécifié avec --schedule, met à jour l'ensemble de données cible pour une requête programmée. Il doit s'agir d'une requête LDD ou LMD.

--time_partitioning_expiration=SECONDS

Utilisez cette option avec l'option --destination_table. Entier qui spécifie (en secondes) le délai au terme duquel une partition temporelle doit être supprimée. Le délai d'expiration correspond à la date UTC de la partition plus la valeur entière. Un nombre négatif indique l'absence de délai d'expiration.

--time_partitioning_field=COLUMN_NAME

Utilisez cette option avec l'option --destination_table. Spécifie la colonne de partitionnement pour le partitionnement temporel. Si le partitionnement temporel est activé sans cette valeur, la table est partitionnée en fonction de la date d'ingestion.

--time_partitioning_type=INTERVAL

Utilisez cette option avec l'option --destination_table. Spécifie le type de partition dans la table de destination. Appliquez l'une des valeurs suivantes :

  • DAY
  • HOUR
  • MONTH
  • YEAR
--udf_resource=FILE

Cette option ne s'applique qu'aux requêtes en ancien SQL. spécifie l'URI Cloud Storage ou le chemin d'accès à un fichier local contenant une ressource de fonction définie par l'utilisateur à utiliser par une requête en ancien SQL. Répétez cet indicateur pour spécifier plusieurs fichiers.

--use_cache={true|false}

Pour interdire la mise en cache des résultats de requête, définissez cette valeur sur false. La valeur par défaut est true.

--use_legacy_sql={true|false}

Pour exécuter une requête en SQL standard, définissez cette valeur sur false. La valeur par défaut est true. La commande utilise l'ancien SQL.

QUERY

Requête que vous souhaitez exécuter.

Pour plus d'informations sur l'utilisation de la commande bq query, consultez la page Exécuter des requêtes interactives et par lot.

bq remove-iam-policy-binding

Utilisez la commande bq remove-iam-policy-binding pour récupérer la stratégie IAM d'une ressource et supprimer une liaison de la stratégie en une seule étape. La ressource peut être une table ou une vue.

Cette commande constitue une alternative au processus en trois étapes suivant :

  1. Utiliser la commande bq get-iam-policy pour récupérer le fichier de stratégie (au format JSON)
  2. Modifier le fichier de stratégie
  3. Exécuter la commande bq set-iam-policy pour mettre à jour la stratégie sans la liaison

Synopsis

bq remove-iam-policy-binding FLAGS --member=MEMBER_TYPE:MEMBER --role=ROLE RESOURCE

Options et arguments

La commande bq remove-iam-policy-binding utilise les options et arguments suivants :

--member=MEMBER_TYPE:MEMBER

Obligatoire. Utilisez l'option --member pour spécifier la partie membre de la liaison de stratégie IAM. L'option --member doit être spécifiée avec l'option --role. Une combinaison des options --member et --role équivaut à une liaison.

La valeur MEMBER_TYPE spécifie le type de membre dans la liaison de stratégie IAM. Appliquez l'une des valeurs suivantes :

  • user
  • serviceAccount
  • group
  • domain

La valeur MEMBER spécifie l'adresse e-mail ou le domaine du membre dans la liaison de stratégie IAM.

--role=ROLE

Obligatoire. Spécifie la partie de la liaison de stratégie IAM correspondant au rôle. L'option --role doit être spécifiée avec l'option --member. Une combinaison des options --member et --role équivaut à une liaison.

--table={true|false} ou -t={true|false}

Facultatif. Pour supprimer une liaison de la stratégie IAM d'une table ou d'une vue, définissez cette valeur true. La valeur par défaut est false.

RESOURCE est la table ou la vue dont vous souhaitez supprimer la liaison de stratégie.

Pour en savoir plus, consultez la documentation de référence sur les stratégies IAM.

bq rm

Exécutez la commande bq rm pour supprimer une ressource BigQuery.

Synopsis

bq rm [FLAGS] RESOURCE

Options et arguments

La commande bq rm utilise les options et arguments suivants :

--capacity_commitment={false|true}
Pour supprimer un engagement de capacité, définissez cette option sur true, spécifiez l'emplacement de l'engagement à supprimer à l'aide de l'option --location et remplacez RESOURCE par ID de l'engagement que vous souhaitez supprimer.
--dataset={true|false} ou -d={true|false}
Pour supprimer un ensemble de données, définissez cette valeur sur true. La valeur par défaut est false.
--force={true|false} ou -f={true|false}
Pour supprimer une ressource sans invite de confirmation, définissez cette valeur sur true. La valeur par défaut est false.
--job={true|false} ou -j={true|false}
Pour supprimer une tâche, définissez la valeur sur "true". Elle est définie par défaut sur "false".
--model={true|false} ou -m={true|false}
Pour supprimer un modèle BigQuery ML, définissez cette valeur sur true. La valeur par défaut est false.
--recursive={true|false} ou -r{true|false}
Pour supprimer un ensemble de données et toutes les tables, les données de tables ou les modèles qu'il contient, définissez cette valeur sur true. La valeur par défaut est false.
--reservation={true|false}
Pour supprimer une réservation, définissez cette valeur sur true. La valeur par défaut est false.
--reservation_assignment={true|false}
Pour supprimer une attribution de réservation, définissez cette valeur sur true. La valeur par défaut est false.
--routine={true|false}
Pour supprimer une routine, définissez-la sur true. La valeur par défaut est false. Une routine peut être une fonction persistante définie par l'utilisateur, une fonction de table (Bêta) ou une procédure stockée.
--table={true|false} ou -t={true|false}
Pour supprimer une table, définissez cette valeur sur true. La valeur par défaut est false.
--transfer_config={true|false}
Pour supprimer une configuration de transfert, définissez cette valeur sur true. La valeur par défaut est false.
RESOURCE
La ressource que vous souhaitez supprimer.

Pour plus d'informations sur l'utilisation de la commande bq rm, consultez les pages suivantes :

bq set-iam-policy

Utilisez la commande bq set-iam-policy pour spécifier ou mettre à jour la stratégie IAM d'une ressource. La ressource peut être une table ou une vue. Une fois la stratégie définie, la nouvelle stratégie est affichée sur stdout. La stratégie est au format JSON.

Le champ etag de la stratégie mise à jour doit correspondre à la valeur etag de la stratégie actuelle. Sinon, la mise à jour échoue. Cette fonctionnalité empêche les mises à jour simultanées.

Vous pouvez connaître la stratégie actuelle et la valeur etag d'une ressource à l'aide de la commande bq get-iam-policy.

Synopsis

bq set-iam-policy [FLAGS] RESOURCE FILE_NAME

Options et arguments

La commande bq set-iam-policy utilise les options et arguments suivants :

--table={true|false} ou -t={true|false}
Facultatif. Pour définir la stratégie IAM d'une table ou d'une vue, définissez cette valeur sur true. La valeur par défaut est false.

RESOURCE est la table ou la vue dont vous souhaitez mettre à jour la stratégie.

FILE_NAME est un nom de fichier contenant la stratégie au format JSON.

Pour plus d'informations sur la commande bq set-iam-policy et pour obtenir des exemples, consultez la page Présentation des contrôles d'accès aux tables.

bq show

Utilisez la commande bq show pour afficher les informations sur une ressource.

Synopsis

bq show [FLAGS] [RESOURCE]

Options et arguments

La commande bq show utilise les options et arguments suivants :

--assignee_id=ASSIGNEE
Avec l'option --reservation_assignment, spécifie l'ID d'un dossier, d'une organisation ou d'un projet. Utilisez l'option --assignee_type pour spécifier le type de responsable à afficher.
--assignee_type=TYPE
Avec l'option --reservation_assignment, spécifie le type d'entité à afficher. Utilisez l'une des valeurs suivantes :
  • FOLDER
  • ORGANIZATION
  • PROJECT
--connection={true|false}
Pour afficher des informations sur une connexion, définissez cette valeur sur true. La valeur par défaut est false. Pour en savoir plus, consultez la section Afficher une ressource de connexion.
--dataset={true|false} ou -d={true|false}
Pour afficher des informations sur une réservation, définissez cette valeur sur true. La valeur par défaut est false.
--encryption_service_account={true|false}
Pour afficher le compte de service de chiffrement d'un projet, s'il existe, ou en créer un, définissez la valeur sur true. La valeur par défaut est false. Utilisez cette option avec l'option --project_id.
--job={true|false} ou -j={true|false}
Pour afficher des informations sur une réservation, définissez cette valeur sur true. La valeur par défaut est false.
--job_type=JOB_TYPE
Avec l'option --reservation_assignment, spécifie le type de tâche des attributions de réservation que vous souhaitez afficher. Utilisez l'une des valeurs suivantes :
  • QUERY
  • PIPELINE
  • ML_EXTERNAL
--model={true|false} ou -m={true|false}
Pour afficher des informations sur un modèle BigQuery ML, définissez cette valeur sur true. La valeur par défaut est false.
--reservation={true|false}
Pour afficher des informations sur une réservation, définissez cette valeur sur true. La valeur par défaut est false.
--reservation_assignment={true|false}
En cas de définition sur true, la commande affiche les attributions de réservation pour un dossier, une organisation ou un projet spécifié. La commande affiche les attributions explicites de la ressource cible, le cas échéant. Sinon, elle affiche les attributions héritées des ressources parentes. Par exemple, un projet peut hériter des attributions de son dossier parent. Lorsque vous utilisez cette option, les options --job_type, --assignee_type et --assignee_id s'appliquent. La valeur par défaut est false.
--routine={true|false}
Pour afficher des informations sur une routine, définissez cette valeur sur true. La valeur par défaut est false. Une routine peut être une fonction persistante définie par l'utilisateur, une fonction de table (Bêta) ou une procédure stockée.
--schema={true|false}
Pour n'afficher que le schéma de la table, définissez cette valeur sur true. La valeur par défaut est false.
--transfer_config={true|false}
Pour afficher des informations sur une configuration de transfert, définissez cette valeur sur true. La valeur par défaut est false.
--transfer_run={true|false}
Pour afficher des informations sur une exécution de transfert, définissez cette valeur sur true. La valeur par défaut est false.
--view={true|false}
Pour afficher des informations sur une vue, définissez cette valeur sur true. La valeur par défaut est false.
RESOURCE
Ressource dont vous souhaitez afficher les informations.

Pour plus d'informations sur l'utilisation de la commande bq show, consultez les pages suivantes :

bq update

Utilisez la commande bq update pour modifier une ressource.

Synopsis

bq update [FLAGS] [RESOURCE]

Options et arguments

La commande bq update utilise les options et arguments suivants :

--capacity_commitment={true|false}
Pour mettre à jour un engagement de capacité, définissez cette valeur sur true. Utilisez cette option avec les options --merge, --plan, --renewal_plan, --split et --slots.
--clear_label=KEY:VALUE
Supprime un libellé de la ressource. Utilisez le format KEY:VALUE pour spécifier le libellé à supprimer. Répétez cette option pour supprimer plusieurs libellés.
--clustering_fields=COLUMNS
Met à jour la spécification de clustering d'une table. La valeur COLUMNS est une liste de noms de colonnes séparés par des virgules, à utiliser pour le clustering. Pour supprimer le clustering, définissez COLUMNS sur "" (la chaîne vide). Pour en savoir plus, consultez la page Modifier la spécification du clustering.
--dataset={true|false} ou -d={true|false}
Pour mettre à jour un ensemble de données, définissez cette valeur sur true. La valeur par défaut est false.
--default_kms_key=KEY
Spécifie l'identifiant de ressource de clé Cloud KMS par défaut pour le chiffrement des données de la table dans un ensemble de données. La clé par défaut est utilisée si aucune clé explicite n'est fournie pour la création d'une table ou une requête.
--default_partition_expiration=SECONDS

Entier spécifiant le délai d'expiration par défaut en secondes pour toutes les partitions des tables partitionnées nouvellement créées dans l'ensemble de données. Aucune valeur minimale n'est définie pour cette option.

Le délai d'expiration d'une partition est défini sur la date UTC de la partition plus la valeur entière. Si cette propriété est définie, elle remplace le délai d'expiration de la table par défaut au niveau de l'ensemble de données, s'il existe. Si vous spécifiez l'option --time_partitioning_expiration lors de la création ou de la mise à jour d'une table partitionnée, le délai d'expiration des partitions défini au niveau de la table est prioritaire sur le délai d'expiration des partitions défini par défaut au niveau de l'ensemble de données. Spécifiez la valeur 0 pour supprimer un délai d'expiration existant.

--default_table_expiration=SECONDS

Entier qui met à jour la durée de vie par défaut en secondes des tables nouvellement créées dans un ensemble de données. Le délai d'expiration correspond à l'heure UTC actuelle plus la valeur entière. Spécifiez la valeur 0 pour supprimer le délai d'expiration existant.

--description=DESCRIPTION

Met à jour la description d'un ensemble de données, d'une table, d'un instantané de table, d'un modèle ou d'une vue.

--destination_reservation_id=RESERVATION_ID

Avec l'option --reservation_assignment, déplace une attribution de réservation existante vers la réservation spécifiée. La valeur correspond à l'identifiant de la réservation de destination. Pour en savoir plus, consultez l'article Déplacer une attribution vers une autre réservation.

--display_name=DISPLAY_NAME

Met à jour le nom à afficher pour une configuration de transfert.

--etag=ETAG

Agit comme un filtre ; met à jour la ressource uniquement si la ressource possède un ETag qui correspond à la chaîne spécifiée dans l'argument ETAG.

--expiration SECONDS

Pour mettre à jour la date d'expiration d'une table, d'un modèle, d'un instantané de table ou d'une vue, spécifiez cette option. Remplacez SECONDS par le nombre de secondes entre l'heure de mise à jour et l'heure d'expiration. Pour supprimer le délai d'expiration d'une table, d'un modèle, d'un instantané de table ou d'une vue, définissez l'argument SECONDS sur 0.

--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}

Met à jour une table externe avec la définition de table spécifiée. La définition de table peut être un chemin d'accès à un fichier de définition de table JSON local ou à une définition de table intégrée au format SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. La valeur SCHEMA est une liste de définitions de colonnes séparées par des virgules au format FIELD:DATA_TYPE, FIELD:DATA_TYPE, etc. Si vous utilisez un fichier de définition de table, alors ne lui attribuez pas d'extension.

Exemple :

--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv

--ignore_idle_slots={true|false}

Utilisez cette option avec l'option --reservation. Pour limiter les tâches exécutées dans la réservation spécifiée afin d'utiliser uniquement les emplacements alloués à cette réservation, définissez l'option sur true. La valeur par défaut est false. Les tâches de la réservation spécifiée peuvent utiliser des emplacements inactifs provenant d'autres réservations, ou des emplacements qui ne sont pas alloués à une réservation. Pour en savoir plus, consultez la section Emplacements inactifs.

--merge={true|false}

Pour fusionner deux engagements de capacité, définissez --merge sur true. Définissez l'option --capacity_commitment sur true, spécifiez l'emplacement des engagements à fusionner à l'aide de l'option --location et remplacez RESOURCE par les ID. des deux engagements que vous souhaitez fusionner, séparés par une virgule. Pour plus d'informations, consultez la section Fusionner deux engagements.

--model={true|false} ou -m={true|false}

Pour mettre à jour les métadonnées d'un modèle BigQuery ML, définissez cette valeur sur true. La valeur par défaut est false.

--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}

Met à jour les paramètres d'une configuration de transfert. Les paramètres varient en fonction de la source de données. Pour plus d'informations, consultez la page Présentation du service de transfert de données BigQuery.

--plan=PLAN

Avec l'option --capacity_commitment, convertit un engagement de capacité en un forfait d'engagement de plus longue durée. Remplacez PLAN par l'un des éléments suivants :

  • MONTHLY
  • ANNUAL
--refresh_window_days=DAYS

Entier spécifiant une fenêtre d'actualisation en jours pour une configuration de transfert.

--renewal_plan=PLAN

Avec l'option --capacity_commitment, met à jour le forfait de renouvellement pour un engagement annuel de capacité. Remplacez PLAN par l'un des éléments suivants :

  • FLEX
  • MONTHLY
  • ANNUAL
--reservation={true|false}

Spécifie s'il faut mettre à jour une réservation. La valeur par défaut est false.

--reservation_assignment={true|false}

Spécifie s'il faut mettre à jour une réservation. La valeur par défaut est false.

--schema={SCHEMA_FILE|SCHEMA}

Spécifie le chemin d'accès à un fichier de schéma JSON local, ou une liste de définitions de colonnes séparées par une virgule au format FIELD:DATA_TYPE, FIELD:DATA_TYPE, et ainsi de suite. Si vous utilisez un fichier de schéma, n'utilisez pas d'extension.

Exemple :

--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER

--set_label=KEY:VALUE

Spécifie un libellé à mettre à jour. Pour mettre à jour plusieurs libellés, répétez cette option.

--slots=NUMBER_OF_SLOTS

Avec les options --capacity_commitment et --split, spécifie le nombre d'emplacements d'un engagement de capacité existant à répartir dans un nouvel engagement. Remplacez RESOURCE par l'ID de l'engagement à partir duquel vous souhaitez effectuer la répartition.

Avec l'option --reservation, met à jour le nombre d'emplacements dans une réservation.

--source=FILE

Chemin d'accès à un fichier JSON local contenant une charge utile utilisée pour mettre à jour une ressource. Par exemple, cette option permet de spécifier un fichier JSON contenant une ressource d'ensemble de données avec une propriété access mise à jour. Le fichier est utilisé pour remplacer les contrôles d'accès de l'ensemble de données.

--split={true|false}

Lorsque ce paramètre est défini sur true et utilisé avec l'option --capacity_commitment, indique que vous souhaitez diviser un engagement de capacité existant. Utilisez l'option --location pour spécifier l'emplacement de l'engagement à partir duquel vous souhaitez effectuer la répartition, et l'option --slots pour spécifier le nombre d'emplacements que vous souhaitez répartir. Remplacez RESOURCE par l'ID de l'engagement à partir duquel vous souhaitez effectuer la répartition. Pour en savoir plus, consultez la section Diviser un engagement.

--table={true|false} ou -t={true|false}

Spécifie si une table doit être mise à jour. La valeur par défaut est false.

--target_dataset=DATASET

Si spécifié, met à jour l'ensemble de données cible pour une configuration de transfert.

--time_partitioning_expiration=SECONDS

Entier mis à jour en secondes lorsqu'une partition temporelle doit être supprimée. Le délai d'expiration correspond à la date UTC de la partition plus la valeur entière. Un nombre négatif indique l'absence de délai d'expiration.

--time_partitioning_field=COLUMN_NAME

Met à jour le champ utilisé pour déterminer comment créer une partition temporelle. Si le partitionnement temporel est activé sans cette valeur, la table est partitionnée en fonction du temps de chargement.

--time_partitioning_type=INTERVAL

Spécifie le type de partitionnement. Appliquez l'une des valeurs suivantes :

  • DAY
  • HOUR
  • MONTH
  • YEAR

Vous ne pouvez pas modifier le type de partitionnement d'une table existante.

--transfer_config={true|false}

Spécifie si une configuration de transfert doit être mise à jour. La valeur par défaut est false.

--update_credentials={true|false}

Indique s'il faut mettre à jour les identifiants de la configuration de transfert. La valeur par défaut est false.

--use_legacy_sql={true|false}

Définissez cette valeur sur false pour mettre à jour la requête SQL d'une vue générée en ancien SQL vers SQL standard. La valeur par défaut est true. La requête utilise l'ancien SQL.

--view=QUERY

Si spécifié, met à jour la requête SQL d'une vue.

--view_udf_resource=FILE

Met à jour l'URI Cloud Storage ou le chemin d'accès à un fichier de code local chargé et évalué immédiatement en tant que ressource de fonction définie par l'utilisateur dans une requête SQL d'une vue. Répétez cet indicateur pour spécifier plusieurs fichiers.

RESOURCE

La ressource que vous souhaitez mettre à jour.

Pour plus d'informations sur l'utilisation de la commande bq update, consultez les pages suivantes :

bq version

Exécutez la commande bq version pour afficher le numéro de version de votre outil de ligne de commande bq.

Synopsis

bq version

bq wait

Utilisez la commande bq wait pour attendre la fin d'une tâche dont le délai est spécifié en secondes. Si une tâche n'est pas spécifiée, la commande attend la fin de la tâche en cours.

Synopsis

bq wait [FLAGS] [JOB] [SECONDS]

Exemples

bq wait
bq wait --wait_for_status=RUNNING 12345 100

Options et arguments

La commande bq wait utilise les options et arguments suivants :

--fail_on_error={true|false}
Pour renvoyer la réussite en cas de complétion de la tâche pendant le temps d'attente, même si la tâche a échoué, définissez cette option sur false. La valeur par défaut est true. Une fois le temps d'attente écoulé, la commande se termine avec une erreur si la tâche est toujours en cours d'exécution ou si la tâche est terminée, mais renvoie une erreur.
--wait_for_status=STATUS

Si spécifié, attend un état particulier de la tâche avant de quitter. Appliquez l'une des valeurs suivantes :

  • PENDING
  • RUNNING
  • DONE

La valeur par défaut est DONE.

JOB

Spécifie la tâche à attendre. Vous pouvez utiliser la commande bq ls --jobs myProject pour rechercher un identifiant de tâche.

SECONDS

Spécifie le nombre maximal de secondes d'attente jusqu'à la fin de la tâche. Si vous spécifiez la valeur 0, alors la commande vérifie si la tâche est terminée et affiche immédiatement le résultat. Si vous ne spécifiez pas de valeur entière, la commande attend la fin de la tâche.