GSP283
Présentation
Imaginez que vous avez des ensembles de données dans plusieurs emplacements à
travers le monde et que vos données se trouvent dans des buckets Google
Cloud Storage ou des tables BigQuery. Comment pouvez-vous organiser ces
données afin de les consolider et de les analyser tout en dégageant des
insights sur votre entreprise ?
Managed Service pour Apache Airflow vous aide à créer, planifier et surveiller
des workflows pour déplacer et traiter des données entre différentes régions
et différents systèmes de stockage, à l'aide d'une interface graphique
intuitive. Il fournit un framework flexible avec des opérateurs et des
intégrations qui permettent de transférer des données de manière fiable entre
des services tels que BigQuery et Cloud Storage.
Dans cet atelier, vous allez créer et exécuter un workflow
Apache Airflow à l'aide de
Managed Service pour Apache Airflow
qui effectue les tâches suivantes :
-
Obtenir la liste des tables à copier depuis un fichier de configuration
-
Exporter la liste des tables depuis un ensemble de données
BigQuery situé aux
États-Unis vers
Cloud Storage
-
Copier les tables ainsi exportées dans des buckets Cloud Storage situés dans
l'Union européenne
-
Importer la liste des tables dans l'ensemble de données BigQuery cible dans
l'Union européenne

Objectifs de l'atelier
Dans cet atelier, vous allez apprendre à :
- créer un environnement Managed Airflow ;
- créer des buckets Cloud Storage ;
- créer des ensembles de données BigQuery ;
-
créer et exécuter dans Managed Airflow des workflows Apache Airflow pour
transférer des données entre Cloud Storage et BigQuery.
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
-
Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
-
Passez les fenêtres suivantes :
- Accédez à la fenêtre d'informations de Cloud Shell.
- Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
- Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Créer un environnement Managed Airflow
-
Dans la barre de titre de la console Google Cloud, saisissez
Airflow géré dans le champ de recherche, puis cliquez sur
Airflow géré dans la section "Produits et pages" pour
créer un environnement Managed Airflow.
-
Cliquez ensuite sur Créer un environnement.
-
Dans le menu déroulant, sélectionnez
Airflow géré 3e génération.
-
Définissez les paramètres suivants pour votre environnement :
-
Nom : airflow-advanced-lab
-
Emplacement :
-
Version de l'image : composer-3-airflow-2.n.n-build.n
(sélectionnez la dernière version disponible de l'image)
-
Compte de service : compte de service par défaut de
Compute Engine
-
Mode de résilience : sélectionnez
Résilience standard, puis
pour Zone de base de données Airflow.
-
Sous Ressources de l'environnement, sélectionnez
Petit.
-
Pour Contrôle de l'accès réseau au serveur Web,
sélectionnez
Autoriser l'accès depuis toutes les adresses IP.
Conservez les valeurs par défaut de tous les autres paramètres.
-
Cliquez sur Créer.
Le processus de création de l'environnement est terminé lorsqu'une coche verte
apparaît à gauche du nom de l'environnement sur la page "Environnements" de la
console Cloud.
Remarque : La création de l'environnement peut prendre jusqu'à 20 minutes. Passez à la section suivante pour créer des buckets Cloud Storage et l'ensemble de données de destination BigQuery.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer un environnement Managed Airflow
Tâche 2 : Créer des buckets Cloud Storage
Dans cette tâche, vous allez créer deux buckets Cloud Storage multirégionaux.
Ces buckets serviront à copier les tables exportées entre les emplacements, à
savoir des États-Unis vers l'Union européenne.
Créer un bucket aux États-Unis
-
Accédez à Cloud Storage > Buckets, puis cliquez sur
Créer.
-
Attribuez au bucket un nom unique universel comprenant l'ID du projet (ex. :
-us).
-
Pour Type d'emplacement, sélectionnez
US (plusieurs régions aux États-Unis).
-
Conservez l'autre valeur par défaut et cliquez sur Créer.
-
Cochez la case
Appliquer la protection contre l'accès public sur ce bucket et
cliquez sur Confirmer dans le pop-up
L'accès public sera bloqué, si vous y êtes invité.
Créer un bucket dans l'UE
Répétez ces étapes pour créer un autre bucket dans la région EU.
Le nom unique universel doit inclure l'emplacement sous la forme d'un suffixe
(ex. :
-eu).
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer deux buckets Cloud Storage
Tâche 3 : Créer l'ensemble de données de destination BigQuery
-
Créez l'ensemble de données de destination BigQuery dans l'Union
européenne depuis la nouvelle interface utilisateur Web de BigQuery.
-
Accédez au menu de navigation >
BigQuery.
Le message
Bienvenue sur BigQuery dans la console Cloud s'affiche. Il
contient un lien vers le guide de démarrage rapide et liste les mises à jour
de l'interface utilisateur.
-
Cliquez sur OK.
-
Cliquez sur l'icône à trois points figurant à côté de l'ID de votre projet
Qwiklabs, puis sélectionnez Créer un ensemble de données.
-
Dans le champ ID de l'ensemble de données, saisissez
nyc_tlc_EU. Pour
Type d'emplacement des données, sélectionnez
UE dans le menu déroulant sous
Multirégional.
- Cliquez sur Créer un ensemble de données.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer un ensemble de données BigQuery
Tâche 4 : Présentation rapide d'Airflow et de ses concepts fondamentaux
-
Pendant la création de votre environnement, découvrez plus d'informations
sur l'exemple de fichier que vous allez utiliser au cours de cet atelier.
Airflow est une plate-forme qui
permet de créer, de planifier et de surveiller vos workflows de manière
programmatique.
Avec Airflow, vous pouvez créer des workflows en tant que graphes de tâches
orientés acycliques (DAG). Le programmeur Airflow exécute vos tâches sur un
tableau de nœuds de calcul tout en suivant les dépendances spécifiées.
Concepts fondamentaux
DAG : un graphe orienté acyclique est un ensemble de tâches, organisé de façon à
refléter les relations et dépendances.
Opérateur : description d'une tâche unique, généralement atomique. Par exemple,
l'opérateur BashOperator permet d'exécuter une commande Bash.
Tâche : instance paramétrée d'un opérateur. Nœud dans le DAG.
Instance de tâche : exécution spécifique d'une tâche. Elle se compose d'un DAG, d'une tâche et
d'une date/heure d'exécution. Un état indicatif lui est attribué :
running (exécution en cours), success (réussite),
failed (échec), skipped (ignorée), ...
Pour en savoir plus sur les concepts d'Airflow, consultez la
documentation sur les concepts.
Tâche 5 : Définit le workflow
Dans Apache Airflow, les workflows sont composés de
DAG (graphes orientés acycliques). Le code contenu dans
bq_copy_across_locations.py
représente le workflow, également appelé DAG. Ouvrez le fichier pour
comprendre la structure du DAG. La section suivante présente en détail ses
principaux composants.
Pour orchestrer toutes les tâches du workflow, le DAG importe les opérateurs
suivants :
-
DummyOperator : crée des tâches de début et de fin factices
pour une meilleure représentation visuelle du DAG.
-
BigQueryToCloudStorageOperator : exporte les tables BigQuery
vers les buckets Cloud Storage au format Avro.
-
GoogleCloudStorageToGoogleCloudStorageOperator : copie les
fichiers dans les buckets Cloud Storage.
-
GoogleCloudStorageToBigQueryOperator : importe les tables des
fichiers Avro dans un bucket Cloud Storage.
-
Dans cet exemple, la fonction
read_table_list() est définie de
manière à lire le fichier de configuration et à créer la liste des tables à
copier :
# --------------------------------------------------------------------------------
# Functions
# --------------------------------------------------------------------------------
def read_table_list(table_list_file):
"""
Reads the master CSV file that will help in creating Airflow tasks in
the DAG dynamically.
:param table_list_file: (String) The file location of the master file,
e.g. '/home/airflow/framework/master.csv'
:return master_record_all: (List) List of Python dictionaries containing
the information for a single row in master CSV file.
"""
master_record_all = []
logger.info('Reading table_list_file from : %s' % str(table_list_file))
try:
with open(table_list_file, 'rb') as csv_file:
csv_reader = csv.reader(csv_file)
next(csv_reader) # skip the headers
for row in csv_reader:
logger.info(row)
master_record = {
'table_source': row[0],
'table_dest': row[1]
}
master_record_all.append(master_record)
return master_record_all
except IOError as e:
logger.error('Error opening table_list_file %s: ' % str(
table_list_file), e)
-
Le nom du DAG est
bq_copy_us_to_eu_01. Le DAG n'étant pas
programmé par défaut, il doit être déclenché manuellement.
default_args = {
'owner': 'airflow',
'start_date': datetime.today(),
'depends_on_past': False,
'email': [''],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
# DAG object.
with models.DAG('bq_copy_us_to_eu_01',
default_args=default_args,
schedule_interval=None) as dag:
-
Pour définir le plug-in Cloud Storage, vous devez définir la classe
Cloud StoragePlugin(AirflowPlugin) en mappant le hook et
l'opérateur téléchargés depuis la branche Airflow 1.10-stable.
# Import operator from plugins
from gcs_plugin.operators import gcs_to_gcs
Tâche 6 : Afficher les informations concernant l'environnement
-
Retournez à Airflow géré pour vérifier l'état de votre
environnement.
-
Une fois l'environnement créé, cliquez sur son nom pour en afficher les
détails.
La page Détails de l'environnement contient des informations
telles que l'URL de l'interface utilisateur Web d'Airflow, l'ID du cluster
Google Kubernetes Engine et le nom du bucket Cloud Storage connecté au dossier
des DAG.
Remarque : Les services Apache Airflow gérés utilisent Cloud Storage pour stocker les DAG, également appelés workflows. Chaque environnement est associé à un bucket Cloud Storage, et seuls les DAG présents dans ce bucket sont planifiés par Airflow.
Les prochaines étapes doivent être effectuées dans Cloud Shell.
Créer un environnement virtuel
Les environnements virtuels Python permettent d'isoler l'installation d'un package du système.
- Installez l'environnement
virtualenv :
sudo apt-get install -y virtualenv
- Créez l'environnement virtuel :
python3 -m venv venv
- Activez l'environnement virtuel :
source venv/bin/activate
Tâche 7 : Créer une variable pour le bucket Cloud Storage des DAG
-
Dans Cloud Shell, exécutez la commande suivante pour copier le nom du bucket
des DAG indiqué sur la page "Détails de l'environnement" et définir une
variable qui s'y référera dans Cloud Shell :
Remarque : Veillez à remplacer le nom du bucket des DAG dans la commande suivante. Accédez au menu de navigation > Cloud Storage > Buckets. Son nom est semblable à -airflow-advance-YOURDAGSBUCKET-bucket.
DAGS_BUCKET=<nom de votre bucket de DAG>
Vous allez utiliser cette variable un certain nombre de fois au cours de cet
atelier.
Tâche 8 : Définir les variables Airflow
Les variables Airflow sont un concept spécifique à Airflow, et se distinguent
des
variables d'environnement. Dans cette étape, vous allez définir les trois
variables Airflow
suivantes, qui seront utilisées par le DAG que nous allons déployer :
table_list_file_path, gcs_source_bucket et
gcs_dest_bucket.
| Clé |
Valeur |
Détails |
table_list_file_path |
/home/airflow/gcs/dags/bq_copy_eu_to_us_sample.csv |
Fichier CSV listant les tables source et cible, y compris l'ensemble de
données
|
gcs_source_bucket |
{ID UNIQUE}-us |
Bucket Cloud Storage à utiliser pour exporter les tables BigQuery depuis
l'emplacement source
|
gcs_dest_bucket |
{ID UNIQUE}-eu |
Bucket Cloud Storage à utiliser pour importer les tables BigQuery dans
l'emplacement de destination
|
La commande gcloud composer suivante permet d'exécuter les
variables
de la sous-commande CLI Airflow. La sous-commande transmet les arguments à
l'outil de ligne de commande gcloud.
Pour définir les trois variables, vous allez exécuter la
commande composer pour chacune des lignes de la table ci-dessus.
La commande se présente comme suit :
gcloud composer environments run ENVIRONMENT_NAME \
--location LOCATION variables -- \
set KEY VALUE
Vous pouvez ignorer cette erreur gcloud :
(ERROR: gcloud crashed (TypeError): 'NoneType' object is not
callable). Il s'agit d'un
problème connu
lors de l'utilisation de
gcloud composer environments run avec la
version 410.0.0 de gcloud. Vos variables seront quand même définies malgré le
message d'erreur.
-
ENVIRONMENT_NAME correspond au nom de l'environnement.
-
LOCATION est la région Compute Engine dans laquelle se trouve
l'environnement. Vous devez inclure l'option --location ou
définir l'emplacement par défaut
dans la commande gcloud composer avant de l'exécuter.
-
Les éléments
KEY et VALUE indiquent la variable à
définir et sa valeur. Ajoutez un espace, deux tirets et un espace (
-- ) entre la commande gcloud de gauche spécifiant
les arguments gcloud, et les arguments associés à la sous-commande Airflow
de droite. Incluez également un espace entre les arguments
KEY et VALUE. Exécutez la commande
gcloud composer environments run avec les variables de la
sous-commande.
Exécutez les commandes suivantes dans Cloud Shell, en remplaçant
gcs_source_bucket et gcs_dest_bucket par les noms
des buckets que vous avez créés lors de la tâche 2.
gcloud composer environments run airflow-advanced-lab \
--location {{{ project_0.default_region | "REGION" }}} variables -- \
set table_list_file_path /home/airflow/gcs/dags/bq_copy_eu_to_us_sample.csv
gcloud composer environments run airflow-advanced-lab \
--location {{{ project_0.default_region | "REGION" }}} variables -- \
set gcs_source_bucket {UNIQUE ID}-us
gcloud composer environments run airflow-advanced-lab \
--location {{{ project_0.default_region | "REGION" }}} variables -- \
set gcs_dest_bucket {UNIQUE_ID}-eu
Pour afficher la valeur d'une variable, utilisez la sous-commande
variables
de la CLI Airflow avec l'argument get ou utilisez l'UI Airflow.
Par exemple, exécutez la commande suivante :
gcloud composer environments run airflow-advanced-lab \
--location {{{ project_0.default_region | "REGION" }}} variables -- \
get gcs_source_bucket
Remarque : Veillez à définir les trois variables Airflow utilisées par le DAG.
Tâche 9 : Importer le DAG et les dépendances dans Cloud Storage
-
Dans Cloud Shell, copiez les fichiers d'exemple de la documentation
Google Cloud pour Python :
cd ~
gcloud storage cp -r gs://spls/gsp283/python-docs-samples .
-
Importez une copie du hook et de l'opérateur tiers dans le dossier des
plug-ins du bucket Cloud Storage contenant les DAG Airflow :
gcloud storage cp -r python-docs-samples/third_party/apache-airflow/plugins/* gs://$DAGS_BUCKET/plugins
-
Importez ensuite le DAG et le fichier de configuration dans le bucket
Cloud Storage des DAG de votre environnement :
gcloud storage cp python-docs-samples/composer/workflows/bq_copy_across_locations.py gs://$DAGS_BUCKET/dags
gcloud storage cp python-docs-samples/composer/workflows/bq_copy_eu_to_us_sample.csv gs://$DAGS_BUCKET/dags
Les services Apache Airflow gérés détectent et enregistrent automatiquement
les DAG dans l'environnement Airflow. Les mises à jour sont généralement
appliquées en quelques minutes. Vous pouvez surveiller l'état des tâches dans
l'interface Web d'Airflow et vérifier que le comportement de programmation du
DAG correspond à la configuration définie.
Tâche 10 : Explorer l'UI d'Airflow
Pour accéder à l'interface Web d'Airflow à l'aide de la console Cloud :
-
Revenez à la page Environnements dans "Airflow géré".
-
Dans la colonne Serveur Web Airflow associée à
l'environnement, cliquez sur le lien Airflow.
-
Cliquez sur les identifiants qui vous ont été attribués pour cet atelier.
-
L'UI Web d'Airflow s'ouvre dans une nouvelle fenêtre du navigateur. Le
chargement des données se poursuit pendant ce temps. Vous pouvez continuer
l'atelier en attendant.
Afficher les variables
Les variables que vous avez définies précédemment sont conservées dans votre
environnement.
-
Affichez les variables en sélectionnant Admin >
Variables dans la barre de menu Airflow.
Déclencher l'exécution manuelle du DAG
-
Cliquez sur l'onglet Graphes orientés acycliques et
attendez la fin du chargement des liens.
-
Pour déclencher le DAG manuellement, cliquez sur le bouton de lecture pour
composer_sample_bq_copy_across_locations :
-
Cliquez sur Déclencher le DAG pour confirmer cette action.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Importer le DAG et les dépendances dans Cloud Storage
Explorer les exécutions du DAG
Lorsque vous importez le fichier DAG dans le dossier "DAG" (emplacement de
stockage configuré), Apache Airflow l'analyse. Si aucune erreur n'est
détectée, le workflow apparaît dans la liste des DAG et est placé en file
d'attente pour s'exécuter selon sa configuration de programmation. Si la
programmation est définie sur "Aucune", le workflow ne s'exécute pas
automatiquement et doit être déclenché manuellement.
L'état dans la colonne Exécutions devient vert lorsque vous
appuyez sur le bouton de lecture :
-
Cliquez sur le nom du DAG pour ouvrir sa page d'informations. Cette page
comprend une représentation graphique des tâches et des dépendances du
workflow.

-
Dans la barre d'outils, cliquez sur Graphique, puis passez
la souris sur le graphique de chaque tâche pour afficher l'état de celle-ci.
Notez que la bordure autour de chaque tâche indique également son état
(bordure verte = exécution en cours, rouge = échec, etc.).

Pour exécuter de nouveau le workflow à partir de la vue
Graphique :
-
Dans la vue graphique de l'UI d'Airflow, cliquez sur le graphique
start (début).
-
Cliquez sur Effacer > Effacer la tâche existante pour
réinitialiser toutes les tâches, puis sur
Effacer l'exécution du DAG pour confirmer.
Actualisez le navigateur pendant l'exécution du processus pour afficher les
informations les plus récentes.
Tâche 11 : Valider les résultats
Vous allez maintenant vérifier l'état et les résultats du workflow. Pour ce
faire, accédez à ces pages de la console Cloud :
-
Les tables exportées ont été copiées du bucket américain vers le bucket
Cloud Storage européen. Cliquez sur Cloud Storage pour
consulter les fichiers Avro intermédiaires dans les buckets source
(États-Unis) et de destination (Union européenne).
-
La liste des tables a été importée dans l'ensemble de données BigQuery
cible. Cliquez sur BigQuery, puis sur le nom de votre
projet et sur l'ensemble de données nyc_tlc_EU pour vous
assurer que les tables sont bien accessibles depuis l'ensemble de données
que vous avez créé.
Supprimer l'environnement Cloud Composer
-
Revenez à la page Environnements dans Cloud Composer.
-
Sélectionnez votre environnement Cloud Composer.
-
Cliquez sur Supprimer.
-
Dans la boîte de dialogue qui s'affiche, cliquez sur Supprimer pour confirmer que vous souhaitez supprimer l'environnement Cloud Composer.
Félicitations !
Vous avez copié des tables de manière programmatique de l'emplacement
américain vers l'emplacement européen. Cet atelier se base sur
cet article de blog
publié par David Sabater Dinter.
Étapes suivantes
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 20 avril 2026
Dernier test de l'atelier : 20 avril 2026
Copyright 2026 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.