Tutorial: Envío de eventos a Amazon Kinesis mediante esquemas de EventBridge - Amazon EventBridge

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: Envío de eventos a Amazon Kinesis mediante esquemas de EventBridge

Puede enviar eventos de llamada a la API de AWS en EventBridge a un flujo de Amazon Kinesis, crear aplicaciones de flujos de datos de Kinesis y procesar grandes cantidades de datos. En este tutorial, creará un flujo de Kinesis y, a continuación, creará una regla en la consola de EventBridge que envíe eventos a ese flujo cuando se detenga una instancia de Amazon EC2.

Requisitos previos

En este tutorial, utilizará lo siguiente:

nota

En este tutorial se utilizan eventos de AWS y el registro de esquemas de aws.events integrado. También puede crear una regla de EventBridge basada en el esquema de sus eventos personalizados agregándolos manualmente a un registro de esquemas personalizados o mediante la detección de esquemas.

Para obtener más información sobre los esquemas, consulte Esquemas de Amazon EventBridge. Para obtener más información sobre cómo crear una regla con otras opciones de patrones de eventos, consulte Crear reglas que reaccionen a los eventos en Amazon EventBridge.

Paso 1: Crear un fljujo de Amazon Kinesis

Para crear un flujo, ejecute el siguiente comando en el símbolo del sistema, utilice el comando de la AWS CLI create-stream.

aws kinesis create-stream --stream-name test --shard-count 1

Cuando el estado del flujo sea ACTIVE, el flujo está listo. Para comprobar el estado del flujo, utilice el comando describe-stream.

aws kinesis describe-stream --stream-name test

Paso 2: Crear una regla

Cree una regla para enviar eventos al flujo cuando se pare una instancia de Amazon EC2.

Para crear una regla
  1. Abra la consola de Amazon EventBridge en https://console.aws.amazon.com/events/.

  2. En el panel de navegación, seleccione Reglas.

  3. Elija Crear regla.

  4. Escriba un nombre y una descripción para la regla. Por ejemplo, llame a la regla TestRule

  5. En Bus de eventos, seleccione el valor predeterminado.

  6. En Tipo de regla, elija Regla con un patrón de evento.

  7. Elija Siguiente.

  8. En Origen del evento, elija Eventos de AWS o eventos de socios de EventBridge.

  9. En Método de creación, elija Usar esquema.

  10. En Event pattern (Patrón de evento), realice una de las siguientes acciones:

    1. En Tipo de esquema, elija Seleccionar esquema del registro de esquemas.

    2. En Registro de esquemas, elija aws.events en la lista desplegable.

    3. En Esquema, elija aws.ec2 @EC2InstanceStateChangeNotification en la lista desplegable.

      EventBridge muestra el esquema de eventos en Modelos.

      EventBridge muestra un asterisco rojo junto a las propiedades necesarias para el evento, no para el patrón del evento.

    4. En Modelos, defina las siguientes propiedades del filtro de eventos:

      1. Seleccione + Editar junto a la propiedad state.

        Deje el campo Relación vacío. En Valor, introduzca running. Elija Establecer.

      2. Seleccione + Editar junto a la propiedad source.

        Deje el campo Relación vacío. En Valor, introduzca aws.ec2. Elija Establecer.

      3. Seleccione + Editar junto a la propiedad detail-type.

        Deje el campo Relación vacío. En Valor, introduzca EC2 Instance State-change Notification. Elija Establecer.

    5. Para ver el patrón de eventos que ha creado, elija Generar patrón de eventos en JSON

      EventBridge muestra el patrón de eventos en JSON:

      { "detail": { "state": ["running"] }, "detail-type": ["EC2 Instance State-change Notification"], "source": ["aws.ec2"] }
  11. Elija Siguiente.

  12. En Tipos de destino, seleccione Servicio de AWS.

  13. En Seleccionar un destino, elija Flujo de Kinesis en la lista desplegable.

  14. En Flujo, seleccione el flujo de Kinesis que creó en la sección Paso 1: Crear un flujo de Amazon Kinesis. En este ejemplo, seleccione test.

  15. En Rol de ejecución, elija Crear un rol nuevo para este recurso específico.

  16. Elija Siguiente.

  17. Elija Siguiente.

  18. Revise los detalles de la regla y seleccione Crear regla.

