Saltar al contenido

Generando un único key para dynamodb dentro de una función lambda

Mantén la atención ya que en este tutorial hallarás la respuesta que buscas.

Solución:

Si usa Node.js 8.x, puede usar el módulo uuid.

var AWS = require('aws-sdk'),
    uuid = require('uuid'),
    documentClient = new AWS.DynamoDB.DocumentClient();
[...]
        Item:
            "id":uuid.v1(),
            "Name":"MyName"
        ,

Si usa Node.js 10.x, puede usar awsRequestId sin el módulo uuid.

    var AWS = require('aws-sdk'),
        documentClient = new AWS.DynamoDB.DocumentClient();
[...]
    Item:
        "id":context.awsRequestId,
        "Name":"MyName"
    ,

El paquete UUID disponible en NPM hace exactamente eso.

https://www.npmjs.com/package/uuid

Puede elegir entre 4 algoritmos de generación diferentes:

  • Marca de tiempo V1
  • Espacio de nombres V3
  • V4 aleatorio
  • Espacio de nombres V5 (nuevamente)

Esto te dará:

“Un UUID [that] tiene una longitud de 128 bits y puede garantizar la singularidad en el espacio y el tiempo”. – RFC4122

El UUID generado se verá así: 1b671a64-40d5-491e-99b0-da01ff1f3341

Si es demasiado largo, siempre puede codificarlo en Base64 para obtener G2caZEDVSR6ZsAAA2gH/Hw pero perderá la capacidad de manipular sus datos a través de la información de tiempo y espacio de nombres contenida en el UUID sin procesar (lo que podría no importarle).

awsRequestId parece que en realidad es V.4 UUID (aleatorio), fragmento de código a continuación:

exports.handler = function(event, context, callback) 
    console.log('remaining time =', context.getRemainingTimeInMillis());
    console.log('functionName =', context.functionName);
    console.log('AWSrequestID =', context.awsRequestId);
    callback(null, context.functionName);
;

En caso de que quiera generarlo usted mismo, aún puede usar https://www.npmjs.com/package/uuid o Ulide (un poco mejor en rendimiento) para generar diferentes versiones de UUID basadas en RFC-4122

Para los desarrolladores de Go, puede usar estos paquetes de UUID, Pborman o Satori de Google. Pborman tiene un mejor rendimiento, consulte estos artículos y puntos de referencia para obtener más detalles.

Puede encontrar más información sobre la especificación del identificador único universal aquí.

Sección de Reseñas y Valoraciones

Si te gusta la programación, eres capaz de dejar una reseña acerca de qué te ha gustado de esta sección.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *