Partilhar via


Guia de início rápido: crie um aplicativo de streaming e2e para análise de fluxo de cliques

A análise de dados de fluxo de cliques é uma maneira eficaz para as empresas otimizarem o tráfego do site e obterem informações sobre o comportamento do usuário. Este guia de início rápido descreve como você pode criar um aplicativo de streaming para analisar dados de clickstream do site.

O método descrito neste guia usa um script do PowerShell para implantar recursos do Azure com fluxos de dados de exemplo gerados automaticamente. Os dados gerados automaticamente permitem explorar vários cenários analíticos de fluxo e ajudam você a implantar recursos do Azure sem esforço.

Aqui estão os cenários típicos para processar e analisar o fluxo de cliques:

  • Filtrar solicitações de fluxo de cliques
  • Associar um fluxo de cliques com um arquivo

Pré-requisitos

Filtrar solicitações de fluxo de cliques

Neste exemplo, irá aprender a extrair pedidos de GET e POST de um clickstream de um site e armazenar os resultados em um Armazenamento de Blobs do Azure. Aqui está a arquitetura para este exemplo: Clickstream uma entrada

Exemplo de um clickstream de um site:

{
    "EventTime": "2022-09-09 08:58:59 UTC",
    "UserID": 465,
    "IP": "145.140.61.170",
    "Request": {
    "Method": "GET",
    "URI": "/index.html",
    "Protocol": "HTTP/1.1"
    },
    "Response": {
    "Code": 200,
    "Bytes": 42682
    },
    "Browser": "Chrome"
}

Usaremos os scripts disponíveis no repositório GitHub para implantar nossos recursos necessários:

  1. Abra o PowerShell no menu Iniciar, clone este repositório GitHub para seu diretório de trabalho.

    git clone https://github.com/Azure/azure-stream-analytics.git
    
  2. Vá para a pasta BuildApplications .

    cd .\azure-stream-analytics\BuildApplications\
    
  3. Entre no Azure e insira suas credenciais do Azure no navegador pop-up.

    Connect-AzAccount
    
  4. Substitua $subscriptionId por sua ID de assinatura do Azure e execute o seguinte comando para implantar recursos do Azure. Este processo pode levar alguns minutos para ser concluído.

    .\CreateJob.ps1 -job ClickStream-Filter -eventsPerMinute 11 -subscriptionid $subscriptionId
    
    • eventsPerMinute é a taxa de entrada para os dados gerados. Neste caso, a fonte de entrada gera 11 eventos por minuto.
    • Pode encontrar o seu ID de subscrição em Subscrições do portal > do Azure.
  5. Quando a implantação for concluída, ele abrirá seu navegador automaticamente e você poderá ver um grupo de recursos chamado ClickStream-Filter-rg-* no portal do Azure. O grupo de recursos contém os seguintes cinco recursos:

    Tipo de Recurso Nome Description
    Função do Azure Clickstream* Gerar dados de clickstream
    Hubs de Eventos Clickstream* Ingerir dados de clickstream para análise e consumo
    Trabalho do Stream Analytics Filtro de ClickStream Definir uma consulta para extrair GET solicitações da entrada do clickstream
    Armazenamento de Blobs Clickstream* Destino de saída para o trabalho ASA
    Plano do Serviço de Aplicações Clickstream* Uma necessidade para o Azure Function
  6. Parabéns! Você implementou uma aplicação de streaming para extrair solicitações do fluxo de cliques de um site.

  7. O trabalho ASA ClickStream-Filter usa a seguinte consulta para extrair solicitações HTTP do clickstream. Selecione Testar consulta no editor de consultas para visualizar os resultados de saída.

    SELECT System.Timestamp Systime, UserId, Request.Method, Response.Code, Browser
    INTO BlobOutput
    FROM ClickStream TIMESTAMP BY Timestamp
    WHERE Request.Method = 'GET' or Request.Method = 'POST'
    

    Consulta de teste

  8. Há códigos de exemplo nos comentários da consulta que podes usar para outros cenários analíticos de fluxo com uma entrada de fluxo.

    • Contar cliques em cada hora

      select System.Timestamp as Systime, count( * )
      FROM clickstream
      TIMESTAMP BY EventTime
      GROUP BY TumblingWindow(hour, 1)
      
    • Selecionar usuário distinto

      SELECT *
      FROM clickstream
      TIMESTAMP BY Time
      WHERE ISFIRST(hour, 1) OVER(PARTITION BY userId) = 1
      
  9. Todos os resultados de saída são armazenados como JSON arquivo no armazenamento de blog. Você pode encontrá-lo através de: Blob Storage > Containers > job-output. Blob Storage

Clickstream-RefJoin

Se tu quiseres descobrir o nome de utilizador para o fluxo de cliques utilizando um ficheiro de utilizador no armazenamento, podes associar o fluxo de cliques com uma entrada de referência como na seguinte arquitetura: Fluxo de cliques duas entradas

Suponha que você tenha concluído as etapas do exemplo anterior, execute os seguintes comandos para criar um novo grupo de recursos:

  1. Substitua $subscriptionId por sua ID de assinatura do Azure e execute o seguinte comando para implantar recursos do Azure. Este processo pode levar alguns minutos para ser concluído.

    .\CreateJob.ps1 -job ClickStream-RefJoin -eventsPerMinute 11 -subscriptionid $subscriptionId
    
  2. Quando a implantação for concluída, ele abrirá seu navegador automaticamente e você poderá ver um grupo de recursos chamado ClickStream-RefJoin-rg-* no portal do Azure. O grupo de recursos contém cinco recursos.

  3. O trabalho ASA ClickStream-RefJoin usa a seguinte consulta para unir o clickstream com a entrada sql de referência.

    CREATE TABLE UserInfo(
      UserId bigint,
      UserName nvarchar(max),
      Gender nvarchar(max)
    );
    SELECT System.Timestamp Systime, ClickStream.UserId, ClickStream.Response.Code, UserInfo.UserName, UserInfo.Gender
    INTO BlobOutput
    FROM ClickStream TIMESTAMP BY EventTime
    LEFT JOIN UserInfo ON ClickStream.UserId = UserInfo.UserId
    
  4. Parabéns! Você implantou um aplicativo de streaming para unir seu arquivo de usuário com um clickstream de site.

Limpeza de recursos

Se você já experimentou este projeto e não precisa mais do grupo de recursos, execute este comando no PowerShell para excluir o grupo de recursos.

Remove-AzResourceGroup -Name $resourceGroup

Se planeia usar este projeto no futuro, pode evitar excluí-lo e parar a tarefa por enquanto.

Próximos passos

Para saber mais sobre o Azure Stream Analytics, continue para os seguintes artigos: