Share via


Utilizar Azure Data Factory atividade de comandos para executar comandos de gestão de Data Explorer do Azure

Azure Data Factory (ADF) é um serviço de integração de dados baseado na cloud que lhe permite realizar uma combinação de atividades nos dados. Utilize o ADF para criar fluxos de trabalho baseados em dados para orquestrar e automatizar o movimento de dados e a transformação de dados. A atividade do Comando Data Explorer do Azure no Azure Data Factory permite-lhe executar comandos de gestão de Data Explorer do Azure num fluxo de trabalho do ADF. Este artigo ensina-o a criar um pipeline com uma atividade de pesquisa e a atividade ForEach que contém uma atividade de comando do Azure Data Explorer.

Pré-requisitos

Criar um novo pipeline

  1. Selecione a ferramenta de lápis Autor .

  2. Crie um novo pipeline ao selecionar + e, em seguida, selecione Pipeline no menu pendente.

    criar novo pipeline.

Criar uma atividade de Pesquisa

Uma atividade de pesquisa pode obter um conjunto de dados de quaisquer origens de dados suportadas Azure Data Factory. O resultado da atividade de Pesquisa pode ser utilizado numa atividade ForEach ou outra.

  1. No painel Atividades , em Geral, selecione a atividade Pesquisa . Arraste e largue-a na tela principal à direita.

    selecione atividade de pesquisa.

  2. A tela contém agora a atividade pesquisa que criou. Utilize os separadores abaixo da tela para alterar quaisquer parâmetros relevantes. Em Geral, mude o nome da atividade.

    editar atividade de pesquisa.

    Dica

    Clique na área de tela vazia para ver as propriedades do pipeline. Utilize o separador Geral para mudar o nome do pipeline. O nosso pipeline tem o nome pipeline-4-docs.

Criar um conjunto de dados do Azure Data Explorer na atividade de pesquisa

  1. Em Definições, selecione o conjunto de dados do Azure Data Explorer Origem pré-criado ou selecione + Novo para criar um novo conjunto de dados.

    adicionar conjunto de dados nas definições de pesquisa.

  2. Selecione o conjunto de dados do Azure Data Explorer (Kusto) na janela Novo Conjunto de Dados. Selecione Continuar para adicionar o novo conjunto de dados.

    selecione novo conjunto de dados.

  3. Os novos parâmetros do conjunto de dados do Azure Data Explorer estão visíveis nas Definições. Para atualizar os parâmetros, selecione Editar.

    definições de pesquisa com o conjunto de dados do Azure Data Explorer.

  4. O novo separador AzureDataExplorerTable é aberto na tela principal.

    • Selecione Geral e edite o nome do conjunto de dados.
    • Selecione Ligação para editar as propriedades do conjunto de dados.
    • Selecione o serviço Ligado no menu pendente ou selecione + Novo para criar um novo serviço ligado.

    Edite as propriedades do conjunto de dados do Azure Data Explorer.

  5. Ao criar um novo serviço ligado, é aberta a página Novo Serviço Ligado (Azure Data Explorer):

    O Azure Data Explorer novo serviço ligado.

    • Selecione Nome para o serviço ligado do Azure Data Explorer. Adicione Descrição , se necessário.
    • Em Ligar através do runtime de integração, altere as definições atuais, se necessário.
    • No Método de seleção de conta, selecione o cluster com um de dois métodos:
      • Selecione o botão de opção Da subscrição do Azure e selecione a sua conta de subscrição do Azure . Em seguida, selecione o Cluster. Tenha em atenção que o menu pendente listará apenas os clusters que pertencem ao utilizador.
      • Em vez disso, selecione Introduzir manualmente o botão de opção e introduza o ponto final (URL do cluster).
    • Especifique o Inquilino.
    • Introduza ID do principal de serviço. Este valor pode ser encontrado no portal do Azure em ID da Aplicação de DescriçãoGeral> de Registos de Aplicações >(cliente). O principal tem de ter as permissões adequadas, de acordo com o nível de permissão exigido pelo comando que está a ser utilizado.
    • Selecione o botão Chave principal de serviço e introduza Chave principal de serviço.
    • Selecione a base de dados no menu pendente. Em alternativa, selecione Editar caixa de verificação e introduza o nome da base de dados.
    • Selecione Testar Ligação para testar a ligação de serviço ligado que criou. Se conseguir ligar à configuração, será apresentada uma marca de verificação verde Ligação com êxito .
    • Selecione Concluir para concluir a criação do serviço ligado.
  6. Depois de configurar um serviço ligado, em Ligação AzureDataExplorerTable>, adicione o nome da tabela. Selecione Pré-visualizar dados para se certificar de que os dados são apresentados corretamente.

    O conjunto de dados já está pronto e pode continuar a editar o pipeline.

Adicionar uma consulta à sua atividade de pesquisa

  1. Em pipeline-4-docs>, as definições adicionam uma consulta na caixa de texto Consulta , por exemplo:

    ClusterQueries
    | where Database !in ("KustoMonitoringPersistentDatabase", "$systemdb")
    | summarize count() by Database
    
  2. Altere as propriedades Tempo limite da Consulta ou Sem truncagem e Apenas primeira linha , conforme necessário. Neste fluxo, mantemos o tempo limite predefinido da Consulta e desmarcamos as caixas de verificação.

    Definições finais da atividade de pesquisa.

Criar uma atividade de For-Each

A atividade For-Each é utilizada para iterar sobre uma coleção e executar atividades especificadas num ciclo.

  1. Agora, adicione uma atividade For-Each ao pipeline. Esta atividade processará os dados devolvidos da atividade de Pesquisa.

    • No painel Atividades , em Iteração & Condicionais, selecione a atividade ForEach e arraste-a e largue-a na tela.

    • Desenhe uma linha entre a saída da atividade de Pesquisa e a entrada da atividade ForEach na tela para as ligar.

      Atividade ForEach.

  2. Selecione a atividade ForEach na tela. No separador Definições abaixo:

    • Verifique a caixa de verificação Sequencial para obter um processamento sequencial dos resultados da Pesquisa ou deixe-a desmarcada para criar um processamento paralelo.

    • Defina Contagem de lotes.

    • Em Itens, forneça a seguinte referência ao valor de saída: @activity('Lookup1').output.value

      Definições de atividade forEach.

Criar uma atividade do Comando Data Explorer do Azure na atividade ForEach

  1. Faça duplo clique na atividade ForEach na tela para abri-la numa nova tela para especificar as atividades no ForEach.

  2. No painel Atividades, em Data Explorer do Azure, selecione a atividade comando do Azure Data Explorer e arraste-a e largue-a na tela.

    Atividade de comandos do Azure Data Explorer.

  3. No separador Ligação , selecione o mesmo Serviço Ligado criado anteriormente.

    separador ligação da atividade de comandos do azure Data Explorer.

  4. No separador Comando , forneça o seguinte comando:

    .export
    async compressed
    into csv h"http://<storageName>.blob.core.windows.net/data/ClusterQueries;<storageKey>" with (
    sizeLimit=100000,
    namePrefix=export
    )
    <| ClusterQueries | where Database == "@{item().Database}"
    

    O Comando instrui o Azure Data Explorer a exportar os resultados de uma determinada consulta para um armazenamento de blobs, num formato comprimido. É executado de forma assíncrona (utilizando o modificador assíncrono). A consulta aborda a coluna da base de dados de cada linha no resultado da atividade pesquisa. O tempo limite do Comando pode ficar inalterado.

    atividade de comandos.

    Nota

    A atividade de comandos tem os seguintes limites:

    • Limite de tamanho: tamanho de resposta de 1 MB
    • Limite de tempo: 20 minutos (predefinição), 1 hora (máximo).
    • Se necessário, pode acrescentar uma consulta ao resultado com AdminThenQuery, para reduzir o tamanho/tempo resultante.
  5. Agora o pipeline está pronto. Pode voltar à vista de pipeline principal ao clicar no nome do pipeline.

    Pipeline de comandos do Azure Data Explorer.

  6. Selecione Depurar antes de publicar o pipeline. O progresso do pipeline pode ser monitorizado no separador Saída .

    saída da atividade de comandos do azure Data Explorer.

  7. Pode Publicar Tudo e, em seguida, Adicionar acionador para executar o pipeline.

Saídas do comando de gestão

A estrutura da saída da atividade de comandos é detalhada abaixo. Este resultado pode ser utilizado pela próxima atividade no pipeline.

Valor devolvido de um comando de gestão não assíncrono

Num comando de gestão não assíncrona, a estrutura do valor devolvido é semelhante à estrutura do resultado da atividade lookup. O count campo indica o número de registos devolvidos. Um campo value de matriz fixo contém uma lista de registos.

{ 
    "count": "2", 
    "value": [ 
        { 
            "ExtentId": "1b9977fe-e6cf-4cda-84f3-4a7c61f28ecd", 
            "ExtentSize": 1214.0, 
            "CompressedSize": 520.0 
        }, 
        { 
            "ExtentId": "b897f5a3-62b0-441d-95ca-bf7a88952974", 
            "ExtentSize": 1114.0, 
            "CompressedSize": 504.0 
        } 
    ] 
} 

Valor devolvido de um comando de gestão assíncrona

Num comando de gestão assíncrona, a atividade consulta a tabela de operações em segundo plano até que a operação assíncrona seja concluída ou exceda o tempo limite. Por conseguinte, o valor devolvido conterá o resultado dessa .show operations OperationId propriedade OperationId . Verifique os valores das propriedades Estado e Estado para verificar a conclusão bem-sucedida da operação.

{ 
    "count": "1", 
    "value": [ 
        { 
            "OperationId": "910deeae-dd79-44a4-a3a2-087a90d4bb42", 
            "Operation": "TableSetOrAppend", 
            "NodeId": "", 
            "StartedOn": "2019-06-23T10:12:44.0371419Z", 
            "LastUpdatedOn": "2019-06-23T10:12:46.7871468Z", 
            "Duration": "00:00:02.7500049", 
            "State": "Completed", 
            "Status": "", 
            "RootActivityId": "f7c5aaaf-197b-4593-8ba0-e864c94c3c6f", 
            "ShouldRetry": false, 
            "Database": "MyDatabase", 
            "Principal": "<some principal id>", 
            "User": "<some User id>" 
        } 
    ] 
}