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

257
Vistas
¿Cómo extraigo atributos de tipo de mapa del elemento de DynamoDB usando .NET?

He consultado con éxito un conjunto de datos de DynamoDB y devolví el último elemento asociado con la clave principal. Los datos del artículo consisten en lo siguiente:

 `{ "machineID": { "N": "1322" }, "ts": { "N": "1646299793339" }, "data": { "M": { "average-speed": { "N": "0" }, "in-machine-mode": { "N": "0" }, "run-speed": { "N": "40" }, "total-packs-life": { "N": "0" }, "recipe-loaded-id": { "N": "1" }, "total-packs-shift": { "N": "0" }, "message-banner": { "N": "0" }, "ts": { "N": "1646299793339" } } } }`

Quiero extraer los valores del mapa en formato JSON pero no puedo encontrar instrucciones/tutoriales sobre cómo se logra esto.

Aquí está el código básico para consultar y extraer el último registro relacionado con un número de máquina.

 `var response = await client.QueryAsync(request); var result = response.Items; foreach(Dictionary<string, AttributeValue> item in result) { foreach(KeyValuePair<string, AttributeValue> kvp in item ) { var attribute = kvp.Key; var value = kvp.Value; Console.WriteLine(attribute + " " + (value.N == null ? "" : value.N)); } }`

La salida es la siguiente: ts 1646299793339 machineID 1322 datos

¿Cómo obtengo el atributo M? Agradecería ayuda para resolver mi entendimiento.

Véase más arriba para las pruebas

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

0

Después de pasar algún tiempo buscando una respuesta y en el proceso de aprender más sobre cómo funciona dyanamoDB, ahora tengo una solución que funciona.

Esencial Necesitaba convertir el par clave-valor del atributo de la consulta en un documento.

Conseguido usando:

 var response = await dynamoDBClient.QueryAsync(request); var attributes = response.Items.FirstOrDefault(); var doc = Document.FromAttributeMap(attributes);

De esto es un caso simple de convertir doc a un objeto JSON

 Console.WriteLine(doc.ToJson());

¿Quizás hay otra manera? Comentarios apreciados.

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