Примеры использования Kusto (вложенные пользовательские функции) - PullRequest
0 голосов
/ 06 мая 2020

Не могли бы вы сообщить мне, можно ли в Kusto обрабатывать следующие варианты использования?

  1. Вложенные пользовательские запросы (Могу ли я вызвать одну функцию в другой функции)? Вот две функции
.create function  ifnotexists
with()
function1() {table1 | where column1 == abs}
.create function ifnotexists
with()
function2() {table2 | where column1 in (function1())}

Также Как добавить политику безопасности на уровне строк к вложенной функции - function2 ()? Как показано ниже, не работает

.alter table table2 policy row_level_security enable "function2"

2. добавить строку (Могу ли я создать новую таблицу и перенести схему). Если да, то можно ли предоставить пользователям доступ только к функциям, а не к базовым таблицам?

Примечание: я могу написать функцию, указывающую на новую таблицу с добавленной строкой

1 Ответ

1 голос
/ 06 мая 2020
  1. Внутри функции можно использовать другие функции. Ничего особенного - ваш пример должен работать.

  2. Перенос таблицы можно выполнить с помощью команды .set-or-append: https://docs.microsoft.com/en-us/azure/data-explorer/kusto/management/data-ingestion/ingest-from-query

  3. Невозможно предоставить пользователю доступ только к функциям. Некоторые сценарии ios ограничения пользователей могут быть решены с помощью Row-level-security: https://docs.microsoft.com/en-us/azure/data-explorer/kusto/management/rowlevelsecuritypolicy

  4. Некоторые сценарии ios «изменяющихся» строк может быть выполнено с помощью предложения «summarize arg_max (Time, *)», где Time - время обновления. https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/arg-max-aggfunction

...