Ce tutoriel explique comment utiliser Cloud Run, l'API Cloud Vision et ImageMagick pour détecter et flouter les images choquantes importées dans un bucket Cloud Storage. Il s'appuie sur le tutoriel Utiliser Pub/Sub avec Cloud Run.
Ce tutoriel explique comment modifier un exemple d'application existant. Vous pouvez également télécharger l'exemple complet si vous le souhaitez.
Objectifs
- Écrire, créer et déployer un service de traitement de données asynchrone dans Cloud Run.
- Appeler le service en important un fichier dans Cloud Storage, en créant un message Pub/Sub
- Utiliser l'API Cloud Vision pour détecter les contenus violents ou réservés aux adultes
- Utiliser ImageMagick pour flouter les images choquantes
- Tester le service en important une image représentant un zombie mangeur de chair
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Avant de commencer
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Pub/Sub, Cloud Run, Cloud Storage and Cloud Vision APIs.
- Installez et initialisez gcloud CLI.
- Mettez à jour les composants :
gcloud components update
- Configurez un sujet Pub/Sub, un abonnement push sécurisé et un service Cloud Run initial pour gérer les messages en suivant le tutoriel Utiliser Pub/Sub.
Rôles requis
Pour obtenir les autorisations nécessaires pour suivre le tutoriel, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
-
Éditeur Cloud Build (
roles/cloudbuild.builds.editor
) -
Administrateur Cloud Run (
roles/run.admin
) -
Accesseur de vues de journaux (
roles/logging.viewAccessor
) -
Administrateur de projet IAM (
roles/resourcemanager.projectIamAdmin
) -
Administrateur Pub/Sub (
roles/pubsub.admin
) -
Utilisateur du compte de service (
roles/iam.serviceAccountUser
) -
Consommateur Service Usage (
roles/serviceusage.serviceUsageConsumer
) -
Administrateur de l'espace de stockage (
roles/storage.admin
)
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Configurer les paramètres par défaut de gcloud
Pour configurer gcloud avec les valeurs par défaut pour votre service Cloud Run, procédez comme suit :
Définissez le projet par défaut :
gcloud config set project PROJECT_ID
Remplacez PROJECT_ID par le nom du projet que vous avez créé pour ce tutoriel.
Configurez gcloud pour la région choisie :
gcloud config set run/region REGION
Remplacez REGION par la région Cloud Run compatible de votre choix.
Emplacements Cloud Run
Cloud Run est régional, ce qui signifie que l'infrastructure qui exécute vos services Cloud Run est située dans une région spécifique et gérée par Google pour être disponible de manière redondante dans toutes les zones de cette région.
Lors de la sélection de la région dans laquelle exécuter vos services Cloud Run, vous devez tout d'abord considérer vos exigences en matière de latence, de disponibilité et de durabilité.
Vous pouvez généralement sélectionner la région la plus proche de vos utilisateurs, mais vous devez tenir compte de l'emplacement des autres produits Google Cloud utilisés par votre service Cloud Run.
L'utilisation conjointe de produits Google Cloud dans plusieurs emplacements peut avoir une incidence sur la latence et le coût de votre service.
Cloud Run est disponible dans les régions suivantes :
Soumis aux tarifs de niveau 1
asia-east1
(Taïwan)asia-northeast1
(Tokyo)asia-northeast2
(Osaka)europe-north1
(Finlande) Faibles émissions de CO2europe-southwest1
(Madrid) Faibles émissions de CO2europe-west1
(Belgique) Faibles émissions de CO2europe-west4
(Pays-Bas) Faibles émissions de CO2europe-west8
(Milan)europe-west9
(Paris) Faibles émissions de CO2me-west1
(Tel Aviv)us-central1
(Iowa) Faibles émissions de CO2us-east1
(Caroline du Sud)us-east4
(Virginie du Nord)us-east5
(Columbus)us-south1
(Dallas) Faibles émissions de CO2us-west1
(Oregon) Faibles émissions de CO2
Soumis aux tarifs de niveau 2
africa-south1
(Johannesburg)asia-east2
(Hong Kong)asia-northeast3
(Séoul, Corée du Sud)asia-southeast1
(Singapour)asia-southeast2
(Jakarta)asia-south1
(Mumbai, Inde)asia-south2
(Delhi, Inde)australia-southeast1
(Sydney)australia-southeast2
(Melbourne)europe-central2
(Varsovie, Pologne)europe-west10
(Berlin) Faibles émissions de CO2.europe-west12
(Turin)europe-west2
(Londres, Royaume-Uni) Faibles émissions de CO2europe-west3
(Francfort, Allemagne) Faibles émissions de CO2europe-west6
(Zurich, Suisse) Faibles émissions de CO2me-central1
(Doha)me-central2
(Dammam)northamerica-northeast1
(Montréal) Faibles émissions de CO2northamerica-northeast2
(Toronto) Faibles émissions de CO2southamerica-east1
(São Paulo, Brésil) Faibles émissions de CO2southamerica-west1
(Santiago, Chili) Faibles émissions de CO2us-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)
Si vous avez déjà créé un service Cloud Run, vous pouvez afficher la région dans le tableau de bord Cloud Run de la console Google Cloud.
Comprendre la séquence des opérations
Le flux de données de ce tutoriel comprend les étapes suivantes :
- Un utilisateur importe une image dans un bucket Cloud Storage.
- Cloud Storage publie un message sur le nouveau fichier dans Pub/Sub.
- Pub/Sub envoie le message au service Cloud Run.
- Le service Cloud Run récupère le fichier image référencé dans le message Pub/Sub.
- Le service Cloud Run utilise l'API Cloud Vision pour analyser l'image.
- Si du contenu violent ou réservé aux adultes est détecté, le service Cloud Run utilise ImageMagick pour flouter l'image.
- Le service Cloud Run importe l'image floutée dans un autre bucket Cloud Storage en vue de son utilisation.
L'utilisation ultérieure de l'image floutée est laissée en exercice au lecteur.
Créer un dépôt standard Artifact Registry
Créez un dépôt standard Artifact Registry pour stocker votre image de conteneur :
gcloud artifacts repositories create REPOSITORY \ --repository-format=docker \ --location=REGION
Remplacez :
- REPOSITORY par un nom unique pour le dépôt
- REGION par la région Google Cloud à utiliser pour le dépôt Artifact Registry.
Configurer des buckets Cloud Storage
gcloud
Créez un bucket Cloud Storage pour importer des images, où INPUT_BUCKET_NAME est un nom de bucket unique :
gcloud storage buckets create gs://INPUT_BUCKET_NAME
Le service Cloud Run lit uniquement à partir de ce bucket.
Créez un second bucket Cloud Storage destiné à recevoir les images floutées, où BLURRED_BUCKET_NAME est un nom de bucket unique :
gcloud storage buckets create gs://BLURRED_BUCKET_NAME
Le service Cloud Run importe les images floutées dans ce bucket. L'utilisation d'un bucket distinct empêche les images traitées de déclencher de nouveau le service.
Par défaut, les révisions Cloud Run s'exécutent en tant que compte de service Compute Engine par défaut.
Si vous utilisez plutôt un compte de service géré par l'utilisateur, assurez-vous d'avoir attribué les rôles IAM requis afin d'avoir l'autorisation
storage.objects.get
de lecture de INPUT_BUCKET_NAME et l'autorisation destorage.objects.create
d'importer vers BLURRED_BUCKET_NAME.
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Créez deux buckets Cloud Storage : l'un pour importer les images d'origine et l'autre dans lequel le service Cloud Run importe les images floues.
Pour créer les deux buckets Cloud Storage avec des noms uniques, ajoutez les éléments suivants à votre fichier main.tf
existant :
Par défaut, les révisions Cloud Run s'exécutent en tant que compte de service Compute Engine par défaut.
Si vous utilisez plutôt un compte de service géré par l'utilisateur, assurez-vous d'avoir attribué les rôles IAM requis afin d'avoir l'autorisation storage.objects.get
de lecture de google_storage_bucket.imageproc_input
et l'autorisation de storage.objects.create
d'importer vers google_storage_bucket.imageproc_output
.
Dans les étapes suivantes, vous allez créer et déployer un service qui traite les notifications sur les importations de fichiers dans le bucket INPUT_BUCKET_NAME. Vous activez l'envoi de notifications après avoir déployé et testé le service, afin d'éviter tout appel prématuré du nouveau service.
Modifier l'exemple de code du tutoriel Pub/Sub
Ce tutoriel s'appuie sur le code assemblé dans le tutoriel Utiliser Pub/Sub. Si vous n'avez pas encore terminé ce tutoriel, faites-le maintenant en ignorant les étapes de nettoyage, puis revenez sur cette page pour ajouter le comportement de traitement des images.
Ajouter du code de traitement d'images
Le code de traitement des images est séparé de la gestion des requêtes pour des raisons de lisibilité et de facilité de test. Pour ajouter du code de traitement des images, procédez comme suit :
Accédez au répertoire de l'exemple de code du tutoriel Pub/Sub.
Ajoutez du code pour importer les dépendances de traitement des images, y compris les bibliothèques à intégrer aux services Google Cloud, à ImageMagick et au système de fichiers.
Node.js
Ouvrez un nouveau fichierimage.js
dans votre éditeur et copiez-y ce qui suit :Python
Ouvrez un nouveau fichierimage.py
dans votre éditeur et copiez-y ce qui suit :Go
Ouvrez un nouveau fichierimagemagick/imagemagick.go
dans votre éditeur et copiez-y ce qui suit :Java
Ouvrez un nouveau fichiersrc/main/java/com/example/cloudrun/ImageMagick.java
dans votre éditeur et copiez-y ce qui suit :Ajoutez le code pour recevoir un message Pub/Sub en tant qu'objet d'événement et contrôler le traitement des images.
L'événement contient des données sur l'image importée à l'origine. Ce code détermine si l'image doit être floutée en vérifiant les résultats d'une analyse Cloud Vision pour le contenu violent ou réservé aux adultes.
Node.js
Python
Go
Java
Récupérez l'image référencée dans le bucket d'entrée Cloud Storage créé ci-dessus, utilisez ImageMagick pour transformer l'image avec un effet de flou et importez le résultat dans le bucket de sortie.
Node.js
Python
Go
Java
Intégrer le traitement des images dans l'exemple de code Pub/Sub
Pour modifier le service existant afin d'intégrer le code de traitement des images, procédez comme suit :
Ajoutez de nouvelles dépendances pour votre service, y compris les bibliothèques clientes Cloud Vision et Cloud Storage :
Node.js
npm install --save gm @google-cloud/storage @google-cloud/vision
Python
Ajoutez les bibliothèques clientes nécessaires pour que votre fichierrequirements.txt
se présente comme suit :Go
L'exemple d'application Go utilise des modules Go. Les nouvelles dépendances ajoutées ci-dessus dans l'instruction d'importationimagemagick/imagemagick.go
seront automatiquement téléchargées par la prochaine commande qui en a besoin.Java
Ajoutez la dépendance suivante sous<dependencyManagement>
dans le fichierpom.xml
: Ajoutez les dépendances suivantes sous<dependencies>
dans le fichierpom.xml
:Ajoutez le package système ImageMagick à votre conteneur en modifiant le fichier
Dockerfile
sous l'instructionFROM
. Si vous utilisez un fichier Dockerfile "multi-étapes", placez-le à l'étape finale.Debian/Ubuntu Alpine Pour en savoir plus sur l'utilisation des packages système dans votre service Cloud Run, consultez le tutoriel Utiliser des packages système.
Remplacez le code de traitement des messages Pub/Sub existant par un appel de fonction à notre nouvelle logique de floutage.
Node.js
Le fichierapp.js
définit l'application Express.js et prépare les messages Pub/Sub reçus en vue de leur utilisation. Apportez les modifications suivantes :- Ajoutez du code pour importer le nouveau fichier
image.js
. - Supprimez le code "Hello World" existant de la route.
- Ajoutez du code pour valider le message Pub/Sub.
Ajoutez du code pour appeler la nouvelle fonction de traitement des images.
Lorsque vous avez terminé, le code se présente comme suit :
Python
Le fichiermain.py
définit l'application Flask et prépare les messages Pub/Sub reçus en vue de leur utilisation. Apportez les modifications suivantes :- Ajoutez du code pour importer le nouveau fichier
image.py
. - Supprimez le code "Hello World" existant de la route.
- Ajoutez du code pour valider le message Pub/Sub.
Ajoutez du code pour appeler la nouvelle fonction de traitement des images.
Lorsque vous avez terminé, le code se présente comme suit :
Go
Le fichiermain.go
définit le service HTTP et prépare les messages Pub/Sub reçus en vue de leur utilisation. Apportez les modifications suivantes :- Ajoutez du code pour importer le nouveau fichier
imagemagick.go
. - Supprimez le code "Hello World" existant du gestionnaire.
- Ajoutez du code pour valider le message Pub/Sub.
- Ajoutez du code pour appeler la nouvelle fonction de traitement des images.
Java
Le fichierPubSubController.java
définit le contrôleur qui gère les requêtes HTTP et prépare les messages Pub/Sub reçus en vue de leur utilisation. Apportez les modifications suivantes :- Ajoutez les nouvelles importations.
- Supprimez le code "Hello World" existant du contrôleur.
- Ajoutez du code pour valider le message Pub/Sub.
- Ajoutez du code pour appeler la nouvelle fonction de traitement des images.
- Ajoutez du code pour importer le nouveau fichier
Télécharger l'exemple complet
Pour récupérer l'intégralité de l'exemple de code de traitement des images à utiliser, procédez comme suit :
Clonez le dépôt de l'exemple d'application sur votre machine locale :
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.
Accédez au répertoire contenant l'exemple de code Cloud Run :
Node.js
cd nodejs-docs-samples/run/image-processing/
Python
cd python-docs-samples/run/image-processing/
Go
cd golang-samples/run/image-processing/
Java
cd java-docs-samples/run/image-processing/
Envoyer le code
La transmission du code se déroule en trois étapes : création d'une image de conteneur avec Cloud Build, importation de l'image de conteneur dans Artifact Registry, puis déploiement de cette image dans Cloud Run.
Pour transmettre votre code, procédez comme suit :
Créez votre conteneur et publiez-le dans Artifact Registry :
Node.js
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID /REPOSITORY/pubsub
Où
pubsub
est le nom de votre service.Remplacez :
- PROJECT_ID par l'ID de votre projet Google Cloud
- REPOSITORY par le nom du dépôt Artifact Registry ;
- REGION par la région Google Cloud à utiliser pour le dépôt Artifact Registry.
En cas de réussite, un message SUCCESS apparaît contenant l'ID, l'heure de création et le nom de l'image. L'image est stockée dans Artifact Registry et peut être réutilisée si nécessaire.
Python
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID /REPOSITORY/pubsub
Où
pubsub
est le nom de votre service.Remplacez :
- PROJECT_ID par l'ID de votre projet Google Cloud
- REPOSITORY par le nom du dépôt Artifact Registry ;
- REGION par la région Google Cloud à utiliser pour le dépôt Artifact Registry.
En cas de réussite, un message SUCCESS apparaît contenant l'ID, l'heure de création et le nom de l'image. L'image est stockée dans Artifact Registry et peut être réutilisée si nécessaire.
Accéder
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID /REPOSITORY/pubsub
Où
pubsub
est le nom de votre service.Remplacez :
- PROJECT_ID par l'ID de votre projet Google Cloud
- REPOSITORY par le nom du dépôt Artifact Registry ;
- REGION par la région Google Cloud à utiliser pour le dépôt Artifact Registry.
En cas de réussite, un message SUCCESS apparaît contenant l'ID, l'heure de création et le nom de l'image. L'image est stockée dans Artifact Registry et peut être réutilisée si nécessaire.
Java
Cet exemple utilise Jib pour créer des images Docker à l'aide d'outils Java courants. Jib optimise les builds de conteneurs sans requérir de fichier Dockerfile ni d'installation Docker. Découvrez comment créer des conteneurs Java avec Jib.À l'aide du fichier Dockerfile, configurez et créez une image de base avec les packages système installés pour remplacer l'image de base par défaut de Jib :
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID /REPOSITORY/imagemagick
Remplacez :
- PROJECT_ID par l'ID de votre projet Google Cloud
- REPOSITORY par le nom du dépôt Artifact Registry ;
- REGION par la région Google Cloud à utiliser pour le dépôt Artifact Registry.
Utilisez l'assistant d'identification gcloud pour autoriser Docker à transférer du contenu vers Artifact Registry.
gcloud auth configure-docker
Créez votre conteneur final avec Jib et publiez-le sur Artifact Registry :
mvn compile jib:build \ -Dimage=REGION-docker.pkg.dev/PROJECT_ID /REPOSITORY/pubsub \ -Djib.from.image=REGION-docker.pkg.dev/PROJECT_ID /REPOSITORY/imagemagick
Remplacez :
- PROJECT_ID par l'ID de votre projet Google Cloud
- REPOSITORY par le nom du dépôt Artifact Registry ;
- REGION par la région Google Cloud à utiliser pour le dépôt Artifact Registry.
Exécutez la commande suivante pour déployer votre service, en utilisant le même nom de service que celui utilisé dans le tutoriel Utiliser Pub/Sub :
Node.js
gcloud run deploy pubsub-tutorial --image REGION-docker.pkg.dev/PROJECT_ID /REPOSITORY/pubsub --set-env-vars=BLURRED_BUCKET_NAME=BLURRED_BUCKET_NAME --no-allow-unauthenticated
Python
gcloud run deploy pubsub-tutorial --image REGION-docker.pkg.dev/PROJECT_ID /REPOSITORY/pubsub --set-env-vars=BLURRED_BUCKET_NAME=BLURRED_BUCKET_NAME --no-allow-unauthenticated
Go
gcloud run deploy pubsub-tutorial --image REGION-docker.pkg.dev/PROJECT_ID /REPOSITORY/pubsub --set-env-vars=BLURRED_BUCKET_NAME=BLURRED_BUCKET_NAME --no-allow-unauthenticated
Java
gcloud run deploy pubsub-tutorial --image REGION-docker.pkg.dev/PROJECT_ID /REPOSITORY/pubsub --set-env-vars=BLURRED_BUCKET_NAME=BLURRED_BUCKET_NAME --memory 512M --no-allow-unauthenticated
Où
pubsub
correspond au nom du conteneur etpubsub-tutorial
au nom du service. Notez que l'image de conteneur est déployée sur le service et la région (Cloud Run) que vous avez précédemment configurés dans la section Configurer les paramètres par défaut de gcloud. Remplacez :- PROJECT_ID par l'ID de votre projet Google Cloud
- REPOSITORY par le nom du dépôt Artifact Registry ;
- REGION par la région Google Cloud à utiliser pour le dépôt Artifact Registry.
- Pour définir la variable d'environnement, remplacez BLURRED_BUCKET_NAME par le bucket Cloud Storage destiné à recevoir les images floutées que vous avez créé précédemment.
L'option
--no-allow-unauthenticated
limite l'accès non authentifié au service. En gardant le service privé, le processus d'intégration automatique à Pub/Sub de Cloud Run assure l'authentification des requêtes. Cette configuration est présentée en détail dans la section Intégrer à Pub/Sub. Pour en savoir plus sur l'authentification basée sur IAM, consultez la page Gérer les accès.Patientez jusqu'à la fin du déploiement, soit environ 30 secondes. En cas de réussite, la ligne de commande affiche l'URL du service.
Activer les notifications depuis Cloud Storage
Configurez Cloud Storage pour publier un message dans un sujet Pub/Sub chaque fois qu'un fichier (appelé "objet") est importé ou modifié. Envoyez la notification au sujet créé précédemment pour que toute nouvelle importation de fichier appelle le service.
gcloud
gcloud storage service-agent --project=PROJECT_ID gcloud storage buckets notifications create gs://INPUT_BUCKET_NAME --topic=myRunTopic --payload-format=json
myRunTopic
est le sujet que vous avez créé dans le tutoriel précédent.
Remplacez INPUT_BUCKET_NAME par le nom que vous avez utilisé lors de la création des buckets.
Pour plus d'informations sur les notifications concernant les buckets de stockage, consultez la section Notifications de modification des objets.
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Pour activer les notifications, le compte de service Cloud Storage propre au projet doit exister et disposer de l'autorisation IAM pubsub.publisher
sur le sujet Pub/Sub. Pour accorder cette autorisation et créer une notification Cloud Storage, ajoutez les éléments suivants à votre fichier main.tf
existant :
Essayer
Importez une image choquante, telle que cette image d'un zombie mangeur de chair :
curl -o zombie.jpg https://cdn.pixabay.com/photo/2015/09/21/14/24/zombie-949916_960_720.jpg gcloud storage cp zombie.jpg gs://INPUT_BUCKET_NAME
où INPUT_BUCKET_NAME est le bucket Cloud Storage que vous avez créé précédemment pour importer des images.
Accédez aux journaux du service :
- Accédez à la page Cloud Run de Google Cloud Console.
- Cliquez sur le service
pubsub-tutorial
. - Sélectionnez l'onglet Journaux. L'affichage des journaux peut nécessiter quelques instants. S'ils n'apparaissent pas immédiatement, patientez et vérifiez de nouveau.
Recherchez le message
Blurred image: zombie.png
.Vous pouvez afficher les images floutées dans le bucket Cloud Storage BLURRED_BUCKET_NAME que vous avez créé précédemment : recherchez-le sur la page Cloud Storage de Google Cloud Console.
Nettoyer
Si vous avez créé un projet pour ce tutoriel, supprimez-le. Si vous avez utilisé un projet existant et que vous souhaitez le conserver sans les modifications du présent tutoriel, supprimez les ressources créées pour ce tutoriel.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Supprimer les ressources du tutoriel
Supprimez le service Cloud Run que vous avez déployé dans ce tutoriel :
gcloud run services delete SERVICE-NAME
Où SERVICE-NAME est le nom de service que vous avez choisi.
Vous pouvez également supprimer des services Cloud Run à partir de Google Cloud Console.
Supprimez la configuration régionale gcloud par défaut que vous avez ajoutée lors de la configuration du tutoriel :
gcloud config unset run/region
Supprimez la configuration du projet :
gcloud config unset project
Supprimez les autres ressources Google Cloud créées dans ce tutoriel :
- Supprimez le sujet Pub/Sub
myRunTopic
. - Supprimez l'abonnement Pub/Sub
myRunSubscription
. - Supprimez votre image de conteneur d'Artifact Registry.
- Supprimez le compte de service demandeur
cloud-run-pubsub-invoker@PROJECT_ID.iam.gserviceaccount.com
. - Supprimez les buckets Cloud Storage créés pour les espaces réservés
INPUT_BUCKET_NAME
etBLURRED_BUCKET_NAME
.
- Supprimez le sujet Pub/Sub
Étapes suivantes
- Apprenez-en plus sur la persistance des données avec Cloud Run à l'aide de Cloud Storage.
- Découvrez comment utiliser l'API Cloud Vision pour détecter des éléments autres que du contenu explicite.
- Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Centre d'architecture cloud.