В Azure Logic App, как создать уникальный идентификатор из 10 целых чисел - PullRequest
0 голосов
/ 10 мая 2018

В приложении Azure logic как создать 10-значный уникальный идентификатор для запроса. В настоящее время я использую функцию 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();
};

как это решить

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Вы можете просто получить доступ к числовому идентификатору прогона для запроса приложения логики, который в любом случае уникален для запроса и будет доступен для контекста запроса вашего приложения логики. Это довольно длинная числовая строка (длиннее 10 цифр). Однако, поскольку он числовой, вы можете перекодировать и сократить его.

Доступ к идентификатору прогона осуществляется через: @ workflow () ['run'] ['name']

например. если идентификатор запуска 08586676754160363885 при сжатии как base 64, это будет Y29tcHJlc3M = (это 12 символов)

Если вам нужно было сжать его до 10 символов, вы можете сжать его до основания 72 или более.

0 голосов
/ 13 мая 2018
  1. Правильным способом было бы использовать что-то вроде guid в соответствии с рекомендациями @Thomas, но похоже, что это должен быть отдельный разговор с вашими бэкэндами.
  2. Другой подходсостоит в том, чтобы определить какую-то формулу, используя rand() вместе с методами посола, чтобы действительно попытаться свести к минимуму вероятность дублирования.
  3. Третий подход, который, я думаю, лучше подходит для вашего сценария, заключается в использовании unix timestamp, который даст вам 10-значное уникальное целое число, которое будет увеличиваться в секундах.

Возможно,Вы можете использовать # 3 и засолить его # 2, чтобы минимизировать любое дублирование, чтобы uniqueness было более ограниченным по времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...