Vous pouvez activer ou désactiver la collecte et la publication d'événements provenant de sources Google pour un bus Eventarc Advanced spécifique.
Les événements provenant de sources Google sont déclenchés directement par un événement non médiatisé, tel que la création d'une fonction Cloud Run ou un changement d'état d'un job Dataflow. Pour en savoir plus, consultez Types d'événements Google compatibles avec Eventarc.
Veuillez noter les points suivants :
- Le nombre de ressources
GoogleApiSource
par projet est limité à une. Google Cloud - Vous ne pouvez publier des événements provenant de sources Google que dans le même projet Google Cloud que la ressource
GoogleApiSource
. - Vous pouvez publier des événements dans un bus qui se trouve dans un autre projet Google Cloud que celui dans lequel la ressource
GoogleApiSource
existe. Vous pouvez configurer cette option à l'aide de la gcloud CLI ou en envoyant une requête à l'API Eventarc.
Avant de commencer
Si vous ne l'avez pas déjà fait, activez l'API Eventarc et l'API Eventarc Publishing.
Console
gcloud
gcloud services enable eventarc.googleapis.com eventarcpublishing.googleapis.com
Activer les événements provenant de sources Google
Pour publier des événements à partir de sources Google, vous devez créer une ressource GoogleApiSource
. Cette ressource représente un abonnement aux événements d'API Google dans un projet Google Cloud spécifique pour un bus Eventarc Advanced particulier.
Vous pouvez activer la publication d'événements provenant de sources Google de différentes manières :
- Dans la console Google Cloud
- En utilisant la Google Cloud CLI dans votre terminal ou Cloud Shell
en envoyant une requête à l'API Eventarc ;
Console
Dans la console Google Cloud , accédez à la page Eventarc > Bus.
Vous pouvez créer un bus ou, si vous mettez à jour un bus, cliquez sur Modifier.
Sur la page Modifier le bus, pour ajouter une source de message, cliquez sur
Ajouter une source.- Dans le volet Ajouter une source de message, pour le fournisseur de messages de l'API Google, acceptez la valeur par défaut
google-api-source
ou saisissez un autre nom de source de message. - Cliquez sur Créer.
- Dans le volet Ajouter une source de message, pour le fournisseur de messages de l'API Google, acceptez la valeur par défaut
Cliquez sur Enregistrer.
gcloud
Ouvrez un terminal.
Vous pouvez activer les événements provenant de sources Google à l'aide de la commande
gcloud beta eventarc google-api-sources create
:gcloud beta eventarc google-api-source create GOOGLE_API_SOURCE_NAME \ --destination-message-bus=BUS_NAME \ --destination-message-bus-project=BUS_PROJECT_ID
Remplacez les éléments suivants :
GOOGLE_API_SOURCE_NAME
: ID ou identifiant complet de votre ressourceGoogleApiSource
qui représente un abonnement aux événements de l'API Google pour un bus spécifiqueBUS_NAME
: ID ou identifiant complet du bus auquel vous souhaitez vous abonner pour recevoir les événements de l'API GoogleBUS_PROJECT_ID
: ID du projet Google Cloud pour le bus
Facultatif : Vous pouvez également utiliser les options suivantes :
--async
pour quitter immédiatement la commande, sans attendre la fin de l'opération en cours.--crypto-key
pour spécifier le nom complet d'une clé de chiffrement gérée par le client ; si aucune clé n'est spécifiée, Google-owned and managed keys est utilisé.--logging-config
pour configurer le niveau de journalisation, qui doit être l'un des suivants :NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
. Pour en savoir plus, consultezLogSeverity
.
API REST
Pour activer les événements provenant de sources Google, utilisez la méthode projects.locations.googleApiSources.create
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
GOOGLE_API_SOURCE_NAME
: nom à afficher de la ressourceGoogleApiSource
qui représente un abonnement aux événements de l'API Google pour un bus spécifique (par exemple,my_google_source
).LABEL_KEY
etLABEL_VALUE
: facultatifs. Il s'agit d'un mappage des paires clé/valeur de libellés qui vous aident à organiser vos ressources Google Cloud . Pour en savoir plus, consultez Que sont les libellés ?.ANNOTATION_KEY
etANNOTATION_VALUE
: facultatifs. Carte des paires clé/valeur d'annotations de texte libre. Vous pouvez les utiliser pour joindre des informations arbitraires associées à la ressource. Pour en savoir plus, consultez Annotations.DESTINATION
: identifiant complet du bus Eventarc Advanced auquel les événements sources Google doivent être publiés au formatprojects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME
. Pour en savoir plus, consultez Créer un bus pour acheminer les messages.ENCRYPT_KEY
: Facultatif. Clé Cloud KMS que la ressourceGoogleApiSource
doit utiliser pour le chiffrement des données au formatprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Pour en savoir plus, consultez Utiliser des clés de chiffrement gérées par le client.PROJECT_ID
: ID du projet dans lequel créer la ressourceGoogleApiSource
. Google CloudLOCATION
: région compatible dans laquelle créer la ressourceGoogleApiSource
(par exemple,us-central1
).LOG_SEVERITY
: Facultatif. Gravité minimale de l'événement décrit dans une entrée de journal. Au choix :NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
ouEMERGENCY
. La valeur par défaut estNONE
. Pour en savoir plus, consultezLogSeverity
.
Corps JSON de la requête :
{ "displayName": "GOOGLE_API_SOURCE_NAME", "labels": {"LABEL_KEY":"LABEL_VALUE"}, "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"}, "destination": "DESTINATION", "cryptoKeyName": "ENCRYPT_KEY", "loggingConfig": {"logSeverity":"LOG_SEVERITY"} }
Pour envoyer votre requête, développez l'une des options suivantes :
Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Operation
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID/locations/LOCATION/googleApiSources/GOOGLE_API_SOURCE_NAME", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Les événements provenant de sources Google dans le même projet Google Cloud que la ressourceGoogleApiSource
sont désormais collectés et publiés dans le bus.
Désactiver les événements provenant de sources Google
Pour désactiver la publication d'événements provenant de sources Google dans un projetGoogle Cloud spécifique sur un bus Eventarc Advanced, vous devez supprimer la ressource GoogleApiSource
.
Vous pouvez désactiver la publication d'événements provenant de sources Google de différentes manières :
- Dans la console Google Cloud
- À l'aide de gcloud CLI dans votre terminal ou Cloud Shell
en envoyant une requête à l'API Eventarc ;
Console
Dans la console Google Cloud , accédez à la page Eventarc > Détails du bus.
Cliquez sur
Modifier.Sur la page Modifier le bus, pour supprimer le fournisseur de messages de l'API Google, cliquez sur
Supprimer la ressource pour la source de messages google-api-source (ou le nom que vous lui avez donné).Dans l'invite Supprimer la ressource, cliquez sur Confirmer.
Cliquez sur Enregistrer.
gcloud
Ouvrez un terminal.
Vous pouvez désactiver les événements provenant de sources Google à l'aide de la commande
gcloud beta eventarc google-api-sources delete
:gcloud beta eventarc google-api-source delete GOOGLE_API_SOURCE_NAME \ --location=REGION
Remplacez les éléments suivants :
GOOGLE_API_SOURCE_NAME
: ID ou identifiant complet de la ressourceGoogleApiSource
REGION
: emplacement de la ressourceGoogleApiSource
API REST
Pour désactiver les événements provenant de sources Google, utilisez la méthode projects.locations.googleApiSources.delete
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: ID du projet Google Cloud dans lequel la ressourceGoogleApiSource
est créée.LOCATION
: région dans laquelle la ressourceGoogleApiSource
est créée, par exempleus-central1
.GOOGLE_API_SOURCE_NAME
: nom de la ressourceGoogleApiSource
que vous souhaitez supprimer.
Pour envoyer votre requête, développez l'une des options suivantes :
Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Operation
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID/locations/LOCATION/googleApiSources/GOOGLE_API_SOURCE_NAME", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Les événements provenant de sources Google dans le même projet Google Cloud que la ressource GoogleApiSource
supprimée ne sont plus collectés ni publiés.
Étapes suivantes
- Publier des événements directement
- Mettre en forme les événements reçus
- Transformer les événements reçus