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.
Transmisión de Amazon DynamoDB como fuente de Pipes EventBridge
Puede usar EventBridge Pipes para recibir registros en una transmisión de DynamoDB. A continuación, si lo desea, puede filtrar o enriquecer estos registros antes de enviarlos a un destino para su procesamiento. Existen ajustes específicos para Amazon DynamoDB Streams que puede elegir al configurar la tubería. EventBridge Pipes mantiene el orden de los registros del flujo de datos al enviar esos datos al destino.
importante
Al deshabilitar un flujo de DynamoDB que es el origen de una canalización, esa canalización queda inutilizada, aunque se vuelva a habilitar el flujo. Esto puede suceder por los motivos siguientes:
No puede detener, iniciar ni actualizar una canalización cuyo origen esté deshabilitado.
No puede actualizar una canalización con un origen nuevo después de crearla. Al volver a habilitar una transmisión de DynamoDB, a esa transmisión se le asigna un nuevo nombre de recurso de Amazon ARN () y deja de estar asociada a la canalización.
Si vuelve a activar la transmisión de DynamoDB, tendrá que crear una nueva canalización utilizando la nueva transmisión. ARN
Evento de ejemplo
En el siguiente evento de ejemplo se muestra la información que recibe la canalización. Puede usar este evento para crear y filtrar sus patrones de eventos o para definir la transformación de entrada. No todos los campos se pueden filtrar. Para obtener más información sobre los campos que puede filtrar, consulte Filtrado de eventos en Amazon EventBridge Pipes.
[ { "eventID": "1", "eventVersion": "1.0", "dynamodb": { "Keys": { "Id": { "N": "101" } }, "NewImage": { "Message": { "S": "New item!" }, "Id": { "N": "101" } }, "StreamViewType": "NEW_AND_OLD_IMAGES", "SequenceNumber": "111", "SizeBytes": 26 }, "awsRegion": "us-west-2", "eventName": "INSERT", "eventSourceARN": "arn:aws:dynamodb:us-east-1:111122223333:table/EventSourceTable", "eventSource": "aws:dynamodb" }, { "eventID": "2", "eventVersion": "1.0", "dynamodb": { "OldImage": { "Message": { "S": "New item!" }, "Id": { "N": "101" } }, "SequenceNumber": "222", "Keys": { "Id": { "N": "101" } }, "SizeBytes": 59, "NewImage": { "Message": { "S": "This item has changed" }, "Id": { "N": "101" } }, "StreamViewType": "NEW_AND_OLD_IMAGES" }, "awsRegion": "us-west-2", "eventName": "MODIFY", "eventSourceARN": "arn:aws:dynamodb:us-east-1:111122223333:table/EventSourceTable", "eventSource": "aws:dynamodb" } ]
Sondeo y procesamiento por lotes de flujos
EventBridge sondea los fragmentos de la transmisión de DynamoDB en busca de registros a una velocidad base de cuatro veces por segundo. Cuando hay registros disponibles, EventBridge procesa el evento y espera el resultado. Si el procesamiento se realiza correctamente, EventBridge reanuda el sondeo hasta que reciba más registros.
De forma predeterminada, EventBridge invoca la tubería en cuanto los registros estén disponibles. Si el lote que EventBridge lee desde la fuente contiene solo un registro, solo se procesa un evento. Para evitar procesar un número de registros pequeño, puede indicar a la canalización que almacene en búfer registros hasta cinco minutos configurando un plazo de procesamiento por lotes. Antes de procesar los eventos, EventBridge continúa leyendo los registros de la fuente hasta que haya reunido un lote completo, caduque el período de procesamiento por lotes o el lote alcance el límite de carga útil de 6 MB.
También puede aumentar la simultaneidad procesando varios lotes de cada partición en paralelo. EventBridge puede procesar hasta 10 lotes en cada fragmento simultáneamente. Si se aumenta el número de lotes simultáneos por fragmento, se garantiza un procesamiento ordenado a EventBridge nivel de clave de partición.
Configure los ajustes de ParallelizationFactor
para procesar una partición de un flujo de datos de Kinesis o DynamoDB con más de una ejecución de canalización simultáneamente. Puede especificar el número de lotes simultáneos que EventBridge sondean desde un fragmento mediante un factor de paralelización de 1 (predeterminado) a 10. Por ejemplo, si se establece ParallelizationFactor
en 2, puede tener 200 ejecuciones simultáneas de EventBridge Pipe como máximo para procesar 100 fragmentos de datos de Kinesis. Esto ayuda a escalar verticalmente el rendimiento de procesamiento cuando el volumen de datos es volátil y el IteratorAge
es alto. Tenga en cuenta que el factor de paralelización no funcionará si está utilizando la agregación de Kinesis.
Sondeo y posición inicial de flujos
Tenga en cuenta que el sondeo de flujos durante la creación de canalizaciones y las actualizaciones es, en última instancia, coherente.
Durante la creación de canalizaciones, es posible que se demore varios minutos en iniciar el sondeo de los eventos del flujo.
Durante las actualizaciones de las canalizaciones, es posible que se demore varios minutos en detener y reiniciar el sondeo de los eventos del flujo.
Esto significa que, si especifica LATEST
como posición inicial del flujo, la canalización podría omitir eventos durante la creación de canalizaciones o las actualizaciones. Para garantizar que no se pierda ningún evento, especifique la posición inicial del flujo como TRIM_HORIZON
.
Informes de fallos de elementos de lote
Cuando EventBridge consume y procesa datos de streaming de una fuente, de forma predeterminada, selecciona el número de secuencia más alto de un lote, pero solo cuando el lote es un éxito total. Para evitar el reprocesamiento de los mensajes procesados correctamente en un lote con errores, puede configurar el enriquecimiento o el destino para que devuelva un objeto que indique qué mensajes se han procesado correctamente y cuáles no. Esto se denomina respuesta parcial por lotes.
Para obtener más información, consulte Fallo de lote parcial.
Condiciones de éxito y fracaso
Si devuelve alguno de los siguientes datos, considerará EventBridge que el lote se ha realizado correctamente:
Una lista
batchItemFailure
vacíaUna lista
batchItemFailure
nulaUna
EventResponse
vacíaUna
EventResponse
nula
Si devuelve alguna de las siguientes opciones, EventBridge considerará el lote como un error total:
Una cadena
itemIdentifier
vacíaUna
itemIdentifier
nulaUn
itemIdentifier
con un mal nombre de clave
EventBridge Los reintentos fallan en función de su estrategia de reintentos.