Criar uma conexão de dados da Grade de Eventos para o Azure Data Explorer

Neste artigo, você aprende a incluir blobs de sua conta de armazenamento no Azure Data Explorer usando uma conexão de dados de grade de eventos. Você criará uma conexão de dados de grade de eventos que define uma assinatura da Grade de Eventos do Azure. A assinatura da Grade de Eventos roteia eventos de sua conta de armazenamento para o Azure Data Explorer por meio dos Hubs de Eventos do Azure.

Observação

A ingestão dá suporte para um tamanho do arquivo máximo de 6 GB. A recomendação é ingerir arquivos entre 100 MB e 1 GB.

Para saber como criar a conexão usando os SDKs do Kusto, confira Criar uma conexão de dados da Grade de Eventos com SDKs.

Para obter informações gerais sobre a ingestão no Azure Data Explorer da Grade de Eventos, confira Conectar-se à Grade de Eventos.

Observação

Para obter o melhor desempenho com a conexão da Grade de Eventos, defina a rawSizeBytes propriedade de ingestão por meio dos metadados de blob. Para obter mais informações, consulte propriedades de ingestão.

Pré-requisitos

Criar uma conexão de dados da Grade de Eventos

Nesta seção, você estabelecerá uma conexão entre a Grade de Eventos e a tabela de Data Explorer do Azure.

  1. Navegue até o cluster de Data Explorer do Azure no portal do Azure.

  2. Em Dados, selecione Bancos> de DadosTestDatabase.

    Captura de tela da seção do banco de dados do cluster mostrando uma lista de bancos de dados que ele contém.

  3. Em Configurações, selecione Conexões de dados e, em seguida, selecione Adicionar grade de eventos de conexão> de dados(armazenamento de blobs).

    Captura de tela da página de conexões de dados. A opção para adicionar uma conexão de dados está realçada.

  4. Preencha o formulário de conexão de dados da Grade de Eventos com as seguintes informações:

    Captura de tela do painel Grade de Eventos mostrando os detalhes da conexão de dados.

    Configuração Valor sugerido Descrição do campo
    Nome da conexão de dados test-grid-connection O nome da conexão que você deseja criar no Azure Data Explorer. Os nomes de conexão de dados podem conter apenas caracteres alfanuméricos, traços e pontos e ter até 40 caracteres de comprimento.
    Assinatura da conta de armazenamento Sua ID de assinatura A ID da assinatura em que sua conta de armazenamento está.
    Tipo de evento Blob criado ou blob renomeado O tipo de evento que aciona a ingestão. Há suporte para renomear blobs somente no armazenamento de ADLSv2. Para renomear um blob, navegue até o blob em portal do Azure, clique com o botão direito do mouse no blob e selecione Renomear. Os eventos com suporte são: Microsoft.Storage.BlobCreated ou Microsoft.Storage.BlobRenamed.
    Conta de armazenamento gridteststorage1 O nome da conta de armazenamento que você criou anteriormente.
    Criação de recursos Automática Ativar a criação automática de recursos significa que o Azure Data Explorer cria uma Assinatura da Grade de Eventos, um namespace dos Hubs de Eventos e um Hubs de Eventos para você. Caso contrário, você precisará criar esses recursos manualmente para garantir a criação da conexão de dados. Confira Criar recursos manualmente para ingestão da Grade de Eventos
    1. Opcionalmente, você pode acompanhar assuntos específicos da Grade de Eventos. Defina os filtros das notificações da seguinte maneira:

      • O campo Prefixo é o prefixo literal do assunto. Como o padrão aplicado começa com, ele pode abranger vários contêineres, pastas ou blobs. Não são permitidos curingas.
        • Para definir um filtro no contêiner de blob, o campo precisa ser definido da seguinte maneira: .
        • Para especificar um filtro em um prefixo de blob (ou uma pasta no Azure Data Lake Gen2), o campo precisa ser definido da seguinte maneira: .
      • O campo Sufixo é o sufixo literal do blob. Não são permitidos curingas.
      • O campo diferenciar maiúsculas de minúsculas indica se os filtros de prefixo e sufixo diferenciam maiúsculas de minúsculas.

      Para obter mais informações sobre como filtrar eventos, consulte Eventos de armazenamento de blobs.

    2. Opcionalmente, você pode especificar as configurações de roteamento de dados de acordo com as informações a seguir. Você não precisa especificar todas as Configurações de roteamento de dados. Configurações parciais também são aceitas.

      Configuração Valor sugerido Descrição do campo
      Permitir o roteamento dos dados para outros bancos de dados (conexão de dados de vários bancos de dados) Não permitir Alterne essa opção se você quiser substituir o banco de dados de destino padrão associado à conexão de dados. Para obter mais informações sobre o roteamento do banco de dados, confira Roteamento de eventos.
      Nome da tabela TestTable A tabela criada na TestDatabase.
      Formato de dados JSON Os formatos com suporte são APACHEAVRO, Avro, CSV, JSON, ORC, PARQUET, PSV, RAW, SCSV, SOHSV, TSV, TSVE, TXT e W3CLOG. As opções de compactação com suporte são Zip e GZip.
      Nome do mapeamento TestTable_mapping O mapeamento que você criou em TestDatabase, que mapeia os dados de entrada para os tipos de dados e nomes de coluna de TestTable. Se não for especificado, um mapeamento de dados de identidade derivado do esquema da tabela será gerado automaticamente.
      Ignorar erros de formato Ignorar Alterne essa opção se você quiser ignorar erros de formato para o formato de dados JSON.

      Observação

      Nomes de tabela e mapeamento diferenciam maiúsculas de minúsculas.

    3. Opcionalmente, em Configurações avançadas, você pode especificar o tipo de identidade gerenciada que é usado pela conexão de dados. Por padrão, Atribuído pelo sistema está selecionado.

      Se você selecionar Atribuído pelo usuário, precisará atribuir manualmente uma identidade gerenciada. Se você selecionar um usuário que ainda não esteja atribuído ao cluster, ele será atribuído automaticamente. Para obter mais informações, consulte Configurar identidades gerenciadas para o cluster Data Explorer do Azure.

      Se você selecionar Nenhum, a conta de armazenamento e o Hub de Eventos serão autenticados por meio de cadeias de conexão. Esse método não é recomendado.

      Captura de tela da seção de configurações avançadas mostrando os tipos de identidade gerenciada que podem ser usados para a conexão de dados.

  5. Escolha Criar

