簡體   English   中英

aws-lambda 實例的唯一標識?

[英]Unique id of aws-lambda instance?

因為 lambda 是無狀態的並且多個實例可以同時運行,所以基於時間戳生成 id 可能不是一個好主意。 我目前正在使用 UUIDv1。 我知道用相同的時間戳生成相同的 ID 的機會已經幾乎不可能了。 對於我的應用程序來說,它也足夠獨特。 出於好奇,我正在考慮如何在 aws lambda 上生成真正數學上唯一的 id。

UUID v1 使用節點來區分使用相同時間戳生成的 ID。 隨機數或 MAC 地址(虛擬實例的壞主意)用於創建節點 ID。

如果我的活動 lambda 實例有一個唯一 ID,我將能夠生成真正唯一的 ID。 上下文 object 中有一個 awsRequestId,但它看起來像是另一個基於時間戳的 UUID。

也許你們有更多的想法?

在 su.net 中獨一無二

String executableId = ManagementFactory.getRuntimeMXBean().getName();

AWS lambda:

System.getenv("AWS_LAMBDA_LOG_STREAM_NAME").replaceFirst(".*?(?=\\w+$)", EMPTY)

定義的運行時環境變量

AWS EC2:

httpGet http://169.254.169.254/latest/meta-data/instance-id

實例元數據和用戶數據

亞馬遜雲服務器:

httpGet http://localhost:51678/v1/metadata

如何從 ECS 容器中獲取任務 ID?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM