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: Registro de operaciones en el nivel de objetos de Amazon S3 con EventBridge
Puede registrar las operaciones de API en el nivel de objetos que tienen lugar en los buckets de Amazon S3. Antes de que Amazon EventBridge pueda asignar estos eventos, debe utilizar AWS CloudTrail para configurar un registro de seguimiento para recibir estos eventos.
En este tutorial, creará un registro de seguimiento de CloudTrail, creará una función de AWS Lambda y, a continuación, creará una regla en la consola de EventBridge que invoque esa función en respuesta a un evento de datos de S3.
Pasos:
Paso 1: Configurar el registro de seguimiento de AWS CloudTrail
Para registrar eventos de datos para un bucket de S3 en AWS CloudTrail y EventBridge, primero cree un registro de seguimiento. Un registro de seguimiento captura las llamadas a la API y los eventos relacionados de la cuenta y entrega los archivos de registro en un bucket de S3 especificado. Puede actualizar un registro de seguimiento existente o crear uno.
Para obtener más información, consulte Eventos de datos en la Guía del usuario de AWS CloudTrail.
Para crear un registro de seguimiento
Abra la consola de CloudTrail en https://console.aws.amazon.com/cloudtrail/
. -
Elija Trails (Registros de seguimiento), Create trail (Crear un registro de seguimiento).
-
En Trail name, escriba un nombre para el registro de seguimiento.
-
En Ubicación de almacenamiento, en Crear un bucket de S3 nuevo.
-
En alias de AWS KMS, escriba el alias para la clave KMS.
-
Elija Siguiente.
-
En Tipo de evento, elija Eventos de datos
-
En Eventos de datos, realice una de las siguientes operaciones:
-
Para registrar eventos de datos de todos los objetos de Amazon S3 en un bucket, especifique un bucket de S3 y un prefijo vacío. Cuando un evento se produce en un objeto de dicho bucket de , el registro de seguimiento procesa y registra el evento.
-
Para registrar los eventos de datos para objetos de Amazon S3 concretos, especifique un bucket de S3 y el prefijo del objeto. Cuando un evento se produce en un objeto en dicho bucket de y el objeto comienza por el prefijo indicado, el registro de seguimiento procesa y registra el evento.
-
-
En cada recurso, elija si desea registrar los eventos de tipo Lectura, Escritura o ambos.
-
Elija Siguiente.
-
Elija Create Trail (Crear registro de seguimiento).
Paso 2: Crear una función de AWS Lambda
Cree una función de Lambda para registrar eventos de datos para sus buckets de S3.
Para crear una función de Lambda
Abra la consola de AWS Lambda en https://console.aws.amazon.com/lambda/
. -
Elija Crear función.
-
Elija Crear desde cero.
-
Introduzca un nombre y la descripción de la función de Lambda. Por ejemplo, asigne un nombre a la función
LogS3DataEvents
. -
Deje el resto de las opciones como predeterminadas y elija Crear función.
-
En la pestaña Código de la página de funciones, haga doble clic en index.js.
-
Sustituya el código existente por el código siguiente.
'use strict'; exports.handler = (event, context, callback) => { console.log('LogS3DataEvents'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
-
Elija Implementar.
Paso 3: Crear una regla
Cree una regla para ejecutar la función de Lambda que creó en el paso 2. Esta regla se ejecuta en respuesta a un evento de datos de Amazon S3.
Para crear una regla
Abra la consola de Amazon EventBridge en https://console.aws.amazon.com/events/
. -
En el panel de navegación, seleccione Reglas.
-
Elija Crear regla.
-
Escriba un nombre y una descripción para la regla. Por ejemplo, llame a la regla
TestRule
-
En Bus de eventos, elija el bus de eventos que desea asociar a esta regla. Si desea que esta regla coincida con eventos procedentes de su cuenta, seleccione predeterminado. Cuando un servicio de AWS en la cuenta emite un evento, siempre va al bus de eventos predeterminado de la cuenta.
-
En Tipo de regla, seleccione Regla con un patrón de eventos.
-
Seleccione Siguiente.
-
En Origen de evento, seleccione Servicios de AWS.
-
En Event pattern (Patrón de evento), realice una de las siguientes acciones:
-
En Origen del evento, seleccione Simple Storage Service (S3) en la lista desplegable.
-
En Tipo de evento, seleccione Llamada a la API en el nivel de objetos de mediante CloudTrail en la lista desplegable.
-
Elija Specific operation(s) (Operaciones específicas) y, a continuación, elija PutObject.
-
De forma predeterminada, la regla coincide con los eventos de datos de todos los buckets de la región. Para asignar eventos de datos a buckets específicos, elija Specify bucket(s) by name y especifique uno o varios buckets.
-
-
Elija Siguiente.
-
En Tipos de destino, seleccione Servicio de AWS.
-
En Seleccionar un destino, elija Función de Lambda en la lista desplegable.
-
En Función, seleccione la función de Lambda de
LogS3DataEvents
que creó en el paso 1. -
Elija Siguiente.
-
Elija Siguiente.
-
Revise los detalles de la regla y seleccione Crear regla.
Paso 4: Probar la regla
Para probar la regla, coloque un objeto en su bucket de S3. Puede verificar que se invocó su función de Lambda.
Para ver los registros de su función de Lambda
-
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/
. -
En el panel de navegación, elija Logs.
-
Seleccione el nombre del grupo de registros para la función de Lambda (
/aws/lambda/
).function-name
-
Seleccione el nombre del flujo de registro para ver los datos proporcionados por la función para la instancia que ha lanzado.
También puede comprobar sus registros de CloudTrail en el bucket de S3 especificado para su registro de seguimiento. Para obtener más información, consulte Obtención y visualización de los archivos de registro de CloudTrail en la Guía del usuario de AWS CloudTrail.
Paso 5: Confirmar el éxito
Si ve el evento de Lambda en los registros de CloudWatch, significa que ha completado correctamente este tutorial. Si el evento no está en sus registros de CloudWatch, comience a solucionar problemas verificando que la regla se haya creado correctamente y, si la regla parece correcta, compruebe que el código de la función de Lambda sea correcto.
Paso 6: 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
-
Abra la página Reglas
en la consola de EventBridge. -
Seleccione las reglas que creó.
-
Elija Eliminar.
-
Elija Eliminar.
Para eliminar las funciones de Lambda
-
Abra la página de Funciones
en la consola de Lambda. -
Seleccione las funciones que creó.
-
Elija Actions (Acciones), Delete (Eliminar).
-
Elija Eliminar.
Para eliminar los registros de seguimiento de CloudTrail
-
Abra la página Trails (Registros de seguimiento)
de la consola de CloudTrail. -
Seleccione los registros de seguimiento que creó.
-
Elija Eliminar.
-
Elija Eliminar.