Exemplo: análise de logs da web (função W3C_LOG_PARSE) - Guia do desenvolvedor do Amazon Kinesis Data Analytics SQL para aplicativos

Após uma análise cuidadosa, decidimos descontinuar o Amazon Kinesis Data Analytics SQL para aplicativos em duas etapas:

1. A partir de 15 de outubro de 2025, você não poderá criar um novo Kinesis Data Analytics SQL para aplicativos.

2. Excluiremos seus aplicativos a partir de 27 de janeiro de 2026. Você não poderá iniciar ou operar seu Amazon Kinesis Data Analytics SQL para aplicativos. O suporte não estará mais disponível para o Amazon Kinesis Data Analytics SQL a partir desse momento. Para obter mais informações, consulte Descontinuação do Amazon Kinesis Data Analytics SQL para aplicativos.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplo: análise de logs da web (função W3C_LOG_PARSE)

Este exemplo usa a função W3C_LOG_PARSE para transformar uma string no Amazon Kinesis Data Analytics. Use W3C_LOG_PARSE para formatar rapidamente os logs do Apache. Para obter mais informações, consulte W3C_LOG_PARSE em Amazon Managed Service for Apache Flink SQL Reference.

Neste exemplo, você grava registros de log em um Amazon Kinesis Data Streams. Os logs de exemplo são mostrados a seguir:

{"Log":"192.168.254.30 - John [24/May/2004:22:01:02 -0700] "GET /icons/apache_pba.gif HTTP/1.1" 304 0"} {"Log":"192.168.254.30 - John [24/May/2004:22:01:03 -0700] "GET /icons/apache_pbb.gif HTTP/1.1" 304 0"} {"Log":"192.168.254.30 - John [24/May/2004:22:01:04 -0700] "GET /icons/apache_pbc.gif HTTP/1.1" 304 0"} ...

Em seguida, você criará um aplicativo Kinesis Data Analytics no console com o fluxo de dados Kinesis como origem de streaming. O processo de descoberta lê registros de exemplo na origem de streaming e infere um esquema de aplicativo com uma coluna (log), como mostrado a seguir:

Captura de tela do console mostrando a guia de amostra de fluxo formatado com o esquema no aplicativo que contém a coluna de log.

Em seguida, você usa o código do aplicativo com a função W3C_LOG_PARSE para analisar o log e cria outro stream no aplicativo com vários campos de log em colunas separadas, como mostrado a seguir:

Captura de tela do console mostrando a guia de análise em tempo real com o fluxo no aplicativo.

Etapa 1: Criar um fluxo de dados Kinesis

Crie um streaming de dados do Amazon Kinesis Data Streams e preencha registros de log da seguinte forma:

  1. Faça login no AWS Management Console e abra o console do Kinesis em https://console.aws.amazon.com/kinesis.

  2. Selecione Data Streams (Fluxos de dados) no painel de navegação.

  3. Escolha Create Kinesis stream (Criar fluxo do Kinesis) e crie um fluxo com um estilhaço. Para obter mais informações, consulte Criar um fluxo no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  4. Execute o seguinte código Python para preencher os registros de log de exemplo. Esse código simples grava continuamente o mesmo registro de log no fluxo.

    import json import boto3 STREAM_NAME = "ExampleInputStream" def get_data(): return { "log": "192.168.254.30 - John [24/May/2004:22:01:02 -0700] " '"GET /icons/apache_pb.gif HTTP/1.1" 304 0' } def generate(stream_name, kinesis_client): while True: data = get_data() print(data) kinesis_client.put_record( StreamName=stream_name, Data=json.dumps(data), PartitionKey="partitionkey" ) if __name__ == "__main__": generate(STREAM_NAME, boto3.client("kinesis"))

Etapa 2: Criar o aplicativo Kinesis Data Analytics

Crie um aplicativo de análise de dados do Kinesis Data Analytics, da seguinte maneira:

  1. Abra o Managed Service for Apache Flink console em https://console.aws.amazon.com/kinesisanalytics.

  2. Escolha Create application (Criar aplicativo), digite um nome para o aplicativo e selecione Create application (Criar aplicativo).

  3. Na página de detalhes do aplicativo, escolha Connect streaming data (Conectar dados de streaming).

  4. Na página Connect to source (Conectar com a fonte), faça o seguinte:

    1. Escolha o fluxo criado na seção anterior.

    2. Escolha a opção para criar uma função do IAM.

    3. Escolha Discover schema (Descobrir esquema). Aguarde o console mostrar o esquema inferido e os registros de exemplo usados para inferir o esquema do fluxo do aplicativo criado. O esquema inferido tem apenas uma coluna.

    4. Escolha Save and continue.

  5. Na página de detalhes de aplicativo, escolha Go to SQL editor (Ir para o editor de SQL). Para iniciar o aplicativo, escolha Yes, start application (Sim, iniciar o aplicativo) na caixa de diálogo exibida.

  6. No editor SQL, escreva o código do aplicativo e verifique os resultados da seguinte forma:

    1. Copie o código de aplicativo a seguir e cole-o no editor.

      CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ( column1 VARCHAR(16), column2 VARCHAR(16), column3 VARCHAR(16), column4 VARCHAR(16), column5 VARCHAR(16), column6 VARCHAR(16), column7 VARCHAR(16)); CREATE OR REPLACE PUMP "myPUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM l.r.COLUMN1, l.r.COLUMN2, l.r.COLUMN3, l.r.COLUMN4, l.r.COLUMN5, l.r.COLUMN6, l.r.COLUMN7 FROM (SELECT STREAM W3C_LOG_PARSE("log", 'COMMON') FROM "SOURCE_SQL_STREAM_001") AS l(r);
    2. Escolha Save and run SQL. Na guia Real-time analytics (Análise em tempo real), você pode ver todos os fluxos de aplicativo criados pelo aplicativo e verificar os dados.