UUID生成

uuidモジュールは、UUIDの生成、検証、情報取得、パース、フォーマットを行います。決定論的ワークフローでは、v1、v4、v7の生成は記録される副作用として実行され、リプレイ時には記録済みの値を返します。名前空間に基づくv3とv5の生成は決定論的であり、直接実行されます。

このページは独立した呼び出しを示すAPIリファレンスです。namespace、name、input、idなどの値は周囲のアプリケーションから渡されます。生成、パース、情報取得、フォーマットの結果を使う前に、2番目のerror戻り値を取得して処理してください。UUIDは識別子であり、Bearer認証情報ではありません。どのバージョンのUUIDも認証トークンやシークレットとして使用しないでください。

ロード

local uuid = require("uuid")

非決定論的UUID

バージョン1

タイムスタンプとノードIDを持つ時間ベースのUUIDです。

バージョン1は作成時刻とノード識別子を公開します。これらの情報が機密となる場合は避け、不透明な識別子だけが必要な場合はv4を使用してください。

local id, err = uuid.v1()

戻り値: string, error

バージョン4

ランダムなUUIDです。

local id, err = uuid.v4()

戻り値: string, error

バージョン7

作成時刻をエンコードし、時系列インデックスに利用できる時間順序UUIDです。特に同じタイムスタンプ区間内で生成された値について、厳密に単調増加するシーケンスとして扱わないでください。

local id, err = uuid.v7()

戻り値: string, error

決定論的UUID

バージョン3

MD5を使用して名前空間と名前から生成する決定論的UUIDです。

local id, err = uuid.v3(namespace, name)
パラメータ 型 説明
namespace string 有効なUUID文字列
name string ハッシュする値

戻り値: string, error

バージョン5

SHA-1を使用して名前空間と名前から生成する決定論的UUIDです。

local NS_URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"
local id, err = uuid.v5(NS_URL, "https://example.com/resource")
if err then
    return nil, err
end
パラメータ 型 説明
namespace string 有効なUUID文字列
name string ハッシュする値

戻り値: string, error

検査

validate

local valid = uuid.validate(input)
パラメータ 型 説明
input any チェックする値

戻り値: boolean, nil。文字列以外または不正な形式の入力ではfalseを返します。検証時に構造化エラーは発生しません。

version

local ver, err = uuid.version(id)
パラメータ 型 説明
uuid string 有効なUUID文字列

戻り値: integer, error

variant

local var, err = uuid.variant(id)
パラメータ 型 説明
uuid string 有効なUUID文字列

戻り値: string, error(RFC4122、Reserved、Microsoft、Future、NCS、またはInvalid)

parse

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、またはInvalid
  • timestamp(integer): Unixタイムスタンプ(v1とv7のみ)
  • node(string): 6バイトの生のノードID(v1のみ)

format

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 いいえ

エラーの扱いについては、エラー処理を参照してください。