Tutorial: Enviar eventos a Amazon Kinesis mediante esquemas 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: Enviar eventos a Amazon Kinesis mediante esquemas EventBridge

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

Requisitos previos

En este tutorial, utilizará lo siguiente:

nota

En este tutorial se utilizan AWS los eventos y el registro de aws.events esquemas integrado. También puede crear una EventBridge regla 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 EventBridge Esquemas de Amazon. 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 una transmisión, utilice el comando en una línea de create-stream AWS CLI comandos.

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

Crea una regla para enviar eventos a tu transmisión cuando detengas una EC2 instancia de Amazon.

Para crear una regla
  1. Abre la EventBridge consola de Amazon 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 Fuente del evento, selecciona AWS eventos o eventos EventBridge asociados.

  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. Para Schema, elija aws.ec2@ en la lista EC2InstanceStateChangeNotification 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 enJSON:

      { "detail": { "state": ["running"] }, "detail-type": ["EC2 Instance State-change Notification"], "source": ["aws.ec2"] }
  11. Seleccione 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. Seleccione Siguiente.

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

Paso 3: Probar la regla

Para probar tu regla, detiene una EC2 instancia de Amazon. Espera unos minutos a que la instancia se detenga y, a continuación, comprueba tus CloudWatch métricas para comprobar que la función se ha ejecutado.

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

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

  3. Abre la EventBridge consola de Amazon 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 su instancia en la Guía del EC2 usuario de Amazon.

Paso 4: Verificar el envío del evento

Puede utilizarla AWS CLI para obtener el registro de la transmisión y comprobar que el evento se ha enviado.

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. Utilice un decodificador Base64 para decodificar los datos y comprobar que se trata del evento que se envió a la transmisión en formato. JSON

Paso 5: Eliminar los recursos

A menos que desee conservar los recursos que creó para este tutorial, puede eliminarlos ahora. Al eliminar AWS los recursos que ya no utilizas, evitas cargos innecesarios en tu cuenta. AWS

Para eliminar la (s) EventBridge regla (s)
  1. Abre la página de reglas de la EventBridge consola.

  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.