Configuración de salida de la aplicación - Guía para desarrolladores de Amazon Kinesis Data Analytics

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de salida de la aplicación

En el código de la aplicación, escriba la salida de las instrucciones SQL en una o más secuencias en la aplicación. Si lo desea, puede agregar una configuración de salida a su aplicación.Para conservar todo lo que se escribe en una secuencia en la aplicación a un destino externo como, por ejemplo, una secuencia de datos de Amazon Kinesis, una secuencia de entrega de Amazon Kinesis Data Firehose o una secuencia deAWS Lambdafunción.

Existe un límite en cuanto al número de destinos externos que puede utilizar para conservar datos en la salida de una aplicación. Para obtener más información, consulte Limits.

nota

Le recomendamos que utilice un destino externo para almacenar los datos de secuencia de errores en la aplicación para que pueda investigar los errores.

En cada una de estas configuraciones de salida, debe proporcionar lo siguiente:

  • Nombre de la secuencia en la aplicación: la secuencia que desea conservar en un destino externo.

    Kinesis Data Analytics busca la secuencia en la aplicación que ha especificado en la configuración de salida. (El nombre de la secuencia distingue entre mayúsculas y minúsculas y deben coincidir exactamente). Asegúrese de que el código de la aplicación crea esta secuencia en la aplicación.

  • Destino externo: puede conservar los datos en una secuencia de datos de Amazon Kinesis, una secuencia de entrega de Kinesis Data Firehose o una función de Lambda. Proporciona el nombre de recurso de Amazon (ARN) de la secuencia o función. Además proporciona un rol de IAM que Kinesis Data Analytics puede asumir para escribir en la secuencia o función en su nombre. Debe describir el formato de registro (JSON o CSV) para Kinesis Data Analytics que debe utilizar a la hora de escribir en el destino externo.

Si Kinesis Data Analytics no puede escribir en el destino de streaming o de Lambda, el servicio sigue intentándolo de forma indefinida. Con ello se crea resistencia y la aplicación se queda retrasada. Si el problema no se resuelve, la aplicación finalmente detiene el procesamiento de datos nuevos. Puede monitorizar las métricas de Kinesis Data Analytics y establecer alarmas para los errores. Para obtener más información sobre las métricas y las alarmas, consulteUso de métricas de Amazon CloudWatchyCreación de alarmas de Amazon CloudWatch.

Puede configurar la salida de la aplicación usando la AWS Management Console. La consola realiza la llamada a la API para guardar la configuración.

Creación de una salida mediante la AWS CLI

En esta sección, se describe cómo crear la sección Outputs del cuerpo de la solicitud para una operación CreateApplication o AddApplicationOutput.

Creación de una salida de Kinesis

El siguiente fragmento JSON muestra laOutputsSección sobre de laCreateApplicationpara crear un destino de flujo de datos de Amazon Kinesis como destino.

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

Creación de una salida de flujo de entrega de Kinesis Data Firehose

El siguiente fragmento JSON muestra laOutputsSección sobre de laCreateApplicationEl cuerpo de solicitud para crear un destino de flujo de entrega de Amazon Kinesis Data Firehose.

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

Creación de una salida de función Lambda

El siguiente fragmento de JSON muestra la sección Outputs del cuerpo de la solicitud CreateApplication que se utiliza para crear un destino hacia una función de AWS Lambda.

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