Configuração da saída do aplicativo - Guia do desenvolvedor do Amazon Kinesis Data Analytics SQL para aplicativos

Para novos projetos, recomendamos que você use o novo Managed Service para Apache Flink Studio em vez do Kinesis Data Analytics for Applications. SQL O Managed Service for Apache Flink Studio combina facilidade de uso com recursos analíticos avançados, permitindo que você crie aplicativos sofisticados de processamento de stream em minutos.

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

Configuração da saída do aplicativo

No código do aplicativo, você grava a saída das instruções SQL em um ou mais fluxos de aplicativo. Opcionalmente, você pode adicionar uma configuração de saída ao seu aplicativo para manter tudo gravado em um stream no aplicativo em um destino externo, como um stream de dados do Amazon Kinesis, um stream de entrega do Firehose ou uma função. AWS Lambda

Há um limite para o número de destinos externos que você pode usar para manter uma saída de aplicativo. Para ter mais informações, consulte Limites.

nota

É recomendável que você use um destino externo no qual manterá os dados do fluxo de erros de aplicativo, para que você possa investigar os erros.

Em cada uma dessas configurações de saída, você fornece o seguinte:

  • Nome do fluxo de aplicativo – O fluxo que você deseja manter em um destino externo.

    O Kinesis Data Analytics busca o fluxo no aplicativo especificado na configuração de saída. (O nome do fluxo faz distinção entre maiúsculas e minúsculas e deve corresponder exatamente.) Verifique se o código do aplicativo está criando esse fluxo de aplicativo.

  • Destino externo — você pode persistir os dados em um stream de dados do Kinesis, um stream de entrega do Firehose ou uma função Lambda. Forneça o nome de recurso da Amazon (ARN) do fluxo ou da função. Forneça também um perfil do IAM que o Kinesis Data Analytics possa assumir para gravar no fluxo ou na função em seu nome. Descreva o formato do registro (JSON, CSV) para que o Kinesis Data Analytics use durante a gravação no destino externo.

Se o serviço do Kinesis Data Analytics não conseguir gravar no destino de streaming ou do Lambda, ele continuará tentando por tempo indeterminado. Isso cria uma pressão contrária, fazendo com que o aplicativo fique para trás. Se isso problema não for resolvido, o aplicativo acabará interrompendo o processamento de novos dados. Você pode monitorar as métricas do Kinesis Data Analytics e definir alarmes para falhas. Para obter mais informações sobre métricas e alarmes, consulte Usando CloudWatch métricas da Amazon e Criação de CloudWatch alarmes da Amazon.

Você pode configurar a saída do aplicativo usando o AWS Management Console. O console faz com que a chamada de API salve a configuração.

Criando uma saída usando o AWS CLI

Esta seção descreve como criar a seção Outputs do corpo de uma solicitação para uma operação CreateApplication ou AddApplicationOutput.

Criação de uma saída do Kinesis Stream

O fragmento JSON a seguir mostra a seção Outputs no corpo da solicitação de CreateApplication para a criação de um destino de fluxo de dados do Amazon Kinesis.

"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisStreamsOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]

Criando uma saída de fluxo de entrega do Firehose

O fragmento JSON a seguir mostra a Outputs seção no corpo da CreateApplication solicitação para criar um destino de stream de entrega do Amazon Data Firehose.

"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisFirehoseOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]

Criação de saída de uma função do Lambda

O fragmento JSON a seguir mostra a Outputs seção no corpo da CreateApplication solicitação para criar um destino de AWS Lambda função.

"Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "LambdaOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]