サーバレス練習帳

着眼大局着手小局

UUIDと、時間ソート可能なULID

ULIDが便利そう
qiita.com

Lambdaレイヤーにulid-pyがあると良いなぁ。

pip install ulid-py

qiita.com

なんかライブラリたくさんあるらしい。

https://yu00sasaki.com/tips/ulid/

cuidというのもあるらしい

https://www.keisuke69.net/entry/2022/08/01/140656

こんな感じで動かせた。

    import ulid
    import datetime

    session_id = ulid.new().str

    id1 = ulid.new()
    print(id1)
    print(id1.str)
    DIFF_JST_FROM_UTC = 9
    print(id1.timestamp().datetime)
    id1j=id1.timestamp().datetime + datetime.timedelta(hours=DIFF_JST_FROM_UTC)
    print(id1j)
    print(id1j.strftime('%Y%m%d%H%M%S'))

01HRW2NCJWX5T26THASQZQ1GFT
01HRW2NCJWX5T26THASQZQ1GFT
2024-03-13 14:15:06.076000+00:00
2024-03-13 23:15:06.076000+00:00
20240313231506

きちんと、最後は日本時間になっています!良いね!

ちなみに、AWS Lambda/python3.9/x86の上で動かしているのですが、
ulid-pyのlambda layerは、m2mac(arm)のpython3.9上で作成した。
けど、普通に動いている。
psycopg2みたいなOSに近しい機能を持ったミドルウェアでなければ、
x86でもarmでもどちらでも動くんだろうな。