Как я знаю, JOIN
не поддерживается в вашем сценарии. Ключ соединения должен быть указан c, не может быть значением регулярного выражения.
Таким образом, ссылочные данные здесь не подходят, потому что они должны использоваться в ASA * 1024 *, как показано ниже:
SELECT I1.EntryTime, I1.LicensePlate, I1.TollId, R.RegistrationId
FROM Input1 I1 TIMESTAMP BY EntryTime
JOIN Registration R
ON I1.LicensePlate = R.LicensePlate
WHERE R.Expired = '1'
Требуется ключ соединения. Я имею в виду, что ввод справочных данных не нужен даже здесь.
Ваша идея - использовать скрипт UDF и загружать данные в UDF для сравнения с данными регулярного выражения в жестком коде. Эту идею нелегко поддержать. Возможно, вы могли бы рассмотреть мой обходной путь:
1.Вы сказали, что у вас есть разные справочные данные, сгруппируйте их и сохраните как массив json. Назначьте один идентификатор группы для каждой группы. Например:
Идентификатор группы 1:
[
{
"REGEX":"115[1-2]{1}9",
"FRIENDLY_NAME":"Name 1"
},
{
"REGEX":"115[3-9]{1}9",
"FRIENDLY_NAME":"Name 2"
}
]
....
2.Добавить один столбец к идентификатору группы и установить Azure Функция как вывод вашего ASA * 1027 *. Внутри функции Azure примите столбец идентификатора группы и загрузите соответствующую группу массива json. Затем l oop строк, соответствующих регулярному выражению и сохранению данных в месте назначения.
Я думаю, Azure Функция более гибкая, чем UDF в задании ASA * 1032 *. Кроме того, это решение может быть проще в обслуживании.