Usar a conexão de dados da Grade de Eventos

Esta seção mostra como disparar a ingestão do Armazenamento de Blobs do Azure ou do Azure Data Lake Gen 2 para o cluster após a criação de blobs ou a renomeação de blob.

Selecione a guia relevante com base no tipo de SDK de armazenamento usado para carregar blobs.

O exemplo de código a seguir usa o SDK do Armazenamento de Blobs do Azure para carregar um arquivo para Armazenamento de Blobs do Azure. O upload dispara a conexão de dados da Grade de Eventos, que ingere os dados no Azure Data Explorer.

var azureStorageAccountConnectionString = <storage_account_connection_string>;
var containerName = <container_name>;
var blobName = <blob_name>;
var localFileName = <file_to_upload>;
var uncompressedSizeInBytes = <uncompressed_size_in_bytes>;
var mapping = <mapping_reference>;
// Create a new container if it not already exists.
var azureStorageAccount = new BlobServiceClient(azureStorageAccountConnectionString);
var container = azureStorageAccount.GetBlobContainerClient(containerName);
container.CreateIfNotExists();
// Define blob metadata and uploading options.
IDictionary<String, String> metadata = new Dictionary<string, string>();
metadata.Add("rawSizeBytes", uncompressedSizeInBytes);
metadata.Add("kustoIngestionMappingReference", mapping);
var uploadOptions = new BlobUploadOptions
{
    Metadata = metadata,
};
// Upload the file.
var blob = container.GetBlobClient(blobName);
blob.Upload(localFileName, uploadOptions);

Observação

O Azure Data Explorer não excluirá os blobs após a ingestão. Mantenha os blobs por três a cinco dias usando o ciclo de vida do Armazenamento de Blobs do Azure para gerenciar a exclusão de blobs.

Observação

Não há suporte para disparar a ingestão após uma CopyBlob operação para contas de armazenamento que têm o recurso de namespace hierárquico habilitado.

Remover uma conexão de dados da Grade de Eventos

Para remover a conexão da Grade de Eventos do portal do Azure, execute as seguintes etapas:

  1. Vá para o cluster. No menu à esquerda, selecione Bancos de dados. Em seguida, selecione o banco de dados que contém a tabela de destino.
  2. No menu à esquerda, selecione Conexões de dados. Em seguida, marque a caixa de seleção ao lado da conexão de dados relevante da Grade de Eventos.
  3. Na barra de menus superior, selecione Excluir.