Partilhar via


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

Neste artigo, aprende-se a importar blobs da sua conta de armazenamento para o Azure Data Explorer usando uma ligação de dados do Event Grid. Você criará uma conexão de dados da Grade de Eventos que define uma assinatura da Grade de Eventos do Azure. A subscrição da Grelha de Eventos encaminha eventos da sua conta de armazenamento para o Azure Data Explorer através de Hubs de Eventos do Azure.

Observação

A ingestão suporta um tamanho máximo de ficheiro 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, consulte Criar uma conexão de dados de grade de eventos com SDKs.

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

Observação

Para obter o melhor desempenho com a conexão do Event Grid, defina a rawSizeBytes propriedade de ingestão 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ê estabelece 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 Bancos de Dados>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, em seguida, selecione Adicionar conexão de dados>do Evento Grid (armazenamento de Blob).

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

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

    Captura de ecrã do painel Grelha de Eventos a mostrar os detalhes da ligação de dados.

    Configuração Valor sugerido Descrição do campo
    Nome da conexão de dados ensaio-ligação à rede 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.
    Subscrição da conta de armazenamento ID da sua subscrição O ID de subscrição onde se encontra a sua conta de armazenamento.
    Tipo de evento Blob criado ou Blob renomeado O tipo de evento que desencadeia a ingestão. O Blob renomeado é suportado apenas para armazenamento ADLSv2. Para renomear um blob, navegue até o blob no portal do Azure, clique com o botão direito do mouse no blob e selecione Renomear. Os tipos suportados 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 do Event Grid, um namespace do Event Hubs e um Event Hub para si. Caso contrário, você precisa criar esses recursos manualmente para garantir a criação da conexão de dados. Consulte Criar recursos manualmente para ingestão do Event Grid
    1. Opcionalmente, você pode acompanhar assuntos específicos da Grade de Eventos. Defina os filtros para as notificações da seguinte forma:

      • Campo de prefixo é o prefixo literal do sujeito. Como o padrão aplicado é começa com, ele pode abranger múltiplos contentores, pastas ou blobs. Não são permitidos curingas.
        • Para definir um filtro no contêiner de blob, o campo deve ser definido da seguinte forma: /blobServices/default/containers/[container prefix].
        • Para definir um filtro em um prefixo de blob (ou uma pasta no Azure Data Lake Gen2), o campo deve ser definido da seguinte maneira: /blobServices/default/containers/[container name]/blobs/[folder/blob prefix].
      • Campo de sufixo é o sufixo literal do blob. Não são permitidos curingas.
      • O campo sensível a maiúsculas e minúsculas indica se os filtros de prefixo e sufixo são sensíveis a maiúsculas e minúsculas.

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

    2. Opcionalmente, você pode especificar as configurações de roteamento de dados de acordo com as informações a seguir. Não é necessário 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 encaminhamento dos dados para outros bancos de dados (conexão de dados com vários bancos de dados) Não permitir Ative essa opção se quiser substituir o banco de dados de destino padrão associado à conexão de dados. Para obter mais informações sobre roteamento de banco de dados, consulte Roteamento de eventos.
      Nome da tabela TestTable A tabela que criou em TestDatabase.
      Formato dos dados JSON Os formatos suportados são APACHEAVRO, Avro, CSV, JSON, ORC, PARQUET, PSV, RAW, SCSV, SOHSV, TSV, TSVE, TXT e W3CLOG. As opções de compressão suportadas são zip e gzip.
      Nome do mapeamento TestTable_mapping O mapeamento que criaste em TestDatabase, que atribui dados de entrada aos nomes de coluna e tipos de dados 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 Ative esta opção se quiser ignorar erros de formato para o formato de dados JSON.

      Observação

      Os nomes de tabelas e mapeamentos são sensíveis a maiúsculas e minúsculas.

    3. Opcionalmente, em Configurações avançadas, você pode especificar o tipo de identidade gerenciada usado pela conexão de dados. Por padrão, System-assigned é 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 está atribuído ao cluster, ele será atribuído automaticamente. Para obter mais informações, consulte Configurar identidades gerenciadas para seu cluster do Azure Data Explorer.

      Se você selecionar Nenhum, a conta de armazenamento e o Hub de Eventos serão autenticados por meio de cadeias de conexão. Este 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. Selecione Criar

Usar a conexão de dados do Event Grid

Esta seção mostra como desencadear 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 de um blob ou a alteração do seu nome.

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 de Armazenamento de Blob do Azure para carregar um arquivo no Armazenamento de Blobs do Azure. O carregamento aciona 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. Retenha os blobs por três a cinco dias usando o ciclo de vida do armazenamento de Blob do Azure para gerenciar a exclusão de blobs.

Observação

Não há suporte para acionar a ingestão após uma CopyBlob operação para contas de armazenamento que tenham o recurso de namespace hierárquico habilitado nelas.

Importante

Desencorajamos muito a geração de Eventos de Armazenamento a partir de código personalizado e o envio para Hubs de Eventos. Se você optar por fazer isso, certifique-se de que os eventos produzidos sigam estritamente 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 de Grade de Eventos do portal do Azure, execute as seguintes etapas:

  1. Vá para o seu 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 ligação de dados relevante do Event Grid.
  3. Na barra de menu superior, selecione Excluir.