在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();
};
解决方法
guid
之类的方法,但听起来好像必须与您的后端人员进行一次单独的交谈。rand()
定义某种公式以及盐析方法来真正尝试将重复的机会降到最低。 unix timestamp
,它将为您提供10位唯一的整数,该整数将在几秒钟内递增。[也许,您可以使用#3并将其与#2加盐以最大程度地减少重复,以使uniqueness
更有时间限制。
您仅可以访问逻辑应用程序请求的数字运行标识符,无论如何,该标识符对于每个请求都是唯一的,并且可用于您的逻辑应用程序请求上下文。它是一个相当长的数字字符串(大于10个数字)。但是,由于它是数字,因此您可以重新编码并缩短它。
运行标识符可通过以下方式访问:@@ workflow()['运行'] ['名称']
例如如果将运行标识符压缩为base 64时的运行标识符为08586676754160363885,则它将为Y29tcHJlc3M =(这是12个字符)
如果需要将其压缩为10个字符,则可以将其压缩为以72为基数或更多。