Introducción a Events

Obtén más información sobre cómo crear automatización con el servicio Events.

Puede crear una regla simple que envíe una notificación cada vez que alguien cree un cubo en un compartimento concreto de su arrendamiento.

Configuración de Events

Para probar el servicio Events para este tutorial, primero debe tener estos elementos configurados:

Importante

Un administrador del arrendamiento debe configurar el arrendamiento para Events. Estas configuraciones proporcionan acceso a un arrendamiento de Oracle Cloud Infrastructure con la política de IAM necesaria y un recurso para utilizarlo como acción.

Creación de usuarios, grupos y compartimentos

Puede utilizar usuarios, grupos y compartimentos existentes o crear unos nuevos.

Para crear grupos y usuarios

Si no existen aún usuarios y grupos adecuados para asignar permisos para que los usuarios puedan trabajar con reglas, conéctese a la Consola como administrador del arrendamiento y créelos.

  1. Conéctese a la Consola como administrador del arrendamiento.
  2. Si necesita un grupo para Events, realice estos pasos:
    1. Abra el menú de navegación y haga clic en Identidad y seguridad. En Identidad, haga clic en Dominios. Se muestra una lista de los grupos del arrendamiento.
    2. Haga clic en Crear grupo para crear uno nuevo (consulte Creación de un grupo). Asigne un nombre y una descripción significativos al grupo. Evite introducir información confidencial.
  3. Si necesita cuentas de usuario para Events, realice estos pasos:
    1. Abra el menú de navegación y haga clic en Identidad y seguridad. En Identidad, haga clic en Usuarios. Se muestra una lista de los usuarios del arrendamiento.
    2. Haga clic en Crear usuario y cree uno o más usuarios nuevos (consulte Creación de un usuario).
  4. Si los usuarios aún no se han agregado a grupos, realice estos pasos:
    1. Abra el menú de navegación y haga clic en Identidad y seguridad. En Identidad, haga clic en Dominios. Se muestra una lista de los grupos del arrendamiento.
    2. Haga clic en el grupo que desea utilizar para Events.
    3. Haga clic en Agregar usuario a grupo.
    4. Seleccione los usuarios en la lista desplegable y, a continuación, haga clic en Agregar.

Para crear un compartimento

Si no existe un compartimento adecuado para las reglas y los recursos que emiten eventos, conéctese a la Consola como administrador de arrendamiento y créelo.

  1. Conéctese a la Consola como administrador del arrendamiento.
  2. Abra el menú de navegación y haga clic en Identidad y seguridad. En Identidad, haga clic en Compartimentos. Se muestra una lista de los compartimentos del arrendamiento.
  3. Haga clic en Crear compartimento y cree uno nuevo (consulte Creación de un compartimento). Asigne al compartimento un nombre y una descripción significativos. Evite introducir información confidencial.

Creación de una política de IAM para Events

Para que los usuarios puedan empezar a utilizar Events para habilitar la automatización, como administrador de arrendamiento, debe crear la política de IAM

Para crear una política que permita a los usuarios crear y gestionar reglas

  1. Conéctese a la Consola como administrador del arrendamiento.
  2. En la consola, Abra el menú de navegación y haga clic en Identidad y seguridad. En Identidad, haga clic en Políticas. Se muestra una lista de las políticas del compartimento que está viendo.
  3. Seleccione el compartimento raíz.
  4. Haga clic en Crear política.
  5. Introduzca lo siguiente:
    • Nombre: nombre significativo para la política. El nombre debe ser único entre todas las políticas de su arrendamiento. No podrá cambiarlo después. Evite introducir información confidencial.
    • Descripción: descripción significativa. Puede cambiarlo más tarde si lo desea.
    • Sentencia: introduzca las siguientes sentencias de política para otorgar a los usuarios del grupo la capacidad de gestionar y crear reglas:

      Esta línea permite al usuario inspeccionar el acceso a los recursos en compartimentos para seleccionar acciones.

      allow group <RuleAdmins> to inspect compartments in tenancy

      Esta línea proporciona al usuario acceso a etiquetas definidas para aplicar etiquetas de filtro a las reglas.

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

      Estas líneas proporcionan al usuario acceso a los recursos de Streaming para acciones.

      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

      Estas líneas proporcionan al usuario acceso a los recursos de Functions para acciones.

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

      Esta línea proporciona al usuario acceso a los temas Notifications para acciones.

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

      Esta línea proporciona al usuario acceso de administración de reglas para Events.

      allow group <RuleAdmins> to manage cloudevents-rules in tenancy
  6. Haga clic en Crear.

