콘텐츠로 이동

UUID 생성

범용 고유 식별자를 생성합니다. 워크플로우에 맞게 조정됨 - 난수 UUID는 리플레이 시 일관된 값을 반환합니다.

local uuid = require("uuid")

타임스탬프와 노드 ID가 포함된 시간 기반 UUID.

local id, err = uuid.v1()

반환: string, error

난수 UUID.

local id, err = uuid.v4()

반환: string, error

시간 순서 UUID. 생성 시간별로 정렬 가능.

local id, err = uuid.v7()

반환: string, error

MD5를 사용하여 네임스페이스와 이름에서 결정론적 UUID.

local id, err = uuid.v3(namespace, name)
파라미터타입설명
namespacestring유효한 UUID 문자열
namestring해시할 값

반환: string, error

SHA-1을 사용하여 네임스페이스와 이름에서 결정론적 UUID.

local NS_URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"
local id, err = uuid.v5(NS_URL, "https://example.com/resource")
파라미터타입설명
namespacestring유효한 UUID 문자열
namestring해시할 값

반환: string, error

local valid = uuid.validate(input)
파라미터타입설명
inputany확인할 값

반환: boolean, error

local ver, err = uuid.version(id)
파라미터타입설명
uuidstring유효한 UUID 문자열

반환: integer, error

local var, err = uuid.variant(id)
파라미터타입설명
uuidstring유효한 UUID 문자열

반환: string, error (RFC4122, Reserved, Microsoft, Future, NCS, 또는 Invalid)

local info, err = uuid.parse(id)
파라미터타입설명
uuidstring유효한 UUID 문자열

반환: table, error

반환된 테이블 필드:

  • version (integer): UUID 버전 (1, 3, 4, 5, 또는 7)
  • variant (string): RFC4122, Reserved, Microsoft, Future, NCS, 또는 Invalid
  • timestamp (integer): Unix 타임스탬프 (v1 및 v7만)
  • node (string): 노드 ID (v1만)
local formatted, err = uuid.format(id, "standard")
local formatted, err = uuid.format(id, "simple")
local formatted, err = uuid.format(id, "urn")
파라미터타입설명
uuidstring유효한 UUID 문자열
formatstring?standard (기본값), simple, 또는 urn

반환: string, error

조건종류재시도 가능
잘못된 입력 타입errors.INVALID아니오
잘못된 UUID 형식errors.INVALID아니오
지원되지 않는 포맷 타입errors.INVALID아니오
생성 실패errors.INTERNAL아니오

에러 처리는 에러 처리를 참조하세요.