

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

1. A partir de **1º de setembro de 2025,** não forneceremos nenhuma correção de bug para aplicativos do Amazon Kinesis Data Analytics para SQL porque teremos suporte limitado para ele, devido à próxima descontinuação.

2. A partir **de 15 de outubro de 2025,** você não poderá criar novos aplicativos Kinesis Data Analytics para SQL.

3. 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 obter mais informações, consulte [Descontinuação de aplicações do Amazon Kinesis Data Analytics para SQL](discontinuation.md).

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á.

# Etapa 1: preparar
<a name="app-anomaly-prepare"></a>

Antes de criar um aplicativo Amazon Kinesis Data Analytics para este exercício, crie dois fluxos de dados do Kinesis. Configure um dos streamings como a origem de streaming do aplicativo e outro como o destino em que o Kinesis Data Analytics mantém a saída do aplicativo. 

**Topics**
+ [Etapa 1.1: criar os fluxos de dados de entrada e saída](#app-anomaly-create-two-streams)
+ [Etapa 1.2: Gravação de registros de amostra no stream de entrada](#app-anomaly-write-sample-records-inputstream)

## Etapa 1.1: criar os fluxos de dados de entrada e saída
<a name="app-anomaly-create-two-streams"></a>

Nesta seção, você cria dois streams do Kinesis: `ExampleInputStream` e `ExampleOutputStream`. Crie esses streams usando o Console de gerenciamento da AWS ou a AWS CLI.
+ 

**Para usar o console do**

  1. [Faça login no Console de gerenciamento da AWS e abra o console do Kinesis em https://console.aws.amazon.com /kinesis.](https://console.aws.amazon.com/kinesis)

  1. Selecione **Criar fluxo de dados**. Crie um fluxo com um estilhaço chamado `ExampleInputStream`. Para obter mais informações, consulte [Criar um fluxo](https://docs.aws.amazon.com/streams/latest/dev/learning-kinesis-module-one-create-stream.html) no *Guia do desenvolvedor do Amazon Kinesis Data Streams*.

  1. Repita a etapa anterior, criando um streaming com um estilhaço denominado `ExampleOutputStream`.
+ 

**Para usar o AWS CLI**

  1. Use o seguinte `create-stream` AWS CLI comando do Kinesis para criar o primeiro stream ()`ExampleInputStream`.

     ```
     $ aws kinesis create-stream \
     --stream-name ExampleInputStream \
     --shard-count 1 \
     --region us-east-1 \
     --profile adminuser
     ```

  1. Execute o mesmo comando, alterando o nome do fluxo para `ExampleOutputStream`. Esse comando cria o segundo fluxo usado pelo aplicativo para gravar a saída.

## Etapa 1.2: Gravação de registros de amostra no stream de entrada
<a name="app-anomaly-write-sample-records-inputstream"></a>

Nesta etapa, você executa o código Python para gerar continuamente registros de amostra e gravar esses registros no fluxo `ExampleInputStream`.

```
{"heartRate": 60, "rateType":"NORMAL"} 
...
{"heartRate": 180, "rateType":"HIGH"}
```

1. Instale o Python e o `pip`.

   Para obter informações sobre como instalar o Python, consulte o site do [Python](https://www.python.org/). 

   Você pode instalar dependências usando o pip. Para obter informações sobre como instalar o pip, consulte [Installation](https://pip.pypa.io/en/stable/installing/) no site do pip.

1. Execute o código do Python a seguir. O comando `put-record` no código grava os registros JSON no fluxo.

   ```
    
   from enum import Enum
   import json
   import random
   import boto3
   
   STREAM_NAME = "ExampleInputStream"
   
   
   class RateType(Enum):
       normal = "NORMAL"
       high = "HIGH"
   
   
   def get_heart_rate(rate_type):
       if rate_type == RateType.normal:
           rate = random.randint(60, 100)
       elif rate_type == RateType.high:
           rate = random.randint(150, 200)
       else:
           raise TypeError
       return {"heartRate": rate, "rateType": rate_type.value}
   
   
   def generate(stream_name, kinesis_client, output=True):
       while True:
           rnd = random.random()
           rate_type = RateType.high if rnd < 0.01 else RateType.normal
           heart_rate = get_heart_rate(rate_type)
           if output:
               print(heart_rate)
           kinesis_client.put_record(
               StreamName=stream_name,
               Data=json.dumps(heart_rate),
               PartitionKey="partitionkey",
           )
   
   
   if __name__ == "__main__":
       generate(STREAM_NAME, boto3.client("kinesis"))
   ```



**Próxima etapa**  
[Etapa 2: criar um aplicativo](app-anom-score-create-app.md)