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

问题描述 投票:0回答:2

在azure逻辑应用程序中,每个请求如何创建10位唯一ID。当前,我正在使用功能Javascript,但是它正在创建重复项。

JAVAscript功能是:

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();
};

解决方法

azure azure-functions azure-logic-apps uniqueidentifier
2个回答
1
投票
  1. 正确的方法是使用@Thomas建议的类似guid之类的方法,但听起来好像必须与您的后端人员进行一次单独的交谈。
  2. [另一种方法是使用rand()定义某种公式以及盐析方法来真正尝试将重复的机会降到最低。
  3. 我认为适合您的情况的第三种方法是使用unix timestamp,它将为您提供10位唯一的整数,该整数将在几秒钟内递增。

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


0
投票

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

运行标识符可通过以下方式访问:@@ workflow()['运行'] ['名称']

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

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

© www.soinside.com 2019 - 2024. All rights reserved.