Executar um comando de gerenciamento e processar os resultados
Em seu IDE ou editor de texto preferido, crie um projeto ou arquivo chamado comandos de gerenciamento usando a convenção apropriada para seu idioma preferido. Em seguida, adicione o seguinte código:
Crie um aplicativo cliente que conecte o cluster. Substitua o <your_cluster_uri> espaço reservado pelo nome do cluster.
Para comandos de gerenciamento, você usará o método de fábrica do CreateCslAdminProvider cliente.
using Kusto.Data;
using Kusto.Data.Net.Client;
namespace ManagementCommands {
class ManagementCommands {
static void Main(string[] args) {
var clusterUri = "<your_cluster_uri>";
var kcsb = new KustoConnectionStringBuilder(clusterUri)
.WithAadUserPromptAuthentication();
using (var kustoClient = KustoClientFactory.CreateCslAdminProvider(kcsb)) {
}
}
}
}
from azure.kusto.data import KustoClient, KustoConnectionStringBuilder
def main():
cluster_uri = "<your_cluster_uri>"
kcsb = KustoConnectionStringBuilder.with_interactive_login(cluster_uri)
with KustoClient(kcsb) as kusto_client:
if __name__ == "__main__":
main()
import { Client as KustoClient, KustoConnectionStringBuilder } from "azure-kusto-data/";
import { InteractiveBrowserCredentialInBrowserOptions } from "@azure/identity";
async function main() {
const clusterUri = "<your_cluster_uri>";
const authOptions = {
clientId: "5e39af3b-ba50-4255-b547-81abfb507c58",
redirectUri: "http://localhost:5173",
} as InteractiveBrowserCredentialInBrowserOptions;
const kcsb = KustoConnectionStringBuilder.withUserPrompt(clusterUri, authOptions);
const kustoClient = new KustoClient(kcsb);
}
main();
Observação
Para aplicativos Node.js, use InteractiveBrowserCredentialNodeOptions em vez de InteractiveBrowserCredentialInBrowserOptions.
Defina uma função que imprime o comando que está sendo executado e suas tabelas resultantes. Essa função descompacta os nomes de coluna nas tabelas de resultados e imprime cada par nome-valor em uma nova linha.
static void PrintResultsAsValueList(string command, IDataReader response) {
while (response.Read()) {
Console.WriteLine("\n{0}\n", new String('-', 20));
Console.WriteLine("Command: {0}", command);
Console.WriteLine("Result:");
for (int i = 0; i < response.FieldCount; i++) {
Console.WriteLine("\t{0} - {1}", response.GetName(i), response.IsDBNull(i) ? "None" : response.GetString(i));
}
}
}
def print_result_as_value_list(command, response):
# create a list of columns
cols = (col.column_name for col in response.primary_results[0].columns)
print("\n" + "-" * 20 + "\n")
print("Command: " + command)
# print the values for each row
for row in response.primary_results[0]:
print("Result:")
for col in cols:
print("\t", col, "-", row[col])
function printResultsAsValueList(command: string, response: KustoResponseDataSet) {
// create a list of columns
const cols = response.primaryResults[0].columns;
console.log("\n" + "-".repeat(20) + "\n")
console.log("Command: " + command)
// print the values for each row
for (const row of response.primaryResults[0].rows()) {
console.log("Result:")
for (col of cols)
console.log("\t", col.name, "-", row.getValueAt(col.ordinal) ? row.getValueAt(col.ordinal).toString() : "None")
}
}
Defina o comando a ser executado. O comando cria uma tabela chamada MyStormEvents e define o esquema da tabela como uma lista de nomes e tipos de coluna. Substitua o <your_database> espaço reservado pelo nome do banco de dados.
Alterar a política de envio em lote de ingestão no nível da tabela
Você pode personalizar o comportamento de envio em lote de ingestão para tabelas alterando a política de tabela correspondente. Para obter mais informações, consulte Política ingestionBatching.
Observação
Se você não especificar todos os parâmetros de um PolicyObject, os parâmetros não especificados serão definidos como valores padrão. Por exemplo, especificar apenas "MaximumBatchingTimeSpan" resultará na definição de "MaximumNumberOfItems" e "MaximumRawDataSizeMB" como padrão.
Por exemplo, você pode modificar o aplicativo para alterar o valor de tempo limite da política de envio em lote de ingestão para 30 segundos alterando a ingestionBatching política da MyStormEvents tabela usando o seguinte comando:
Mostrar a política de retenção no nível do banco de dados
Você pode usar comandos de gerenciamento para exibir a política de retenção de um banco de dados.
Por exemplo, você pode modificar o aplicativo para exibir a política de retenção do banco de dados usando o código a seguir. O resultado é coletado para projetar duas colunas do resultado:
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, consulte https://aka.ms/ContentUserFeedback.