Introduction à Events

Découvrez comment créer une automatisation avec le service Events.

Vous pouvez créer une règle simple qui envoie une notification chaque fois qu'une personne crée un bucket dans un compartiment particulier de votre location.

Configuration pour Events

Pour tester le service Events dans ce tutoriel, vous devez d'abord configurer les éléments suivants :

Important

Un administrateur de la location doit configurer cette dernière pour Events. Ces configurations vous permettent d'accéder à une location Oracle Cloud Infrastructure avec la stratégie IAM nécessaire et une ressource à utiliser comme action.

Création d'utilisateurs, de groupes et de compartiments

Vous pouvez reprendre des utilisateurs, groupes et compartiments existants ou en créer.

Procédure de création de groupes et d'utilisateurs

Si les utilisateurs et les groupes appropriés pour l'affectation de droits d'accès à l'utilisation de règles n'existent pas encore, connectez-vous à la console en tant qu'administrateur de location et créez-les.

  1. Connectez-vous à la console en tant qu'administrateur de location.
  2. Si vous avez besoin d'un groupe pour Events, procédez comme suit :
    1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines. La liste des groupes de votre location est affichée.
    2. Cliquez sur Créer un groupe et créez un groupe (reportez-vous à Création d'un groupe). Attribuez à ce groupe un nom et une description explicites. Evitez de saisir des informations confidentielles.
  3. Si vous avez besoin de comptes utilisateur pour Events, procédez comme suit :
    1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Utilisateurs. La liste des utilisateurs de votre location est affichée.
    2. Cliquez sur Créer un utilisateur et créez des utilisateurs (reportez-vous à Création d'un utilisateur).
  4. Si les utilisateurs n'ont pas encore été ajoutés à des groupes, procédez comme suit :
    1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines. La liste des groupes de votre location est affichée.
    2. Cliquez sur le groupe que vous voulez utiliser pour Events.
    3. Cliquez sur Ajouter un utilisateur à un groupe.
    4. Sélectionnez les utilisateurs dans la liste déroulante, puis cliquez sur Ajouter.

Procédure de création d'un compartiment

Si le compartiment approprié pour les règles et les ressources émettant des événements n'existe pas encore, connectez-vous à la console en tant qu'administrateur de location et créez-le.

  1. Connectez-vous à la console en tant qu'administrateur de location.
  2. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Compartiments. La liste des compartiments de votre location est affichée.
  3. Cliquez sur Créer un compartiment et créez un compartiment (reportez-vous à Création d'un compartiment). Attribuez à ce compartiment un nom et une description explicites. Evitez de saisir des informations confidentielles.

Création d'une stratégie IAM pour Events

Pour que les utilisateurs puissent commencer à créer des automatisations sur Events, en tant qu'administrateur de location, vous devez créer une stratégie IAM :

Procédure de création d'une stratégie permettant aux utilisateurs de créer et de gérer des règles

  1. Connectez-vous à la console en tant qu'administrateur de location.
  2. Dans la console, ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Stratégies. La liste des stratégies du compartiment en cours de visualisation apparaît.
  3. Sélectionnez le compartiment racine.
  4. Cliquez sur Créer une stratégie.
  5. Fournissez les informations suivantes :
    • Nom : nom explicite de la stratégie. Le nom doit être unique parmi toutes les stratégies de votre location. Vous ne pouvez pas le modifier ultérieurement. Evitez de saisir des informations confidentielles.
    • Description : description explicite. Vous pourrez la modifier ultérieurement si vous le souhaitez.
    • Instruction : entrez les instructions de stratégie suivantes pour permettre aux utilisateurs du groupe de gérer et de créer des règles :

      Cette ligne accorde à l'utilisateur un accès en inspection aux ressources dans les compartiments pour effectuer des actions données.

      allow group <RuleAdmins> to inspect compartments in tenancy

      Cette ligne permet à l'utilisateur d'accéder aux balises définies pour appliquer des balises de filtre aux règles.

      allow group <RuleAdmins> to use tag-namespaces in tenancy

      Ces lignes accordent à l'utilisateur l'accès aux ressources Streaming pour certaines actions.

      allow group <RuleAdmins> to inspect streams in tenancy
      allow group <RuleAdmins> to use stream-push in tenancy
      allow group <RuleAdmins> to use stream-pull in tenancy

      Ces lignes accordent à l'utilisateur l'accès aux ressources Functions pour certaines actions.

      allow group <RuleAdmins> to use virtual-network-family in tenancy
      allow group <RuleAdmins> to manage function-family in tenancy

      Cette ligne accorde à l'utilisateur l'accès aux sujets Notifications pour certaines actions.

      allow group <RuleAdmins> to use ons-topic in tenancy

      Cette ligne permet à l'utilisateur de gérer l'accès aux règles pour Events.

      allow group <RuleAdmins> to manage cloudevents-rules in tenancy
  6. Cliquez sur Créer.

Création d'un sujet et d'un abonnement Notifications

Si un sujet Notifications approprié n'existe pas encore, vous devez vous connecter à la console en tant qu'administrateur de location et le créer. Que vous utilisiez un sujet existant ou que vous en créiez un, ajoutez une adresse électronique en tant qu'abonnement afin de pouvoir surveiller ce compte de messagerie pour les notifications.

Procédure de création d'un sujet

  1. Ouvrez le menu de navigation et sélectionnez Services de développeur. Sous Intégration d'application, sélectionnez Notifications.
  2. Cliquez sur Créer une rubrique en haut de la liste des rubriques.
  3. Dans le panneau Créer un sujet, configurez le sujet.
    • Nom : requis. Indiquez un nom convivial pour la rubrique. Il doit être unique. La validation fait la distinction entre les majuscules et les minuscules. Evitez de saisir des informations confidentielles.
    • Description : facultative. Saisissez une description du sujet.
  4. Cliquez sur Créer.

Procédure de création d'un abonnement

  1. Ouvrez le menu de navigation et sélectionnez Services de développeur. Sous Intégration d'application, sélectionnez Notifications.
  2. Cliquez sur le nom du sujet que vous avez créé à l'étape précédente ou de celui que vous voulez utiliser dans ce tutoriel.
  3. Sur la page des détails de la rubrique, cliquez sur Créer un abonnement.
  4. Dans le panneau Créer un abonnement, sélectionnez Courriel, puis saisissez une adresse électronique.
  5. Cliquez sur Créer.

    L'abonnement a été créé et une URL de confirmation d'abonnement sera envoyée. L'abonnement conserve le statut En attente jusqu'à ce qu'il soit confirmé.

Procédure de confirmation d'un abonnement

  • Dans le courriel de confirmation envoyé à l'adresse que vous avez spécifiée dans la procédure précédente, cliquez sur l'URL de confirmation.  

Utilisation de la console pour créer une règle

Utilisez la console pour créer une règle avec un modèle qui met en correspondance les événements de création de bucket émis par Object Storage. Indiquez le sujet Notifications que vous avez créé en tant qu'action de transmission des événements correspondants. Pour tester votre règle, créez un bucket. Object Storage émet un événement qui déclenche l'action. Consultez le courriel indiqué dans l'abonnement pour recevoir la notification.

Création d'une règle

  1. Ouvrez le menu de navigation et sélectionnez Observation et gestion. Sous Service d'événements, sélectionnez Règles.
  2. Choisissez un compartiment sur lequel vous disposez de droits d'accès, puis cliquez sur Créer une règle.

    Events compare les règles que vous créez dans ce compartiment aux messages d'événement émis à partir des ressources de ce compartiment et de tous les compartiments enfant.

  3. Fournissez les informations suivantes.
    • Nom d'affichage : indiquez un nom convivial pour la règle. Vous pouvez modifier ce nom ultérieurement. Evitez de saisir des informations confidentielles.
    • Description : indiquez la description du fonctionnement de la règle. Vous pouvez modifier cette description ultérieurement.
  4. Dans Condition, sélectionnez Type d'événement.
    1. Dans Nom de service, sélectionnez Object Storage.
    2. Dans Type d'événement, sélectionnez Bucket - Créer.
  5. Dans Actions, indiquez les actions à déclencher lorsque le filtre trouve une correspondance :
    1. Dans Type d'action, sélectionnez Notifications.
    2. Dans Compartiment de notifications, sélectionnez le compartiment contenant le sujet.
    3. Dans Sujet, sélectionnez le sujet.
  6. Cliquez sur Créer une règle.
Procédure de création d'un bucket
  1. Ouvrez le menu de navigation et sélectionnez Stockage. Sous Object Storage et Archive Storage, sélectionnez Buckets.
  2. Sélectionnez le compartiment dans lequel vous avez créé la règle (ou l'un de ses compartiments subordonnés).
  3. Cliquez sur Créer un bucket.
  4. Dans la boîte de dialogue Créer un bucket, indiquez les attributs du bucket :
    • Nom : requis. Description ou nom convivial. Evitez de saisir des informations confidentielles.
    • Niveau de stockage : sélectionnez le niveau auquel stocker les données. Les niveaux disponibles sont les suivants :

      • Standard : il s'agit du niveau Object Storage principal par défaut permettant de stocker les données fréquemment utilisées et qui exigent un accès rapide et immédiat.
      • Archive : niveau spécial destiné au stockage de données rarement consultées et qui nécessitent de longues périodes de conservation. L'accès aux données du niveau Archive n'est pas immédiat. Vous devez restaurer les données archivées pour qu'elles soient accessibles. Pour plus d'informations, reportez-vous à Présentation d'Archive Storage.
  5. Cliquez sur Créer.

Extraction de votre notification

  • Connectez-vous au compte de messagerie indiqué dans la procédure précédente pour consulter la notification sur le bucket en cours de création.

    Cette capture d'écran illustre une notification.

    Conseil

    Vous recevrez une notification chaque fois qu'un bucket est créé dans le compartiment (ou dans l'un de ses sous-compartiments) jusqu'à ce que vous désactiviez la règle.

Utilisation de l'interface de ligne de commande pour créer une règle

Lorsque vous créez une règle à l'aide de l'interface de ligne de commande, le fonctionnement est légèrement différent de celui de la console.

  • Pour indiquer les actions de la règle, utilisez un fichier au format JSON. Vous créez ce fichier avant de créer la règle, et le fichier allège la quantité d'informations à saisir sur la ligne de commande.
  • Pour indiquer un événement à mettre en correspondance, utilisez une chaîne au format JSON. Saisissez-la directement dans la console lors de la création de la règle.

Créer un fichier d'actions

  1. Créez un fichier et ajoutez le contenu suivant.
    {
      "actions": [
          {
            "actionType": "ONS",
            "description": "string",
            "isEnabled": true,
            "topicId": "<topic_OCID>"
          }
      ]
    }

    Conseil : vous pouvez spécifier des fonctions, des flux de données ou des sujets en tant qu'actions.

    Exemple de modèle de fichier d'actions
    {
      "actions": [
          {
            "actionType": "FAAS",
            "description": "string",
            "functionId": "<function_OCID>",
            "isEnabled": true
          },
          {
            "actionType": "ONS",
            "description": "string",
            "isEnabled": true,
            "topicId": "<topic_OCID>"
          },
          {
            "actionType": "OSS",
            "description": "string",
            "isEnabled": true,
            "streamId": "<stream_OCID>"
          }
      ]
    }
  2. Remplacez <topic_OCID> par une valeur d'OCID de sujet réelle issue de votre location.
  3. Ajoutez une description.
  4. Enregistrez le fichier sous le nom action.json.

Création d'une règle

Ouvrez une invite de commande et exécutez oci events rule create pour créer une règle.

Utilisez les options suivantes :

  • display-name indique le nom de la règle dans la console.
  • is-enabled indique si la règle est évaluée.
  • condition est une chaîne au format JSON utilisée pour indiquer un modèle de mise en correspondance des événements (reportez-vous à l'exemple de commande ci-dessous pour la syntaxe).

  • compartment-id indique le compartiment auquel la règle s'applique. Events évalue les messages issus des ressources de ce compartiment et de tous les compartiments enfant.
  • actions indique l'emplacement dans le système de fichiers local du fichier au format JSON que vous avez créé pour indiquer les actions d'une règle.
  • L'option wait-for-state=, si elle est utilisée avec ACTIVE, indique que l'interface de ligne de commande doit attendre que le service crée la règle, effectuer une autre opération GET, puis afficher la règle à l'état actif. Sans cette option, l'interface de ligne de commande affiche la règle immédiatement à l'état de création.

Par exemple :

oci events rule create --display-name CLI-created_rule --is-enabled true --condition "{\"eventType\":[\"com.oraclecloud.objectstorage.createbucket\"]}" --compartment-id <compartment_OCID> --actions <path_to_json_formatted_actions_file> --wait-for-state=ACTIVE
Remarque

Remplacez les valeurs dans <compartment_OCID> et <path_to_json_formatted_actions_file> par les valeurs réelles de votre location et du système de fichiers local.

Lorsque vous exécutez la commande précédente, l'interface de ligne de commande vous invite à configurer la règle et son affichage :

 Action completed. Waiting until the resource has entered state: ACTIVE
{
  "data": {
    "actions": {
      "actions": [
        {
          "action-type": "ONS",
          "description": "Notifications action",
          "id": "ocid1.eventaction.oc1.phx.<unique_ID>",
          "lifecycle-message": null,
          "lifecycle-state": "ACTIVE",
          "topic-id": "ocid1.onstopic.oc1.phx.<unique_ID>"
        }
      ]
    },
    "compartment-id": "ocid1.compartment.oc1..<unique_ID>",
    "condition": "{\"eventType\":[\"com.oraclecloud.objectstorage.createbucket\"]}",
    "defined-tags": {},
    "description": null,
    "display-name": "CLI-created_rule",
    "freeform-tags": {},
    "id": "ocid1.eventrule.oc1.phx.<unique_ID>",
    "is-enabled": true,
    "lifecycle-message": null,
    "lifecycle-state": "ACTIVE",
    "time-created": "2019-04-25T01:32:56.855000+00:00"
  },
  "etag": "<unique_ID>--gzip"
}
Procédure de création d'un bucket
  1. Ouvrez le menu de navigation et sélectionnez Stockage. Sous Object Storage et Archive Storage, sélectionnez Buckets.
  2. Sélectionnez le compartiment dans lequel vous avez créé la règle (ou l'un de ses compartiments subordonnés).
  3. Cliquez sur Créer un bucket.
  4. Dans la boîte de dialogue Créer un bucket, indiquez les attributs du bucket :
    • Nom : requis. Description ou nom convivial. Evitez de saisir des informations confidentielles.
    • Niveau de stockage : sélectionnez le niveau auquel stocker les données. Les niveaux disponibles sont les suivants :

      • Standard : il s'agit du niveau Object Storage principal par défaut permettant de stocker les données fréquemment utilisées et qui exigent un accès rapide et immédiat.
      • Archive : niveau spécial destiné au stockage de données rarement consultées et qui nécessitent de longues périodes de conservation. L'accès aux données du niveau Archive n'est pas immédiat. Vous devez restaurer les données archivées pour qu'elles soient accessibles. Pour plus d'informations, reportez-vous à Présentation d'Archive Storage.
  5. Cliquez sur Créer.

Recevoir votre notification

  • Connectez-vous au compte de messagerie indiqué dans la procédure précédente pour consulter la notification sur le bucket en cours de création.

    Conseil

    Vous recevrez une notification chaque fois qu'un bucket est créé dans le compartiment (ou dans l'un de ses sous-compartiments) jusqu'à ce que vous désactiviez la règle.