Generacion de UUID

Generar identificadores unicos universales. Adaptado para workflows - los UUIDs aleatorios devuelven valores consistentes en replay.

Carga

local uuid = require("uuid")

UUIDs Aleatorios

Versión 1

UUID basado en tiempo con marca de tiempo e ID de nodo.

local id, err = uuid.v1()

Devuelve: string, error

Versión 4

UUID aleatorio.

local id, err = uuid.v4()

Devuelve: string, error

Versión 7

UUID ordenado por tiempo. Ordenable por tiempo de creacion.

local id, err = uuid.v7()

Devuelve: string, error

UUIDs Deterministicos

Versión 3

UUID deterministico desde namespace y nombre usando MD5.

local id, err = uuid.v3(namespace, name)
Parámetro Tipo Descripción
namespace string String UUID valido
name string Valor a hashear

Devuelve: string, error

Versión 5

UUID deterministico desde namespace y nombre usando SHA-1.

local NS_URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"
local id, err = uuid.v5(NS_URL, "https://example.com/resource")
Parámetro Tipo Descripción
namespace string String UUID valido
name string Valor a hashear

Devuelve: string, error

Inspeccion

Validar

local valid = uuid.validate(input)
Parámetro Tipo Descripción
input any Valor a verificar

Devuelve: boolean

Obtener Versión

local ver, err = uuid.versión(id)
Parámetro Tipo Descripción
uuid string String UUID valido

Devuelve: integer, error

Obtener Variante

local var, err = uuid.variant(id)
Parámetro Tipo Descripción
uuid string String UUID valido

Devuelve: string, error (RFC4122, Microsoft, NCS, o Invalid)

Parsear

local info, err = uuid.parse(id)
Parámetro Tipo Descripción
uuid string String UUID valido

Devuelve: table, error

Campos de tabla devuelta:

  • versión (integer): Versión UUID (1, 3, 4, 5, o 7)
  • variant (string): RFC4122, Microsoft, NCS, o Invalid
  • timestamp (integer): Marca de tiempo Unix (solo v1 y v7)
  • node (string): ID de nodo (solo v1)

Formatear

local formatted, err = uuid.format(id, "standard")
local formatted, err = uuid.format(id, "simple")
local formatted, err = uuid.format(id, "urn")
Parámetro Tipo Descripción
uuid string String UUID valido
format string? standard (predeterminado), simple, o urn

Devuelve: string, error

Errores

Condición Tipo Reintentable
Tipo de entrada invalido errors.INVALID no
Formato UUID invalido errors.INVALID no
Tipo de formato no soportado errors.INVALID no
Generacion fallida errors.INTERNAL no

Consulte Manejo de Errores para trabajar con errores.