Creación de temas y suscripciones de Notifications

Si aún no existe un tema de Notifications adecuado, deberá conectarse a la Consola como administrador de arrendamiento y crearlo. Si utiliza un tema existente o crea uno nuevo, agregue una dirección de correo electrónico como suscripción para que pueda supervisar las notificaciones de esa cuenta de correo electrónico.

Para crear un tema

  1. Abra el menú de navegación y haga clic en Servicios para desarrolladores. En Integración de aplicaciones, haga clic en Notificaciones.
  2. Haga clic en Crear tema en la parte superior de la lista de temas.
  3. En el panel Crear tema, configure el tema.
    • Nombre: obligatorio. Especifique un nombre fácil de recordar para el tema. Debe ser único; la validación distingue entre mayúscula y minúscula. Evite introducir información confidencial.
    • Descripción: opcional. Introduzca una descripción para el tema.
  4. Haga clic en Crear.

Para crear una suscripción

  1. Abra el menú de navegación y haga clic en Servicios para desarrolladores. En Integración de aplicaciones, haga clic en Notificaciones.
  2. Haga clic en el nombre del tema que ha creado en el paso anterior o en el tema que desea utilizar para este tutorial.
  3. En la página de detalles del tema, haga clic en Crear suscripción.
  4. En el panel Create Subscription, seleccione Email y, a continuación, escriba una dirección de correo electrónico.
  5. Haga clic en Crear.

    Se crea la suscripción y se envía una URL de confirmación de suscripción. La suscripción permanece en estado "Pendiente" hasta que se confirma.

Para confirmar una suscripción

  • En el correo electrónico de confirmación enviado a la dirección especificada en el procedimiento anterior, haga clic en la URL de confirmación.  

Uso de la consola para crear una regla

Utilice la Consola para crear una regla con un patrón que coincida con los eventos de creación de cubos emitidos por Object Storage. Especifique el tema de Notifications que ha creado como acción para entregar eventos coincidentes. Para probar la regla, cree un cubo. Object Storage emite un evento que dispara la acción. Compruebe el correo electrónico especificado en la suscripción para recibir la notificación.

Creación de Reglas

  1. Abra el menú de navegación y haga clic en Observación y gestión. En Servicio de eventos, haga clic en Reglas.
  2. Seleccione un Compartimento en el que tenga permiso para trabajar y, a continuación, haga clic en Crear regla.

    Events compara las reglas que crea en este compartimento con los mensajes de eventos emitidos desde los recursos de este compartimento y los compartimientos secundarios.

  3. Introduzca lo siguiente.
    • Nombre mostrado: especifique un nombre fácil de recordar para la regla. Puede cambiar el nombre más tarde. Evite introducir información confidencial.
    • Descripción: describa el propósito de la regla. Puede cambiar la descripción más tarde.
  4. En Condición, seleccione Tipo de evento.
    1. En Nombre de servicio, seleccione Object Storage.
    2. En Tipo de evento, seleccione Bloque - Crear.
  5. En Acciones, especifique las acciones que se dispararán cuando el filtro encuentre una coincidencia: 
    1. En Tipo de acción, seleccione Notificaciones.
    2. En Compartimento de notificaciones, seleccione el compartimento que contenga el tema.
    3. En Tema, seleccione el tema.
  6. Haga clic en Crear regla.
Para crear un cubo
  1. Abra el menú de navegación y haga clic en Almacenamiento. En Almacenamiento de objetos y de archivo, haga clic en Cubos.
  2. Seleccione el compartimento en el que creó la regla (o cualquiera de sus compartimentos subordinados).
  3. Haga clic en Crear cubo.
  4. En el cuadro de diálogo Crear cubo, especifique los atributos del cubo:
    • Nombre: obligatorio. Nombre o descripción fáciles de recordar. Evite introducir información confidencial.
    • Nivel de almacenamiento: seleccione el nivel en el que desea almacenar los datos. Los niveles disponibles son:

      • Estándar es el nivel principal por defecto de Object Storage para almacenar datos a los que se accede con frecuencia y que requieren un acceso rápido e inmediato.
      • Archivo es un nivel especial para almacenar datos a los que se accede con poca frecuencia y que requieren largos periodos de conservación. El acceso a los datos del nivel Archivo no es inmediato. Debe restaurar los datos archivados antes de poder acceder a ellos. Para obtener más información, consulte Visión general de Archive Storage.
  5. Haga clic en Crear.

