Генерация UUID
Генерация UUID
Заголовок раздела «Генерация UUID»Генерация универсальных уникальных идентификаторов. Адаптировано для workflow — случайные UUID возвращают одинаковые значения при повторном выполнении.
Подключение
Заголовок раздела «Подключение»local uuid = require("uuid")Случайные UUID
Заголовок раздела «Случайные UUID»Версия 1
Заголовок раздела «Версия 1»UUID на основе времени с меткой и идентификатором узла:
local id, err = uuid.v1()Возвращает: string, error
Версия 4
Заголовок раздела «Версия 4»Случайный UUID:
local id, err = uuid.v4()Возвращает: string, error
Версия 7
Заголовок раздела «Версия 7»UUID, упорядоченный по времени. Можно сортировать по дате создания:
local id, err = uuid.v7()Возвращает: string, error
Детерминированные UUID
Заголовок раздела «Детерминированные UUID»Версия 3
Заголовок раздела «Версия 3»Детерминированный UUID из пространства имён и имени с использованием MD5:
local id, err = uuid.v3(namespace, name)| Параметр | Тип | Описание |
|---|---|---|
namespace | string | Корректный UUID-строка |
name | string | Значение для хеширования |
Возвращает: string, error
Версия 5
Заголовок раздела «Версия 5»Детерминированный UUID из пространства имён и имени с использованием SHA-1:
local NS_URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"local id, err = uuid.v5(NS_URL, "https://example.com/resource")| Параметр | Тип | Описание |
|---|---|---|
namespace | string | Корректный UUID-строка |
name | string | Значение для хеширования |
Возвращает: string, error
Проверка
Заголовок раздела «Проверка»local valid = uuid.validate(input)| Параметр | Тип | Описание |
|---|---|---|
input | any | Проверяемое значение |
Возвращает: boolean, error
local ver, err = uuid.version(id)| Параметр | Тип | Описание |
|---|---|---|
uuid | string | Корректный UUID-строка |
Возвращает: integer, error
Вариант
Заголовок раздела «Вариант»local var, err = uuid.variant(id)| Параметр | Тип | Описание |
|---|---|---|
uuid | string | Корректный UUID-строка |
Возвращает: string, error — RFC4122, Reserved, Microsoft, Future, NCS или Invalid
local info, err = uuid.parse(id)| Параметр | Тип | Описание |
|---|---|---|
uuid | string | Корректный UUID-строка |
Возвращает: table, error
Поля таблицы:
version(integer): версия UUID (1, 3, 4, 5 или 7)variant(string): RFC4122, Reserved, Microsoft, Future, NCS или Invalidtimestamp(integer): Unix-время (только для v1 и v7)node(string): идентификатор узла (только для v1)
Форматирование
Заголовок раздела «Форматирование»local formatted, err = uuid.format(id, "standard")local formatted, err = uuid.format(id, "simple")local formatted, err = uuid.format(id, "urn")| Параметр | Тип | Описание |
|---|---|---|
uuid | string | Корректный UUID-строка |
format | string? | standard (по умолчанию), simple или urn |
Возвращает: string, error
| Ситуация | Тип | Повтор |
|---|---|---|
| Неверный тип входных данных | errors.INVALID | нет |
| Неверный формат UUID | errors.INVALID | нет |
| Неподдерживаемый формат | errors.INVALID | нет |
| Ошибка генерации | errors.INTERNAL | нет |
Подробнее см. Обработка ошибок.