Visão geral dos comandos de gerenciamento
Este artigo descreve os comandos de gerenciamento, também conhecidos como comandos de controle, usados para gerenciar o Kusto. Os comandos de gerenciamento são solicitações ao serviço para recuperar informações que não são necessariamente dados nas tabelas de banco de dados ou modificar o estado do serviço etc.
Diferenciando comandos de gerenciamento de consultas
O Kusto usa três mecanismos para diferenciar consultas e comandos de gerenciamento: no nível da linguagem, no nível do protocolo e no nível da API. Isso é feito para fins de segurança.
No nível do idioma, o primeiro caractere do texto de uma solicitação determina se a solicitação é um comando de gerenciamento ou uma consulta. Os comandos de gerenciamento devem começar com o caractere ponto (.
) e nenhuma consulta pode começar por esse caractere.
No nível do protocolo, diferentes pontos de extremidade HTTP/HTTPS são usados para comandos de controle em oposição a consultas.
No nível da API, diferentes funções são usadas para enviar comandos de gerenciamento em vez de consultas.
Combinando consultas e comandos de gerenciamento
Os comandos de gerenciamento podem referenciar consultas (mas não vice-versa) ou outros comandos de gerenciamento. Há vários cenários compatíveis:
- AdminThenQuery: um comando de gerenciamento é executado e seu resultado (representado como uma tabela de dados temporária) serve como a entrada para uma consulta.
- AdminFromQuery: uma consulta ou um
.show
comando de administrador é executado e seu resultado (representado como uma tabela de dados temporária) serve como a entrada para um comando de gerenciamento.
Observe que, em todos os casos, a combinação inteira é tecnicamente um comando de gerenciamento, não uma consulta, portanto, o texto da solicitação deve começar com um caractere de ponto (.
) e a solicitação deve ser enviada para o ponto de extremidade de gerenciamento do serviço.
Observe também que as instruções de consulta aparecem dentro da parte de consulta do texto (elas não podem preceder o próprio comando).
Observação
Recomendamos limitar o uso de operações AdminThenQuery .
AdminThenQuery é indicado de uma das duas maneiras:
- Usando um caractere de pipe (
|
), a consulta trata, portanto, os resultados do comando de gerenciamento como se fosse qualquer outro operador de consulta de produção de dados. - Usando um caractere ponto e vírgula (
;
), que introduz os resultados do comando de gerenciamento em um símbolo especial chamado$command_results
, que pode ser usado na consulta várias vezes.
Por exemplo:
// 1. Using pipe: Count how many tables are in the database-in-scope:
.show tables
| count
// 2. Using semicolon: Count how many tables are in the database-in-scope:
.show tables;
$command_results
| count
// 3. Using semicolon, and including a let statement:
.show tables;
let useless=(n:string){strcat(n,'-','useless')};
$command_results | extend LastColumn=useless(TableName)
AdminFromQuery é indicado pela combinação do caractere <|
. Por exemplo, no exemplo a seguir, executamos primeiro uma consulta que produz uma tabela com uma única coluna (chamada str
do tipo string
) e uma única linha e a grava como o nome da tabela MyTable
no banco de dados no contexto:
.set MyTable <|
let text="Hello, World!";
print str=text
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de