Partilhar via


table()

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

A função table() faz referência a uma tabela fornecendo seu nome como uma expressão do tipo string.

Sintaxe

table(Nome da tabela [,DataScope])

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
TableName string ✔️ O nome da tabela que está sendo referenciada. O valor dessa expressão deve ser constante no ponto de chamada para a função, o que significa que ela não pode variar de acordo com o contexto de dados.
Escopo de dados string Usado para restringir a referência da tabela aos dados de acordo com a forma como esses dados se enquadram na política de cache efetiva da tabela. Se usado, o argumento real deve ser um dos valores de escopo de dados válidos.

Valores de escopo de dados válidos

Valor Descrição
hotcache Somente os dados categorizados como cache quente serão referenciados.
all Todos os dados da tabela serão referenciados.
default O padrão é all, exceto se tiver sido definido pelo hotcache administrador do cluster.

Devoluções

table(T) retorna:

  • Dados da tabela T se existir uma tabela chamada T .
  • Dados retornados pela função T se uma tabela chamada T não existir, mas uma função chamada T existir. A função T não deve receber argumentos e deve retornar um resultado tabular.
  • Um erro semântico será gerado se não houver nenhuma tabela chamada T e nenhuma função chamada T.

Exemplos

Use table() para acessar a tabela do banco de dados atual

table('StormEvents') | count

Saída

Count
59066

Use table() dentro de instruções let

A consulta acima pode ser reescrita como uma função definida por consulta (instrução let) que recebe um parâmetro tableName - que é passado para a função table().

let foo = (tableName:string)
{
    table(tableName) | count
};
foo('StormEvents')

Saída

Count
59066

Use table() dentro de funções

A mesma consulta acima pode ser reescrita para ser usada em uma função que recebe um parâmetro tableName - que é passado para a função table().

.create function foo(tableName:string)
{
    table(tableName) | count
};

Observação

Essas funções podem ser usadas apenas localmente e não na consulta entre clusters.

Use table() com parâmetro não constante

Um parâmetro, que não é uma cadeia de caracteres de constante escalar, não pode ser passado como um parâmetro para a table() função.

Abaixo, um exemplo de solução alternativa para esse caso.

let T1 = print x=1;
let T2 = print x=2;
let _choose = (_selector:string)
{
    union
    (T1 | where _selector == 'T1'),
    (T2 | where _selector == 'T2')
};
_choose('T2')

Saída

x
2