Publier des événements à partir de sources Google

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'une tâche Dataflow. Pour en savoir plus, consultez la section Types d'événements Google compatibles avec Eventarc.

Veuillez noter les points suivants :

  • Une limite d'une seule ressource GoogleApiSource par projet Google Cloud s'applique.
  • Vous ne pouvez publier des événements à partir de sources Google que dans le même projet Google Cloud que la ressource GoogleApiSource.
  • Vous pouvez publier des événements sur un bus qui se trouve dans un projet Google Cloud différent de celui dans lequel se trouve la ressource GoogleApiSource. Vous pouvez le configurer à l'aide de la CLI gcloud ou en envoyant une requête à l'API Eventarc.

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 de l'API Google dans un projet Google Cloud spécifique pour un bus Eventarc Advanced spécifique.

Vous pouvez activer la publication d'événements provenant de sources Google de différentes manières:

  • Google Cloud Console
  • à l'aide de la Google Cloud CLI dans votre terminal ou Cloud Shell ;
  • En envoyant une requête à l'API Eventarc

Console

  1. Dans la console Google Cloud, accédez à la page Eventarc > Bus.

    Accéder à "Bus"

  2. Vous pouvez créer un bus ou, si vous en modifiez un, cliquez sur Modifier.

  3. Sur la page Modifier le bus, pour ajouter une source de messages, cliquez sur  > Ajouter une source.

    1. Dans le volet Ajouter une source de messages, 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 messages.
    2. Cliquez sur Créer.
  4. Cliquez sur Enregistrer.

gcloud

  1. Ouvrez un terminal.

  2. 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 ressource GoogleApiSource, qui représente un abonnement aux événements de l'API Google pour un bus particulier
    • BUS_NAME: ID ou identifiant complet du bus pour lequel vous souhaitez vous abonner aux événements de l'API Google
    • BUS_PROJECT_ID: Google Cloud ID du projet 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 elle n'est pas spécifiée, Google-owned and managed keys est utilisé.
    • --logging-config pour configurer le niveau de journalisation, qui doit correspondre à l'un des éléments suivants: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Pour en savoir plus, consultez LogSeverity.

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 ressource GoogleApiSource, qui représente un abonnement aux événements de l'API Google pour un bus particulier (par exemple, my_google_source).
  • LABEL_KEY et LABEL_VALUE: facultatifs. Mappage des paires clé-valeur des libellés qui vous aident à organiser vos Google Cloud ressources. Pour en savoir plus, consultez la section Que sont les libellés ?
  • ANNOTATION_KEY et ANNOTATION_VALUE: facultatifs. Mappage des paires clé-valeur d'annotations de texte libre. Vous pouvez les utiliser pour associer des informations arbitraires à la ressource. Pour en savoir plus, consultez la section Annotations.
  • DESTINATION: identifiant complet du bus Eventarc Advanced auquel les événements sources Google doivent être publiés au format projects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME. Pour en savoir plus, consultez la section Créer un bus pour acheminer les messages.
  • ENCRYPT_KEY : Facultatif. Clé Cloud KMS que la ressource GoogleApiSource doit utiliser pour le chiffrement des données au format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Pour en savoir plus, consultez la page Utiliser des clés de chiffrement gérées par le client.
  • PROJECT_ID: ID du projet Google Clouddans lequel créer la ressource GoogleApiSource.
  • LOCATION: région compatible dans laquelle créer la ressource GoogleApiSource (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 ou EMERGENCY. La valeur par défaut est NONE. Pour en savoir plus, consultez LogSeverity.

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 ressource GoogleApiSource sont désormais collectés et publiés sur le bus.

Désactiver les événements provenant de sources Google

Pour désactiver la publication d'événements à partir de sources Google dans un projet Google Cloud spécifique vers 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:

  • Google Cloud Console
  • À l'aide de la CLI gcloud dans votre terminal ou Cloud Shell
  • En envoyant une requête à l'API Eventarc

Console

  1. Dans la console Google Cloud, accédez à la page Eventarc > Détails du bus.

    Accéder aux détails du bus

  2. Cliquez sur Modifier.

  3. 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 attribué).

  4. Dans l'invite Supprimer la ressource, cliquez sur Confirmer.

  5. Cliquez sur Enregistrer.

gcloud

  1. Ouvrez un terminal.

  2. 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 ressource GoogleApiSource
    • REGION: emplacement de la ressource GoogleApiSource

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 Google Cloud projet dans lequel la ressource GoogleApiSource est créée.
  • LOCATION: région dans laquelle la ressource GoogleApiSource est créée (par exemple, us-central1).
  • GOOGLE_API_SOURCE_NAME : nom de la ressource GoogleApiSource 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.

Étape suivante