UUID生成
UUID生成
Section titled “UUID生成”ユニバーサル一意識別子を生成します。ワークフロー向けに適応されており、ランダムUUIDはリプレイ時に一貫した値を返します。
local uuid = require("uuid")ランダムUUID
Section titled “ランダムUUID”バージョン1
Section titled “バージョン1”タイムスタンプとノードIDを持つ時間ベースのUUIDです。
local id, err = uuid.v1()戻り値: string, error
バージョン4
Section titled “バージョン4”ランダムなUUIDです。
local id, err = uuid.v4()戻り値: string, error
バージョン7
Section titled “バージョン7”時間順序UUIDです。作成時刻でソート可能です。
local id, err = uuid.v7()戻り値: string, error
決定論的UUID
Section titled “決定論的UUID”バージョン3
Section titled “バージョン3”MD5を使用して名前空間と名前から生成する決定論的UUIDです。
local id, err = uuid.v3(namespace, name)| パラメータ | 型 | 説明 |
|---|---|---|
namespace | string | 有効なUUID文字列 |
name | string | ハッシュする値 |
戻り値: string, error
バージョン5
Section titled “バージョン5”SHA-1を使用して名前空間と名前から生成する決定論的UUIDです。
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
バージョン取得
Section titled “バージョン取得”local ver, err = uuid.version(id)| パラメータ | 型 | 説明 |
|---|---|---|
uuid | string | 有効なUUID文字列 |
戻り値: integer, error
バリアント取得
Section titled “バリアント取得”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): ノードID(v1のみ)
フォーマット
Section titled “フォーマット”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 | no |
| 無効なUUIDフォーマット | errors.INVALID | no |
| サポートされていないフォーマットタイプ | errors.INVALID | no |
| 生成失敗 | errors.INTERNAL | no |
エラーの処理についてはエラー処理を参照。