Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

231
Vistas
No veo ningún registro en mi flujo de dynamodb

Tengo problemas para implementar dynamodbstreams. Queremos obtener registros de los cambios justo en el momento en que se cambia la tabla de dynamodb.

Usamos el ejemplo de Java de https://docs.aws.amazon.com/en_en/amazondynamodb/latest/developerguide/Streams.LowLevel.Walkthrough.html y lo tradujimos para nuestro proyecto de C++. En lugar de ShardIteratorType.TRIM_HORIZON , usamos ShardIteratorType.LATEST) . Además, actualmente estoy probando con una tabla existente y no sé cuántos registros esperar.

La mayoría de las veces, cuando itero sobre los fragmentos que recupero de Aws::DynamoDBStreams::DynamoDBStreamsClient y Aws::DynamoDBStreams::Model::DescribeStreamRequest, no veo ningún registro. Para probar, cambio las entradas en la tabla dynamodb a través de la consola aws. Pero a veces (y no sé por qué) hay registros y funciona como se espera.

Estoy seguro de que entiendo mal el concepto de flujos y especialmente de fragmentos y registros. Mi pensamiento es que necesito encontrar una manera de encontrar el fragmento más reciente y encontrar los datos más recientes en ese fragmento.

¿No es esto lo que haría ShardIteratorType.LATEST? ¿Cómo puedo encontrar los datos más recientes en mi transmisión?

Agradezco todos sus pensamientos y tengo curiosidad por saber qué sucede con mi primera publicación de stackoverflow.

Mejor david

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

¿Cómo puedo encontrar los datos más recientes en mi transmisión?

¿Cómo definiría los datos más recientes? ¿Últimas 10 entradas? ¿Última entrada? ¿O datos que aún no están en el fragmento? La pregunta puede sonar tonta, pero la respuesta hace la diferencia.

La opción, LATEST , que está utilizando establecerá el encabezado del iterador justo después de la última entrada, lo que significa que, a menos que lleguen nuevos datos después de que se haya creado el iterador, no habrá nada que leer.

Si por los datos más recientes se refiere a algunos registros que ya están en el fragmento, entonces no puede usar LATEST . La opción fácil es usar TRIM_HORIZON .

O aún más fácil sería suscribir la función lambda a esa transmisión que se invocará automáticamente cada vez que se coloque un nuevo registro en la transmisión (y el registro se pasa a esa función lambda como carga útil), lo que podría ser preferible si necesita manejar eventos en tiempo casi real.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda