Créer un bus pour acheminer les messages

Un bus Eventarc Advanced vous permet de centraliser, de surveiller et de suivre le flux de messages dans votre système, et fait office de routeur. Il reçoit des événements d'une source de messages ou publiés par un fournisseur, et les évalue en fonction d'un enregistrement. Un enregistrement identifie un abonnement à un bus spécifique et définit les critères de correspondance pour les messages, ce qui les fait acheminer en conséquence. Pour en savoir plus, consultez Créer un enregistrement pour recevoir des événements.

Un bus peut être utilisé par des fournisseurs d'événements et des destinations dans votre projet ou dans d'autres projets. Pour en savoir plus, consultez la section Dispositions des projets.

Rôles requis

Un rôle Identity and Access Management (IAM) contient un ensemble d'autorisations qui vous permet d' effectuer des actions spécifiques sur les Google Cloud ressources. Les rôles et autorisations suivants sont requis lors de la création d'un bus pour acheminer des messages :

  • Pour obtenir l'autorisation nécessaire pour créer un bus, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Eventarc (roles/eventarc.admin) ou Administrateur de bus de messages Eventarc (roles/eventarc.messageBusAdmin) sur votre projet de bus. Ces rôles prédéfinis contiennent l'autorisation eventarc.messageBuses.create, qui est requise pour créer un bus.
  • Pour obtenir l'autorisation nécessaire pour utiliser un bus, demandez à votre administrateur de vous accorder le rôle IAM Utilisateur de bus de messages Eventarc (roles/eventarc.messageBusUser) sur votre projet de bus. Ce rôle prédéfini contient l'autorisation eventarc.buses.use, qui est requise pour utiliser un bus.
  • Des autorisations supplémentaires sont requises pour créer un pipeline et un enregistrement. Pour en savoir plus, consultez les rôles requis lors de la création d'un enregistrement.

Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès. Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer un bus

Vous pouvez créer un bus comme suit :

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

Console

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

    Accéder à Bus

  2. Cliquez sur Créer un bus.

  3. Sur la page Créer un bus, procédez comme suit :

    1. Saisissez un nom de bus. Il s'agit de l'ID de votre bus.
    2. Facultatif : Saisissez un nom à afficher du bus qui s'affiche sur la page Détails du bus.
    3. Dans la liste Région, sélectionnez une région compatible dans laquelle déployer votre bus.
    4. Dans la liste Gravité des journaux, sélectionnez la gravité minimale des événements décrits dans les entrées de journal. La valeur par défaut est Aucun. Pour en savoir plus, consultez LogSeverity.
    5. Pour Chiffrement, acceptez la valeur par défaut Google-managed encryption key ou sélectionnez Clé Cloud KMS. Pour en savoir plus, consultez la section Utiliser des clés de chiffrement gérées par le client (CMEK).
    6. Si vous sélectionnez Clé Cloud KMS, procédez comme suit :

      1. Dans la liste Type de clé, sélectionnez une méthode de gestion de vos clés.

        Vous pouvez gérer vos clés manuellement ou utiliser Autokey, qui vous permet de générer des trousseaux de clés et des clés à la demande. Si l'option Cloud KMS avec Autokey est désactivée, cela indique qu'elle n'est pas encore intégrée au type de ressource actuel.

      2. Dans Sélectionner une clé Cloud KMS, sélectionnez une clé.

        Notez que vous devez sélectionner une région pour pouvoir afficher vos clés gérées par le client.

      3. Facultatif : Pour saisir manuellement le nom de ressource de la clé, dans la liste Sélectionner une clé gérée par le client, cliquez sur Saisir la clé manuellement, puis saisissez le nom de la clé au format spécifié.

      4. Si vous y êtes invité, attribuez le cloudkms.cryptoKeyEncrypterDecrypter rôle à l' agent de service Eventarc.

    7. Facultatif : 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.
      2. Cliquez sur Créer.

        Cela permet la collecte automatique des événements provenant directement de sources Google.

        Notez que seuls les événements provenant de ressources du même Google Cloud projet que le bus sont publiés. Pour en savoir plus, consultez la section Publier des événements provenant de sources Google.

    8. Facultatif : Pour ajouter des libellés, cliquez sur Ajouter un libellé. Les libellés sont des paires clé/valeur qui vous aident à organiser vos Google Cloud ressources. Pour en savoir plus, consultez Qu'est-ce qu'un libellé ?

  4. Cliquez sur Créer.

gcloud

  1. Ouvrez un terminal.

  2. Créez un bus à l'aide de la gcloud eventarc message-buses create commande.

    gcloud eventarc message-buses create BUS_NAME \
        --location=REGION
    

    Remplacez les éléments suivants :

    • BUS_NAME: ID ou identifiant complet du bus
    • REGION : emplacement compatible pour le bus

      Vous pouvez également définir la propriété d'emplacement de Google Cloud CLI :

      gcloud config set eventarc/location REGION
      

    Facultatif : Vous pouvez également utiliser les options suivantes :

    • --async pour renvoyer immédiatement une réponse à 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 valeur n'est spécifiée, Google-owned and managed keys les valeurs par défaut sont utilisées.
    • --logging-config pour configurer la gravité minimale des événements décrits dans les entrées de journal. Doit être l'une des valeurs suivantes : NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. La valeur par défaut est NONE. Pour en savoir plus, consultez LogSeverity.

API REST

Pour créer un bus, utilisez la projects.locations.messageBuses.create méthode.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • BUS_NAME : nom à afficher de votre bus, par exemple my_bus.
  • LABEL_KEY et LABEL_VALUE: facultatif. Carte de correspondance de paires clé/valeur de libellé qui vous aide à organiser vos Google Cloud ressources. Pour en savoir plus, consultez Qu'est-ce qu'un libellé ?
  • ANNOTATION_KEY et ANNOTATION_VALUE : facultatif. Carte de correspondance de paires clé/valeur d'annotation de texte libre. Vous pouvez les utiliser pour associer des informations arbitraires à la ressource. Pour en savoir plus, consultez la section Annotations.
  • ENCRYPT_KEY : facultatif. Clé Cloud KMS que le bus 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 section Utiliser des clés de chiffrement gérées par le client.
  • PROJECT_ID : ID de votre Google Cloud projet.
  • LOCATION : région dans laquelle créer le bus, par exemple us-central1.
  • LOG_SEVERITY : facultatif. Gravité minimale de l'événement décrit dans une entrée de journal. L'une des valeurs suivantes : NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. La valeur par défaut est NONE. Pour en savoir plus, consultez LogSeverity.

Corps JSON de la requête :

{
  "display_name": "BUS_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "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/messageBuses/BUS_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Supprimer un bus

Vous pouvez supprimer un bus comme suit :

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

Console

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

    Accéder à Bus

    La page Détails du bus s'ouvre.

  2. Cliquez sur Supprimer.

  3. Lorsque vous êtes invité à supprimer le bus, pour confirmer que les sources de messages configurées pour l'utiliser ne pourront plus le faire, cochez la case Voulez-vous continuer ?.

  4. Pour confirmer la suppression, saisissez Delete.

  5. Cliquez sur Supprimer.

gcloud

  1. Ouvrez un terminal.

  2. Supprimez un bus à l'aide de la gcloud eventarc message-buses delete commande.

    gcloud eventarc message-buses delete BUS_NAME \
        --location=REGION
    

    Remplacez les éléments suivants :

API REST

Pour supprimer un bus, utilisez la projects.locations.messageBuses.delete méthode.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

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/messageBuses/BUS_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Étape suivante