ULIDを複数まとめて生成する方法
ULID Generatorでは、件数を指定して識別子をまとめて生成できます。件数を省略したときは1件になり、範囲外の数値は1から100の範囲へ置き換えられます。
ULID生成の前に確認するポイント
ULID Generatorは、時間をもとにした部分とランダムな部分を組み合わせた識別子を作るツールです。記録や処理対象に識別子を付ける場面で、1件だけでなく複数件を一度に用意できます。生成される文字列は26文字で、先頭10文字がミリ秒単位の時間部分、後半16文字がランダムな10バイトをbase32で表した部分です。
まず、必要な件数を決めてから入力します。1件で足りる場合は件数を入力せずに進められるため、単発の識別子を作る用途にも対応できます。複数件を準備するときは、入力した件数と結果に表示される適用件数を照らし合わせると確認しやすくなります。
件数を指定して生成する手順
- 生成する件数を決めます。
- 1件だけ作る場合は件数を省略するか、1を入力します。省略時には1件として扱われます。
- 複数件を作る場合は、1から100までの数値を件数として指定します。1未満の値は1に、100を超える値は100に置き換えられてから処理されます。
- 生成操作を実行します。
- 成功した結果で、識別子の一覧、適用された件数、タイムスタンプ、最初の識別子のサンプルを確認します。必要な件数になっているかを見てから、各文字列を対象の記録や処理へ割り当ててください。
確認する入力は数値の件数です。文字列やnullなどを件数として扱った場合の動作は、この手順の対象に含めません。
生成結果を確認するときの見方
成功時の各識別子は、26文字という長さで確認できます。内訳を見ると、前半10文字はミリ秒単位の時間に基づく部分で、後半16文字はオペレーティングシステムのランダム性から得た10バイトをbase32で表した部分です。
入力した数値と適用された件数が異なるときは、1未満または100超の値が範囲内へ置き換えられた可能性があります。計算中に例外が発生した場合、成功した一覧ではなく、失敗の報告と例外の内容が返されます。別の呼び出しをまたぐ世界規模での一意性、呼び出し間の順序、外部の識別子規格への準拠については、この結果だけでは判断できません。
使用例
データベースへ登録する3件のレコードに、生成した識別子を一つずつ割り当てます。
件数として3を指定して生成操作を実行し、一覧の件数、適用された件数、各文字列の長さを確認します。
成功時には、識別子3件、適用された件数3、タイムスタンプ、最初の識別子のサンプルが含まれ、各識別子は26文字です。
制限事項
- この情報だけでは、別の呼び出しをまたぐ世界規模での一意性や呼び出し間の順序、外部の識別子規格への準拠を判断できません。
よくある間違い
- 必要数を入力したつもりで0や101を指定すると、指定値とは異なる適用件数になることがあります。1から100までの数値を入力し、表示された適用件数も確認してください。
よくある質問
件数を入力しない場合はどうなりますか?
入力欄を空のまま生成操作へ進むと、処理対象の件数は1件として扱われます。
件数はどの範囲で指定できますか?
入力値はそのまま使われるとは限らず、下限側では1件、上限側では100件に収まるよう置き換えられます。
識別子のランダム部分には何が使われますか?
ランダム部分の作成には、オペレーティングシステムから得られるランダム性が使われます。