Compartilhar via


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 aprender a criar a conexão usando os SDKs do Kusto, consulte Criar uma conexão de dados do Grade de Eventos do Azure 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 propriedade de ingestão rawSizeBytes por meio dos metadados do 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 sua tabela do Azure Data Explorer.

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

  2. Em Dados, selecione Databases>TestDatabase.

    Captura de tela da seção de 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 então selecione Adicionar conexão de dados>Grade de Eventos do Azure (armazenamento de blobs).

    Captura de tela da página Conexões de dados. A opção para adicionar uma conexão de dados é destacada.

  4. Preencha o formulário de conexão de dados do Grade de Eventos do Azure com as informações a seguir:

    Captura de tela do painel Grade de Eventos do Azure 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 somente caracteres alfanuméricos, traço e ponto e conter até 40 caracteres.
    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. Blob renomeado tem suporte somente para armazenamento ADLSv2. Para renomear um blob, acesse-o no portal do Azure, clique com o botão direito do mouse nele 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ático Ativar a criação automática de recursos significa que o Azure Data Explorer cria uma Assinatura de Grade de Eventos, um namespace de 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. Consulte Criar recursos manualmente para ingestão da Grade de Eventos
    1. Como alternativa, é possível rastrear assuntos específicos da Grade de Eventos do Azure. 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, abranger vários contêineres, pastas ou blobs. Não são permitidos caracteres curinga.
        • Para definir um filtro no contêiner de blob, o campo precisa ser definido da seguinte maneira: /blobServices/default/containers/[container prefix].
        • 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: /blobServices/default/containers/[container name]/blobs/[folder/blob prefix].
      • O campo Sufixo é o sufixo literal do blob. Não são permitidos caracteres curinga.
      • 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 eventos de filtragem, consulte Eventos de armazenamento de blobs.

    2. Como alternativa, é possível 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 Ative essa opção caso você queira 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 os erros de formato Ignorar Ative esta opção se quiser ignorar erros de formato de dados JSON.

      Observação

      Os nomes de tabela e mapeamento diferenciam maiúsculas de minúsculas.

    3. Como alternativa, em Configurações avançadas, é possível especificar o Tipo de identidade gerenciada que é usado pela sua conexão de dados. Por padrão, Atribuído pelo sistema é selecionado.

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

      Caso você selecione Nenhum, a conta de armazenamento e o Hub de Eventos serão autenticados por meio de cadeias de caracteres 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 seu cluster após a criação ou renomeação de blob.

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

O exemplo de código a seguir usa o Armazenamento de Blobs do Azure do SDK para carregar um arquivo no 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 o disparo da ingestão após uma operação CopyBlob em contas de armazenamento que têm o recurso de namespace hierárquico habilitado.

Importante

Recomendamos fortemente que você não gere eventos de armazenamento a partir de código personalizado e enviá-los aos Hubs de Eventos do Azure. Se você optar por gerar, certifique-se de que os eventos produzidos sigam rigorosamente o esquema de eventos de armazenamento apropriado e as especificações de formato JSON.

Remover uma conexão de dados da Grade de Eventos

Para remover a conexão da Grade de Eventos do portal do Azure, siga essas etapas:

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