Paso 3: Probar la regla

Para probar la regla, pare una instancia de Amazon EC2. Espere unos minutos a que la instancia se pare, compruebe las métricas de CloudWatch para comprobar que la función se ejecutó.

Para probar la regla parando una instancia
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. Lance una instancia. Para obtener más información, consulte Lanzar la instancia en la Guía del usuario de Amazon EC2.

  3. Abra la consola de Amazon EventBridge en https://console.aws.amazon.com/events/.

  4. En el panel de navegación, seleccione Reglas.

    Elija el nombre de la regla que ha creado y elija Metrics for the rule (Métricas para la regla).

  5. (Opcional) Cuando haya finalizado, termine la instancia. Para obtener más información, consulte Finalizar una instancia en la Guía del usuario de Amazon EC2.

Paso 4: Verificar el envío del evento

Puede usar la AWS CLI para obtener el registro del flujo para verificar que el evento se envió.

Para obtener el registro
  1. Para empezar a leer el flujo de Kinesis, en el símbolo del sistema, utilice el comando get-shard-iterator.

    aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name test

    A continuación, se muestra un ejemplo del resultado.

    { "ShardIterator": "AAAAAAAAAAHSywljv0zEgPX4NyKdZ5wryMzP9yALs8NeKbUjp1IxtZs1Sp+KEd9I6AJ9ZG4lNR1EMi+9Md/nHvtLyxpfhEzYvkTZ4D9DQVz/mBYWRO6OTZRKnW9gd+efGN2aHFdkH1rJl4BL9Wyrk+ghYG22D2T1Da2EyNSH1+LAbK33gQweTJADBdyMwlo5r6PqcP2dzhg=" }
  2. Para obtener el registro, utilice el siguiente comando get-records. Use el iterador de partición del resultado del paso anterior.

    aws kinesis get-records --shard-iterator AAAAAAAAAAHSywljv0zEgPX4NyKdZ5wryMzP9yALs8NeKbUjp1IxtZs1Sp+KEd9I6AJ9ZG4lNR1EMi+9Md/nHvtLyxpfhEzYvkTZ4D9DQVz/mBYWRO6OTZRKnW9gd+efGN2aHFdkH1rJl4BL9Wyrk+ghYG22D2T1Da2EyNSH1+LAbK33gQweTJADBdyMwlo5r6PqcP2dzhg=

    Si el comando se realiza correctamente, solicita registros del flujo para el fragmento especificado. Puede recibir cero o más registros. Los registros devueltos podrían no representar todos los registros del flujo. Si no recibe los datos que espera, siga llamando a get-records.

  3. Los registros de Kinesis están codificados en Base64. Use un decodificador Base64 para decodificar los datos y comprobar que se trata del evento que se envió al flujo en formato JSON.

Paso 5: Eliminar los recursos

A menos que desee conservar los recursos que creó para este tutorial, puede eliminarlos ahora. Si elimina los recursos de AWS que ya no utiliza, evitará gastos innecesarios en su cuenta de AWS.

Para eliminar las reglas de EventBridge
  1. Abra la página Reglas en la consola de EventBridge.

  2. Seleccione las reglas que creó.

  3. Elija Eliminar.

  4. Elija Eliminar.

Para eliminar los flujos de Kinesis
  1. Abra la página Flujos de datos de la consola de Kinesis.

  2. Seleccione los flujos que creó.

  3. Elija Acciones, Eliminar.

  4. Escriba eliminar en el campo y seleccione Eliminar.