Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

229
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!