BigQuery
Le connecteur BigQuery vous permet d'effectuer des opérations d'insertion, de suppression, de mise à jour et de lecture des données Google BigQuery.
Avant de commencer
Avant d'utiliser le connecteur BigQuery, effectuez les tâches suivantes :
- Dans votre projet Google Cloud :
- Attribuez le rôle IAM roles/connectors.admin à l'utilisateur qui configure le connecteur.
- Attribuez les rôles IAM suivants au compte de service que vous souhaitez utiliser pour le connecteur :
roles/bigquery.dataEditor
Un compte de service est un compte Google spécial destiné à représenter un utilisateur non humain qui doit s'authentifier et obtenir les autorisations permettant d'accéder aux données des API Google. Si vous ne possédez pas de compte de service, vous devez en créer un. Pour plus d'informations, consultez la section Créer un compte de service.
- Activez les services suivants :
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Pour savoir comment activer des services, consultez la page Activer des services.
Si ces services ou autorisations n'ont pas encore été activés pour votre projet, vous êtes invité à les activer lors de la configuration du connecteur.
Configurer le connecteur
Pour configurer le connecteur, vous devez créer une connexion à votre source de données (système backend). Une connexion est spécifique à une source de données. Cela signifie que si vous disposez de nombreuses sources de données, vous devez créer une connexion distincte pour chacune d'elles. Pour créer une connexion, procédez comme suit :
- Dans la console Cloud, accédez à la page Integration Connectors > Connections (Connecteurs d'intégration > Connexions), puis sélectionnez ou créez un projet Google Cloud.
- Cliquez sur + CRÉER pour ouvrir la page Créer une connexion.
- Dans la section Emplacement, choisissez l'emplacement de la connexion.
- Région : sélectionnez un emplacement dans la liste déroulante.
Pour obtenir la liste de toutes les régions disponibles, consultez la page Emplacements.
- Cliquez sur NEXT (Suivant).
- Région : sélectionnez un emplacement dans la liste déroulante.
- Dans la section Informations de connexion, procédez comme suit :
- Connecteur : sélectionnez BigQuery dans la liste déroulante des connecteurs disponibles.
- Version du connecteur : sélectionnez la version du connecteur dans la liste déroulante des versions disponibles.
- Dans le champ Nom de connexion, saisissez un nom pour l'instance de connexion.
Les noms de connexion doivent répondre aux critères suivants :
- Les noms de connexion peuvent contenir des lettres, des chiffres ou des traits d'union.
- Les lettres doivent être en minuscules.
- Les noms de connexion doivent commencer par une lettre et se terminer par une lettre ou un chiffre.
- Les noms de connexion ne peuvent pas dépasser 63 caractères.
- Saisissez éventuellement une Description pour l'instance de connexion.
- Compte de service : sélectionnez un compte de service disposant des rôles requis.
- Vous pouvez également configurer les paramètres du nœud de connexion :
- Nombre minimal de nœuds : saisissez le nombre minimal de nœuds de connexion.
- Nombre maximal de nœuds : saisissez le nombre maximal de nœuds de connexion.
Un nœud est une unité (ou instance répliquée) de connexion qui traite des transactions. Un plus grand nombre de nœuds est nécessaire afin de traiter plus de transactions pour une connexion. À l'inverse, moins de nœuds sont nécessaires pour traiter moins de transactions. Pour comprendre l'impact des nœuds sur la tarification de votre connecteur, consultez la section Tarifs des nœuds de connexion. Si vous ne saisissez aucune valeur, le nombre minimal de nœuds est défini par défaut sur 2 (pour une meilleure disponibilité) et le nombre maximal sur 50.
- ID du projet : saisissez l'ID du projet Google Cloud dans lequel se trouvent les données.
- ID de l'ensemble de données: ID de l'ensemble de données BigQuery.
- Utiliser un proxy : cochez cette case pour configurer un serveur proxy pour la connexion, et spécifiez les valeurs suivantes :
-
Schéma d'authentification du proxy : sélectionnez le type d'authentification pour l'authentification auprès du serveur proxy. Les types d'authentification suivants sont compatibles :
- Basique : authentification HTTP de base.
- Condensé : authentification HTTP par condensé.
- Utilisateur du proxy : nom d'utilisateur à utiliser pour l'authentification auprès du serveur proxy.
- Mot de passe du proxy : secret Secret Manager du mot de passe de l'utilisateur.
-
Type SSL du proxy : type SSL à utiliser lors de la connexion au serveur proxy. Les types d'authentification suivants sont compatibles :
- Auto : paramètre par défaut. Dans le cas d'une URL HTTPS, l'option "Tunnel" est utilisée. Dans le cas d'une URL HTTP, l'option "JAMAIS" est utilisée.
- Toujours : la connexion SSL est toujours activée.
- Jamais : la connexion n'est pas activée pour SSL.
- Tunnel : la connexion s'effectue via un proxy de tunnelisation. Le serveur proxy ouvre une connexion à l'hôte distant et le trafic transite par le proxy.
- Dans la section Serveur proxy, saisissez les détails du serveur proxy.
- Cliquez sur + Ajouter une destination.
- Sélectionnez un type de destination.
- Adresse de l'hôte : spécifiez le nom d'hôte ou l'adresse IP de la destination.
Si vous souhaitez établir une connexion privée à votre système backend, procédez comme suit :
- Créez un rattachement de service PSC.
- Créez un rattachement de point de terminaison, puis saisissez les détails du rattachement de point de terminaison dans le champ Adresse de l'hôte.
- Adresse de l'hôte : spécifiez le nom d'hôte ou l'adresse IP de la destination.
- Vous pouvez également cliquer sur + AJOUTER UN LIBELLÉ pour ajouter un libellé à la connexion sous la forme d'une paire clé/valeur.
- Cliquez sur NEXT (Suivant).
-
Dans la section Authentification, saisissez les informations d'authentification.
- La connexion BigQuery ne nécessite aucune authentification.
- Cliquez sur NEXT (Suivant).
- Vérifiez vos informations de connexion et d'authentification.
- Cliquez sur Créer.
Entités, opérations et actions
Tous les connecteurs Integration Connectors fournissent une couche d'abstraction pour les objets de l'application connectée. Vous ne pouvez accéder aux objets d'une application que via cette abstraction. L'abstraction vous est présentée en tant qu'entités, opérations et actions.
- Entité : une entité peut être considérée comme un objet ou un ensemble de propriétés dans l'application ou le service connecté. La définition d'une entité diffère d'un connecteur à l'autre. Par exemple, dans un connecteur de base de données, les tables sont les entités, dans un connecteur de serveur de fichiers, les dossiers sont les entités et, dans un connecteur de système de messagerie, les files d'attente sont les entités.
Toutefois, il est possible qu'un connecteur ne soit pas compatible ou ne possède aucune entité. Dans ce cas, la liste
Entities
est vide. - Opération : une opération est l'activité que vous pouvez effectuer sur une entité. Vous pouvez effectuer l'une des opérations suivantes sur une entité :
La sélection d'une entité dans la liste disponible génère une liste d'opérations disponibles pour l'entité. Pour obtenir une description détaillée des opérations, consultez les opérations d'entité de la tâche de connecteur. Toutefois, si un connecteur n'est compatible avec aucune des opérations d'entité, celles-ci ne sont pas répertoriées dans la liste
Operations
. - Action : une action est une fonction de première classe mise à la disposition de l'intégration via l'interface du connecteur. Une action vous permet de modifier une ou plusieurs entités, et varie d'un connecteur à l'autre. Toutefois, il est possible qu'un connecteur ne prenne en charge aucune action, auquel cas la liste
Actions
est vide.
Limites du système
Le connecteur BigQuery peut traiter un maximum de 8 transactions par seconde et par nœud, et limite toute transaction au-delà de cette limite. Par défaut, Integration Connectors alloue deux nœuds par connexion (pour une meilleure disponibilité).
Pour en savoir plus sur les limites applicables à Integration Connectors, consultez la section Limites.
Types de données acceptés
Les types de données compatibles avec ce connecteur sont les suivants:
- BIGINT
- BINARY
- BIT
- VALEUR BOOLÉENNE
- CHAR
- DATE
- DÉCIMAL
- DOUBLE
- FLOAT
- INTEGER
- VARCHAR LONGN
- VARCHAR LONG
- NCHAR
- NUMERIC
- NVARCHAR
- REAL
- PETITE INT
- HEURE
- TIMESTAMP
- TINY INT
- VARBINARY
- VARCHAR
Problèmes connus
Le connecteur BigQuery n'est pas compatible avec la clé primaire dans une table BigQuery. Cela signifie que vous ne pouvez pas effectuer les opérations d'obtention, de mise à jour et de suppression d'entité à l'aide d'un entityId
.
Vous pouvez également utiliser la clause de filtre pour filtrer les enregistrements en fonction d'un ID.
Actions
Cette section décrit les actions disponibles dans le connecteur BigQuery.
Annuler l'action de tâche
Cette action vous permet d'annuler un job BigQuery en cours d'exécution.
Le tableau suivant décrit les paramètres d'entrée de l'action CancelJob
.
Nom du paramètre | Type de données | Description |
---|---|---|
JobId | Chaîne | ID de la tâche à annuler. Ce champ est obligatoire. |
Région | Chaîne | Région dans laquelle la tâche est en cours d'exécution. Ce champ n'est pas obligatoire si l'offre d'emploi se situe dans une région des États-Unis ou de l'UE. |
Action GetJob
Cette action vous permet de récupérer les informations de configuration et l'état d'exécution d'un job existant.
Le tableau suivant décrit les paramètres d'entrée de l'action GetJob
.
Nom du paramètre | Type de données | Description |
---|---|---|
JobId | Chaîne | ID de la tâche pour laquelle vous souhaitez récupérer la configuration. Ce champ est obligatoire. |
Région | Chaîne | Région dans laquelle la tâche est en cours d'exécution. Ce champ n'est pas obligatoire si l'offre d'emploi se situe dans une région des États-Unis ou de l'UE. |
Action d'insertion du job
Cette action vous permet d'insérer un job BigQuery, qui pourra ensuite être sélectionné ultérieurement pour récupérer les résultats de la requête.
Le tableau suivant décrit les paramètres d'entrée de l'action InsertJob
.
Nom du paramètre | Type de données | Description |
---|---|---|
Interroger | Chaîne | Requête à envoyer à BigQuery. Ce champ est obligatoire. |
IsDML | Chaîne | Doit être défini sur true si la requête est une instruction LMD ou sur false dans le cas contraire. La valeur par défaut est false . |
DestinationTable | Chaîne | Table de destination de la requête, au format DestProjectId:DestDatasetId.DestTable . |
WriteDisposition | Chaîne | Spécifie comment écrire les données dans la table de destination (par exemple, tronquer les résultats existants, ajouter des résultats existants ou écrire uniquement lorsque la table est vide). Voici les valeurs acceptées :
|
DryRun | Chaîne | Indique si l'exécution du job est une simulation. |
MaximumBytesBilled | Chaîne | Spécifie le nombre maximal d'octets pouvant être traités par le job. BigQuery annule la tâche si celle-ci tente de traiter plus d'octets que la valeur spécifiée. |
Région | Chaîne | Spécifie la région dans laquelle le job doit s'exécuter. |
Action InsertLoadJob
Cette action vous permet d'insérer un job de chargement BigQuery, qui ajoute des données de Google Cloud Storage à une table existante.
Le tableau suivant décrit les paramètres d'entrée de l'action InsertLoadJob
.
Nom du paramètre | Type de données | Description |
---|---|---|
SourceURIs | Chaîne | Liste d'URI Google Cloud Storage séparés par un espace. |
SourceFormat | Chaîne | Format de la source des fichiers. Voici les valeurs acceptées :
|
DestinationTable | Chaîne | Table de destination de la requête, au format DestProjectId.DestDatasetId.DestTable . |
DestinationTableProperties | Chaîne | Objet JSON spécifiant le nom convivial, la description et la liste des libellés de la table. |
DestinationTableSchema | Chaîne | Liste JSON spécifiant les champs utilisés pour créer la table. |
DestinationEncryptionConfiguration | Chaîne | Objet JSON spécifiant les paramètres de chiffrement KMS de la table. |
SchemaUpdateOptions | Chaîne | Liste JSON spécifiant les options à appliquer lors de la mise à jour du schéma de la table de destination. |
TimePartitioning | Chaîne | Objet JSON spécifiant le type et le champ de partitionnement temporel. |
RangePartitioning | Chaîne | Objet JSON spécifiant les buckets et le champ de partitionnement de la plage. |
Clustering | Chaîne | Objet JSON spécifiant les champs à utiliser pour le clustering. |
Détection automatique | Chaîne | Indique si les options et le schéma doivent être déterminés automatiquement pour les fichiers JSON et CSV. |
CreateDisposition | Chaîne | Indique si la table de destination doit être créée si elle n'existe pas déjà. Les valeurs acceptées sont les suivantes :
|
WriteDisposition | Chaîne | Spécifie comment écrire des données dans la table de destination, par exemple pour tronquer les résultats existants, ajouter des résultats existants ou écrire uniquement lorsque la table est vide. Voici les valeurs acceptées :
|
Région | Chaîne | Spécifie la région dans laquelle le job doit s'exécuter. Les ressources Google Cloud Storage et l'ensemble de données BigQuery doivent se trouver dans la même région. |
DryRun | Chaîne | Indique si l'exécution du job est une simulation. La valeur par défaut est false . |
MaximumBadRecords | Chaîne | Spécifie le nombre d'enregistrements pouvant être non valides avant l'annulation de l'intégralité du job. Par défaut, tous les enregistrements doivent être valides. La valeur par défaut est 0 . |
IgnoreUnknownValues | Chaîne | Indique si les champs inconnus doivent être ignorés dans le fichier d'entrée ou les traiter comme des erreurs. Par défaut, elles sont traitées comme des erreurs. La valeur par défaut est false . |
AvroUseLogicalTypes | Chaîne | Indique si les types logiques AVRO doivent être utilisés pour convertir des données AVRO en types BigQuery. La valeur par défaut est true . |
CSVSkipLeadingRows | Chaîne | Spécifie le nombre de lignes à ignorer au début des fichiers CSV. Cette fonction est généralement utilisée pour ignorer les lignes d'en-tête. |
CSVEncoding | Chaîne | Type d'encodage des fichiers CSV. Voici les valeurs acceptées :
|
CSVNullMarker | Chaîne | Si elle est fournie, cette chaîne est utilisée pour les valeurs NULL dans les fichiers CSV. Par défaut, les fichiers CSV ne peuvent pas utiliser de valeurs NULL. |
CSVFieldDelimiter | Chaîne | Caractère permettant de séparer les colonnes dans les fichiers CSV. La valeur par défaut est une virgule (, ). |
CSVQuote | Chaîne | Caractère utilisé dans les champs entre guillemets dans les fichiers CSV. Peut être vide pour désactiver les devis. La valeur par défaut est les guillemets doubles (" ). |
CSVAllowQuotedNewlines | Chaîne | Indique si les fichiers CSV peuvent contenir des sauts de ligne dans les champs entre guillemets. La valeur par défaut est false . |
CSVAllowJaggedRows | Chaîne | Indique si les fichiers CSV peuvent contenir des champs manquants. La valeur par défaut est false . |
DSBackupProjectionFields | Chaîne | Liste JSON de champs à charger à partir d'une sauvegarde Cloud Datastore. |
ParquetOptions | Chaîne | Objet JSON spécifiant les options d'importation spécifiques à Parquet. |
DecimalTargetTypes | Chaîne | Liste JSON indiquant l'ordre de préférence appliqué aux types numériques. |
HivePartitioningOptions | Chaîne | Objet JSON spécifiant les options de partitionnement côté source. |
Exécuter une requête SQL personnalisée
Pour créer une requête personnalisée, procédez comme suit:
- Suivez les instructions détaillées pour ajouter une tâche de connecteurs.
- Lorsque vous configurez la tâche de connecteur, sélectionnez Actions dans le type d'action à effectuer.
- Dans la liste Action, sélectionnez Exécuter la requête personnalisée, puis cliquez sur OK.
- Développez la section Task input (Entrée de tâche), puis procédez comme suit :
- Dans le champ Délai avant expiration après, saisissez le délai d'exécution de la requête (en secondes).
Valeur par défaut:
180
secondes. - Dans le champ Nombre maximal de lignes, saisissez le nombre maximal de lignes à renvoyer par la base de données.
Valeur par défaut :
25
- Pour mettre à jour la requête personnalisée, cliquez sur Modifier la requête personnalisée. La boîte de dialogue Éditeur de scripts s'ouvre.
- Dans la boîte de dialogue Éditeur de scripts, saisissez la requête SQL, puis cliquez sur Enregistrer.
Vous pouvez utiliser un point d'interrogation (?) dans une instruction SQL pour représenter un seul paramètre qui doit être spécifié dans la liste des paramètres de requête. Par exemple, la requête SQL suivante sélectionne toutes les lignes de la table
Employees
correspondant aux valeurs spécifiées dans la colonneLastName
:SELECT * FROM Employees where LastName=?
- Si vous avez utilisé des points d'interrogation dans votre requête SQL, vous devez ajouter le paramètre en cliquant sur + Ajouter un nom de paramètre pour chacun d'eux. Lors de l'exécution de l'intégration, ces paramètres remplacent de manière séquentielle les points d'interrogation (?) dans la requête SQL. Par exemple, si vous avez ajouté trois points d'interrogation (?), vous devez ajouter trois paramètres dans l'ordre indiqué. Pour ajouter des paramètres de requête, procédez comme suit :
- Dans la liste Type, sélectionnez le type de données du paramètre.
- Dans le champ Valeur, saisissez la valeur du paramètre.
- Pour ajouter plusieurs paramètres, cliquez sur + Ajouter un paramètre de requête.
- Dans le champ Délai avant expiration après, saisissez le délai d'exécution de la requête (en secondes).
Utiliser Terraform pour créer des connexions
Vous pouvez utiliser la ressource Terraform pour créer une connexion.Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Pour voir un exemple de modèle Terraform pour créer des connexions, consultez cet exemple de modèle.
Lorsque vous créez cette connexion à l'aide de Terraform, vous devez définir les variables suivantes dans votre fichier de configuration Terraform:
Nom du paramètre | Type de données | Requis | Description |
---|---|---|---|
project_id | STRING | Vrai | ID du projet contenant l'ensemble de données BigQuery (par exemple, monprojet). |
dataset_id | STRING | Faux | ID de l'ensemble de données BigQuery sans le nom du projet. Par exemple, "ensemble de données". |
proxy_enabled | VALEUR BOOLÉENNE | Faux | Cochez cette case afin de configurer un serveur proxy pour la connexion. |
proxy_auth_scheme | ENUM | Faux | Type d'authentification à utiliser pour s'authentifier auprès du proxy ProxyServer. Les valeurs acceptées sont BASIC, DIGEST et NONE. |
proxy_user | STRING | Faux | Nom d'utilisateur à utiliser pour s'authentifier auprès du proxy ProxyServer. |
proxy_password | SECRET | Faux | Mot de passe à utiliser pour s'authentifier auprès du proxy ProxyServer. |
proxy_ssltype | ENUM | Faux | Type SSL à utiliser lors de la connexion au proxy ProxyServer. Les valeurs acceptées sont AUTO, ALWAYS, NEVER et TUNNEL. |
Utiliser la connexion BigQuery dans une intégration
Une fois la connexion créée, elle devient disponible dans Apigee Integration et Application Integration. Vous pouvez utiliser la connexion dans une intégration via la tâche "Connecteurs".
- Pour découvrir comment créer et utiliser la tâche "Connecteurs" dans Apigee Integration, consultez la page Tâche Connecteurs.
- Pour découvrir comment créer et utiliser la tâche "Connecteurs" dans Application Integration, consultez la section Tâche Connecteurs.
Obtenir de l'aide auprès de la communauté Google Cloud
Vous pouvez publier vos questions et discuter de ce connecteur sur les forums Cloud de la communauté Google Cloud.Étapes suivantes
- Découvrez comment suspendre et réactiver une connexion.
- Découvrez comment surveiller l'utilisation des connecteurs.
- Découvrez comment afficher les journaux d'un connecteur.