在 Azure 逻辑应用中,如何创建 10 个整数位的唯一 ID



在 Azure 逻辑应用中,如何为每个请求创建 10 位唯一 ID。目前,我正在使用函数Javascript,但它正在创建重复项。

JAVAscript funaction 是:

a=1000000000;
module.exports = function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
a=a+1;
if (true) {
context.res = {
// status: 200, /* Defaults to 200 */
body: a
};
}
else {
context.res = {
status: 400,
body: "Please pass a name on the query string or in the request body"
};
}
context.done();
};

如何解决这个问题

  1. 正确的方法是按照@Thomas的建议使用类似guid的东西,但听起来它必须与后端人员进行单独的对话。
  2. 另一种方法是使用rand()和腌制方法定义某种公式,以真正尝试最大程度地减少重复的机会。
  3. 第三种方法,我认为更适合您的方案,是使用unix timestamp,它将为您提供 10 位唯一整数,该整数将以秒为单位递增。

也许,您可以使用 #3 并将其与 #2 加盐以最大程度地减少任何重复,以便uniqueness更具时间限制。

只需访问逻辑应用请求的数字运行标识符,该标识符无论如何对每个请求都是唯一的,并且可用于逻辑应用请求上下文。它是一个相当长的数字字符串(超过 10 位数字(。但是,由于它是数字,因此您可以重新编码并缩短它。

运行标识符通过以下方式访问:@workflow((['run']['name']

例如,如果运行标识符在压缩为 base 64 时08586676754160363885,则为 Y29tcHJlc3M=(这是 12 个字符(

如果您需要将其压缩为 10 个字符,您可以将其压缩为 72 基数或更多。

相关内容

  • 没有找到相关文章

最新更新