Points de contrôle
Build with Cloud Build
/ 25
Deploy to Cloud Run
/ 25
Service Account created
/ 25
Check PubSub Subscription
/ 25
Créer des PDF avec Go et Cloud Run
- GSP762
- Présentation
- Objectifs de l'atelier
- Préparation
- Architecture
- Utiliser les API Google
- Tâche 1 : Obtenir le code source
- Tâche 2 : Créer un microservice de factures
- Tâche 3 : Créer un service de convertisseur PDF
- Tâche 4 : Créer un compte de service
- Tâche 5 : Tester le service Cloud Run
- Tâche 6 : Déclencheur Cloud Storage
- Tâche 7 : Tester la notification Cloud Storage
- Félicitations !
GSP762
Présentation
Dans cet atelier, vous allez créer une application Web de conversion en PDF sur Cloud Run, un service sans serveur qui convertit automatiquement les fichiers stockés dans Google Drive en PDF stockés dans des dossiers Google Drive séparés.
Objectifs de l'atelier
- Convertir une application Go vers un conteneur
- Découvrir comment créer des conteneurs avec Google Cloud Build.
- Créer un service Cloud Run qui convertit des fichiers en PDF dans le cloud.
- Apprendre à créer des comptes de service et ajouter des autorisations
- Utiliser le traitement des événements avec Cloud Storage
Prérequis
Cet atelier s'adresse aux utilisateurs de niveau intermédiaire, qui maîtrisent déjà Cloud Console et Cloud Shell.
Vous devez également savoir modifier des fichiers. Vous pouvez utiliser votre éditeur de texte préféré (comme nano, vi, etc.) ou lancer l'éditeur de code de Cloud Shell, qui se trouve dans le ruban supérieur :
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 vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour 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) ;
- vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up 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
- 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. 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 inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue Se connecter. Cliquez sur Suivant.
-
Copiez le mot de passe inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue de bienvenue. Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis dans le panneau de gauche. Ne saisissez pas vos identifiants Google Cloud Skills Boost. 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 aux essais offerts.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
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.
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 YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :
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 :
-
Cliquez sur Autoriser.
-
Vous devez à présent obtenir le résultat suivant :
Résultat :
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
Résultat :
Exemple de résultat :
gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Architecture
Dans cet atelier, vous allez aider le cabinet vétérinaire Pet Theory à convertir automatiquement ses factures en PDF, afin que les clients puissent les ouvrir de manière fiable.
Utiliser les API Google
Dans cet atelier, vous allez utiliser les API Google. Les API suivantes ont été activées pour vous :
Nom | API |
---|---|
Cloud Build | cloudbuild.googleapis.com |
Cloud Storage | storage-component.googleapis.com |
Cloud Run | run.googleapis.com |
Tâche 1 : Obtenir le code source
Pour commencer, téléchargez le code nécessaire pour cet atelier.
- Activez votre compte d'atelier :
- Exécutez la commande suivante pour cloner le dépôt Pet Theory :
- Accédez au répertoire approprié :
Tâche 2 : Créer un microservice de factures
Dans cette section, vous allez créer une application Go afin de traiter les requêtes. Comme décrit dans le schéma de l'architecture, vous intégrerez Cloud Storage dans la solution.
-
Cliquez sur l'icône Ouvrir l'éditeur, puis sur Ouvrir dans une nouvelle fenêtre.
-
Accédez à pet-theory > lab03 > server.go
-
Ouvrez le code source
server.go
et modifiez-le pour qu'il corresponde au texte ci-dessous :
- Exécutez maintenant ce qui suit pour créer l'application :
Les fonctions appelées par ce code de niveau supérieur se trouvent dans des fichiers sources :
- serveur.go
- notification.go
- gcs.go
Une fois l'application créée, vous pouvez créer le service de convertisseur PDF.
Tâche 3 : Créer un service de convertisseur PDF
Le service PDF utilisera Cloud Run et Cloud Storage pour initier un processus chaque fois qu'un fichier sera importé dans l'espace de stockage désigné.
Pour cela, vous allez utiliser un schéma commun de notifications d'événements avec Cloud Pub/Sub. Cela permet à l'application de se concentrer seulement sur le traitement des informations. Le transport et la transmission des informations sont effectués par d'autres services, ce qui vous permet de simplifier l'application.
La création du module de facturation nécessite l'intégration de deux composants :
L'ajout du package LibreOffice vous permet de l'utiliser dans votre application.
- Dans Ouvrir l'éditeur, ouvrez le fichier manifeste
Dockerfile
existant et mettez-le à jour comme indiqué ci-dessous :
-
Enregistrez le fichier
Dockerfile
mis à jour. -
Lancez une recompilation de l'image
pdf-converter
à l'aide de Cloud Build :
Cliquez sur Vérifier ma progression pour vérifier que vous avez correctement effectué la tâche ci-dessus.
- Déployez le service pdf-converter mis à jour.
--memory
.- Exécutez les commandes suivantes pour créer le conteneur et le déployer :
Cliquez sur Vérifier ma progression pour vérifier que vous avez correctement effectué la tâche ci-dessus.
Le service Cloud Run a bien été déployé. Cependant, nous avons déployé une application qui nécessite les autorisations adéquates pour y accéder.
Tâche 4 : Créer un compte de service
Un compte de service est un type de compte particulier ayant accès aux API Google.
Dans cet atelier, vous utilisez un compte de service pour accéder à Cloud Run quand un événement Cloud Storage est traité. Cloud Storage accepte un grand nombre de notifications qui peuvent servir à déclencher des événements.
Ensuite, mettez à jour le code pour avertir l'application qu'un fichier a été importé.
- Cliquez sur le menu de navigation > Cloud Storage, puis vérifiez que deux buckets ont été créés. Vous devriez obtenir le résultat suivant :
- PROJECT_ID-processed
- PROJECT_ID-upload
- Créez une notification Pub/Sub pour indiquer qu'un nouveau fichier a été importé dans l'ensemble de documents ("importé"). Les notifications seront étiquetées avec le sujet "new-doc".
- Créez un compte de service pour déclencher les services Cloud Run :
- Donnez au nouveau compte de service l'autorisation d'appeler le service de convertisseur PDF :
- Recherchez votre numéro de projet en exécutant cette commande :
- Activez le projet pour créer des jetons d'authentification Cloud Pub/Sub :
Cliquez sur Vérifier ma progression pour vérifier que vous avez correctement effectué la tâche ci-dessus.
Une fois le compte de service créé, il peut être utilisé pour appeler le service Cloud Run.
Tâche 5 : Tester le service Cloud Run
Avant de poursuivre, testez le service déployé. N'oubliez pas que le service nécessite une authentification. Vous devez donc vérifier que le service est réellement privé.
- Enregistrez l'URL de votre service dans la variable d'environnement $SERVICE_URL :
- Affichez l'URL SERVICE :
- Envoyez une requête GET anonyme à votre nouveau service :
La requête GET anonyme génère un message d'erreur.
"Your client does not have permission to get URL"
(Votre client n'est pas autorisé à obtenir l'URL).
En effet, vous ne voulez pas que le service puisse être appelé par des utilisateurs anonymes.
- Essayez maintenant d'appeler le service en tant qu'utilisateur autorisé :
- Vous obtenez la réponse "Ready to process POST requests from Cloud Storage trigger" (Prêt à traiter les requêtes POST à partir du déclencheur Cloud Storage).
Bravo ! Vous avez déployé un service Cloud Run authentifié.
Tâche 6 : Déclencheur Cloud Storage
Pour lancer une notification lorsque du nouveau contenu est importé dans Cloud Storage, ajoutez un abonnement à votre sujet Pub/Sub existant.
-
Créez un abonnement Pub/Sub pour que le convertisseur PDF fonctionne à chaque fois qu'un message est publié dans le sujet
new-doc
:gcloud pubsub subscriptions create pdf-conv-sub \ --topic new-doc \ --push-endpoint=$SERVICE_URL \ --push-auth-service-account=pubsub-cloud-run-invoker@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com
Cliquez sur Vérifier ma progression pour vérifier que vous avez correctement effectué la tâche ci-dessus.
Désormais, chaque fois qu'un fichier est importé, l'abonnement Pub/Sub interagit avec votre compte de service. Le compte de service lance alors le service Cloud Run de convertisseur PDF.
Tâche 7 : Tester la notification Cloud Storage
Pour tester le service Cloud Run, utilisez les fichiers d'exemples disponibles.
- Copiez les fichiers de test dans votre bucket d'importation :
-
Dans la console Cloud, cliquez sur Cloud Storage > Buckets suivi du bucket dont le nom se termine par -upload. Cliquez ensuite sur le bouton Actualiser à plusieurs reprises pour voir la suppression des fichiers, l'un après l'autre, une fois qu'ils sont convertis au format PDF.
-
Cliquez ensuite sur Buckets, suivi du bucket dont le nom se termine par -processed. Il doit contenir les versions PDF de tous les fichiers. N'hésitez pas à ouvrir les fichiers PDF pour vous assurer qu'ils ont été correctement convertis.
-
Une fois l'importation terminée, cliquez sur le menu de navigation > Cloud Run, puis sur le service pdf-converter.
-
Sélectionnez l'onglet JOURNAUX et ajoutez le filtre "Conversion" pour afficher les fichiers convertis.
-
Accédez au menu de navigation > Cloud Storage et ouvrez le bucket dont le nom se termine par -upload pour confirmer que tous les fichiers importés ont été traités.
Bravo ! Vous venez de créer un nouveau service pour générer un PDF à l'aide des fichiers importés dans Cloud Storage.
Félicitations !
Le service de conversion en PDF convertit les documents et les écrit en PDF dans le bucket "processed" (traité). Dans cet atelier, vous avez appris à :
- convertir une application Go vers un conteneur ;
- créer des conteneurs avec Google Cloud Build ;
- créer un service Cloud Run ;
- activer les autorisations à l'aide d'un compte de service ;
- utiliser le traitement des événements Cloud Storage.
Terminer votre quête
Cet atelier d'auto-formation fait partie de la quête Google Cloud Run Serverless Workshop. Une quête est une série d'ateliers associés qui constituent un parcours de formation. Si vous terminez cette quête, vous obtenez un badge attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à cette quête pour obtenir immédiatement les crédits associés. Découvrez toutes les quêtes disponibles dans le catalogue Google Cloud Skills Boost.
En savoir plus/Étapes suivantes
- Conteneurs sans serveur : vidéo Next 2019 sur YouTube
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 : 29 novembre 2023
Dernier test de l'atelier : 29 novembre 2023
Copyright 2024 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.