Ir al contenido

Generacion de UUID

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

local uuid = require("uuid")

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

local id, err = uuid.v1()

Devuelve: string, error

UUID aleatorio.

local id, err = uuid.v4()

Devuelve: string, error

UUID ordenado por tiempo. Ordenable por tiempo de creacion.

local id, err = uuid.v7()

Devuelve: string, error

UUID deterministico desde namespace y nombre usando MD5.

local id, err = uuid.v3(namespace, name)
ParámetroTipoDescripción
namespacestringString UUID valido
namestringValor a hashear

Devuelve: string, error

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ámetroTipoDescripción
namespacestringString UUID valido
namestringValor a hashear

Devuelve: string, error

local valid = uuid.validate(input)
ParámetroTipoDescripción
inputanyValor a verificar

Devuelve: boolean, error

local ver, err = uuid.versión(id)
ParámetroTipoDescripción
uuidstringString UUID valido

Devuelve: integer, error

local var, err = uuid.variant(id)
ParámetroTipoDescripción
uuidstringString UUID valido

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

local info, err = uuid.parse(id)
ParámetroTipoDescripción
uuidstringString UUID valido

Devuelve: table, error

Campos de tabla devuelta:

  • versión (integer): Versión UUID (1, 3, 4, 5, o 7)
  • variant (string): RFC4122, Reserved, Microsoft, Future, NCS, o Invalid
  • timestamp (integer): Marca de tiempo Unix (solo v1 y v7)
  • node (string): ID de nodo (solo v1)
local formatted, err = uuid.format(id, "standard")
local formatted, err = uuid.format(id, "simple")
local formatted, err = uuid.format(id, "urn")
ParámetroTipoDescripción
uuidstringString UUID valido
formatstring?standard (predeterminado), simple, o urn

Devuelve: string, error

CondiciónTipoReintentable
Tipo de entrada invalidoerrors.INVALIDno
Formato UUID invalidoerrors.INVALIDno
Tipo de formato no soportadoerrors.INVALIDno
Generacion fallidaerrors.INTERNALno

Consulte Manejo de Errores para trabajar con errores.