Recuperación de la notificación

  • Conéctese a la cuenta de correo electrónico especificada en el procedimiento anterior para recibir la notificación sobre el cubo que se está creando.

    Esta captura de pantalla muestra una notificación.

    Consejo

    Recibirá notificaciones cada vez que se cree un cubo en el compartimento (o cualquiera de sus compartimientos secundarios) hasta que desactive la regla.

Uso de la CLI para crear una regla

Cuando se utiliza la CLI para crear una regla, se trabaja de manera un tanto diferente en comparación con el uso de la Consola.

  • Para especificar las acciones de la regla, utilice un archivo con formato JSON. Este archivo se crea antes de crear la regla y el archivo simplifica la cantidad de información que debe escribir en la línea de comandos.
  • Para especificar el evento que debe coincidir, utilice una cadena con formato JSON. Debe escribirlo en la consola cuando cree la regla.

Creación de un archivo de acción

  1. Cree un archivo y agregue el siguiente contenido.
    {
      "actions": [
          {
            "actionType": "ONS",
            "description": "string",
            "isEnabled": true,
            "topicId": "<topic_OCID>"
          }
      ]
    }

    Consejo: Puede especificar funciones, flujos o temas como una acción.

    Ejemplo de plantilla de archivo de acción
    {
      "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. Introduzca el valor del OCID del tema real de su arrendamiento en <topic_OCID>.
  3. Agregue una descripción.
  4. Guarde el archivo con action.json como nombre de archivo.

Creación de Reglas

Abra un símbolo del sistema y ejecute oci events rule create para crear una regla.

Utilice las siguientes opciones:

  • display-name indica el nombre de la regla en la Consola
  • is-enabled indica si la regla se evalúa.
  • condition es una cadena con formato JSON que se utiliza para indicar un patrón de coincidencia de eventos (consulte el siguiente comando de ejemplo para conocer su uso).

  • compartment-id indica el compartimento al que se aplica la regla. Events evalúa los mensajes de los recursos de este compartimento y cualquier compartimiento secundario.
  • actions indica la ubicación del sistema de archivos local del archivo con formato JSON que ha creado para especificar las acciones de una regla.
  • Cuando se usa wait-for-state= con ACTIVE indica que la CLI debe esperar a que el servicio cree la regla, realice otra operación GET y, a continuación, muestre la regla en estado activo. Sin esa opción, la CLI muestra la regla inmediatamente en el estado de creación.

Por ejemplo: 

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
Nota

Reemplace los valores de <compartment_OCID> y <path_to_json_formatted_actions_file> por los valores reales de su arrendamiento y sistema de archivos local.

Cuando ejecuta el comando anterior, la CLI le recuerda la regla y le informa sobre su visualización: 

 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"
}
Para crear un cubo
  1. Abra el menú de navegación y haga clic en Almacenamiento. En Almacenamiento de objetos y de archivo, haga clic en Cubos.
  2. Seleccione el compartimento en el que creó la regla (o cualquiera de sus compartimentos subordinados).
  3. Haga clic en Crear cubo.
  4. En el cuadro de diálogo Crear cubo, especifique los atributos del cubo:
    • Nombre: obligatorio. Nombre o descripción fáciles de recordar. Evite introducir información confidencial.
    • Nivel de almacenamiento: seleccione el nivel en el que desea almacenar los datos. Los niveles disponibles son:

      • Estándar es el nivel principal por defecto de Object Storage para almacenar datos a los que se accede con frecuencia y que requieren un acceso rápido e inmediato.
      • Archivo es un nivel especial para almacenar datos a los que se accede con poca frecuencia y que requieren largos periodos de conservación. El acceso a los datos del nivel Archivo no es inmediato. Debe restaurar los datos archivados antes de poder acceder a ellos. Para obtener más información, consulte Visión general de Archive Storage.
  5. Haga clic en Crear.

Recepción de notificaciones

  • Conéctese a la cuenta de correo electrónico especificada en el procedimiento anterior para recibir la notificación sobre el cubo que se está creando.

    Consejo

    Recibirá notificaciones cada vez que se cree un cubo en el compartimento (o cualquiera de sus compartimientos secundarios) hasta que desactive la regla.