Exemplo: adição de dados de referência a um aplicativo do Kinesis Data Analytics - Guia do Desenvolvedor de Amazon Kinesis Data Analytics para aplicativos SQL

Após uma análise cuidadosa, decidimos descontinuar as aplicações do Amazon Kinesis Data Analytics para SQL em duas etapas:

1. A partir de 15 de outubro de 2025, você não poderá mais criar aplicações do Kinesis Data Analytics para SQL.

2. Excluiremos as aplicações a partir de 27 de janeiro de 2026. Você não poderá mais iniciar nem operar as aplicações do Amazon Kinesis Data Analytics para SQL. A partir dessa data, não haverá mais suporte ao Amazon Kinesis Data Analytics para SQL. Para ter mais informações, consulte Descontinuação de aplicações do Amazon Kinesis Data Analytics para SQL.

Exemplo: adição de dados de referência a um aplicativo do Kinesis Data Analytics

Neste exercício, você adicionará dados de referência a um aplicativo existente de análise se dados do Kinesis Data Analytics. Para obter informações sobre os dados de referência, consulte os seguintes tópicos:

Neste exercício, adicione dados de referência ao aplicativo criado no exercício Conceitos básicos do Kinesis Data Analytics. Os dados de referência fornecem o nome da empresa para cada símbolo de índice. Por exemplo:

Ticker, Company AMZN,Amazon ASD, SomeCompanyA MMB, SomeCompanyB WAS, SomeCompanyC

Primeiro, conclua as etapas do exercício Conceitos básicos para criar um aplicativo inicial. Em seguida, siga estas etapas para configurar e adicionar dados de referência ao aplicativo:

  1. Preparar os dados

    • Armazene os dados de referência anteriores como um objeto no Amazon Simple Storage Service (Amazon S3).

    • Crie um perfil do IAM, que o Kinesis Data Analytics pode assumir para ler o objeto do Amazon S3 em seu nome.

  2. Adicione a fonte de dados de referência ao aplicativo.

    O Kinesis Data Analytics lê o objeto do Amazon S3 e cria uma tabela de referência de aplicativo que você pode consultar no código do aplicativo.

  3. Teste o código.

    No código do aplicativo, você gravará uma consulta de junção para fazer a junção do fluxo do aplicativo com a tabela de referência de aplicativo, a fim de obter o nome da empresa em cada símbolo de índice.

Etapa 1: preparar

Nesta seção, armazene os dados de referência de exemplo como um objeto no bucket do Amazon S3. Você também cria um perfil do IAM que o Kinesis Data Analytics pode assumir para ler o objeto em seu nome.

Armazene os dados de referência como objeto do Amazon S3

Nesta etapa, armazene os dados de referência como um objeto do Amazon S3.

  1. Abra um editor de texto, adicione os seguintes dados e salve o arquivo como TickerReference.csv.

    Ticker, Company AMZN,Amazon ASD, SomeCompanyA MMB, SomeCompanyB WAS, SomeCompanyC

  2. Faça upload do arquivo TickerReference.csv no bucket do S3. Para obter mais informações, consulte Fazer upload de objetos no Amazon S3 no Manual do usuário do Amazon Simple Storage Service.

Criar um perfil do IAM

Crie um perfil do IAM, que o Kinesis Data Analytics pode assumir para ler o objeto do Amazon S3.

  1. Em AWS Identity and Access Management (IAM), crie um perfil do IAM chamado KinesisAnalytics-ReadS3Object. Para criar o perfil, siga as instruções em Criação de um perfil para um serviço da Amazon (AWS Management Console) no Guia do usuário do IAM.

    No console do IAM, especifique o seguinte:

    • Em Selecione o tipo de perfil, escolha AWS Lambda. Após criar a função, você alterará a política de confiança para permitir que o Kinesis Data Analytic (não AWS Lambda) assuma a função.

    • Não anexe nenhuma política na página Attach Policy.

  2. Atualize as políticas de perfil do IAM:

    1. No console do IAM, selecione o perfil criado.

    2. Na guia Relações de confiança, atualize a política de confiança para conceder ao Kinesis Data Analytics permissões para assumir a função. A política de confiança é mostrada a seguir:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kinesisanalytics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    3. Na guia Permissões, anexe uma política gerenciada pela Amazon chamada AmazonS3ReadOnlyAccess. Isso concede ao perfil permissões para ler um objeto do Amazon S3. Esta política é mostrada a seguir:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "*" } ] }

Etapa 2: Adicionar a fonte de dados de referência à configuração do aplicativo.

Nesta etapa, adicione a fonte de dados de referência à configuração do aplicativo. Para começar, as seguintes informações são necessárias:

  • Nome do seu bucket do S3 e nome da chave do objeto

  • O nome do recurso da Amazon (ARN) do perfil do IAM.

  1. Na página principal do aplicativo, selecione Connect reference data (Conectar dados de referência).

  2. Na página Conectar fonte de dados de referência, selecione o bucket do Amazon S3 que contém seu objeto de dados de referência e insira o nome da chave do objeto.

  3. Insira CompanyName em In-application reference table name (Nome da tabela de referência no aplicativo).

  4. Na seção Access to chosen resources (Acesso aos recursos escolhidos), selecione Choose from IAM roles that Kinesis Analytics can assume (Selecionar funções do IAM que o Kinesis Analytics possa assumir) e selecione a função do IAM KinesisAnalytics-ReadS3Object que você criou na seção anterior.

  5. Escolha Discover schema (Descobrir esquema). O console detectará duas colunas nos dados de referência.

  6. Escolha Save and close.

Etapa 3: Teste: consultar a tabela de referência de aplicativo

Agora você pode consultar a tabela de referência de aplicativo, CompanyName. Você pode usar as informações de referência para enriquecer o aplicativo, fazendo a junção dos dados de preço do índice com a tabela de referência de dados. O resultado mostrará o nome da empresa.

  1. Substitua o código do aplicativo pelo seguinte. A consulta faz a junção do fluxo de entrada de aplicativo com a tabela de referência de aplicativo. O código do aplicativo grava os resultados em outro fluxo no aplicativo, DESTINATION_SQL_STREAM.

    CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), "Company" varchar(20), sector VARCHAR(12), change DOUBLE, price DOUBLE); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM ticker_symbol, "c"."Company", sector, change, price FROM "SOURCE_SQL_STREAM_001" LEFT JOIN "CompanyName" as "c" ON "SOURCE_SQL_STREAM_001".ticker_symbol = "c"."Ticker";
  2. Verifique se a saída do aplicativo aparece na guia SQLResults. Verifique se algumas linhas mostram nomes de empresa (os dados de referência de exemplo não têm todos os nomes de empresa).