CreateApplication - Guía para desarrolladores de Amazon Kinesis Data Analytics SQL para aplicaciones

Para proyectos nuevos, le recomendamos que utilice el nuevo servicio gestionado para Apache Flink Studio en lugar de Kinesis Data Analytics SQL for Applications. El servicio gestionado para Apache Flink Studio combina la facilidad de uso con capacidades analíticas avanzadas, lo que le permite crear aplicaciones sofisticadas de procesamiento de flujos en cuestión de minutos.

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.

CreateApplication

nota

Esta documentación es para la versión 1 de la API de Amazon Kinesis Data Analytics, que solo admite aplicaciones SQL. La versión 2 de la API admite aplicaciones SQL y Java. Para obtener más información acerca de la versión 2, consulte la documentación de la API V2 de Amazon Kinesis Data Analytics.

Crea una aplicación de Amazon Kinesis Data Analytics. Puede configurar cada aplicación con una fuente de streaming como entrada, un código de aplicación para procesar la entrada y hasta tres destinos en los que desee que Amazon Kinesis Analytics escriba los datos de salida de su aplicación. Para obtener una descripción general, consulte Cómo funciona.

En la configuración de entrada, se asigna el origen de flujo a un flujo integrado en la aplicación, lo que puede considerarse una tabla que se actualiza constantemente. En la asignación, debe proporcionar un esquema para el flujo en la aplicación y asignar cada columna de datos en el flujo en la aplicación a un elemento de datos en el origen de flujo.

Una o varias instrucciones SQL que leen datos de entrada, los transforman y generan la salida. El código de su aplicación puede crear uno o más artefactos de SQL, como flujos o bombas de SQL.

En la configuración de salida, puede configurar la aplicación para que escriba datos de flujos integrados en la aplicación creados en sus aplicaciones en un máximo de tres destinos.

Para leer los datos del flujo de origen o escribirlos en los flujos de destino, Amazon Kinesis Analytics necesita sus permisos. Puede conceder estos permisos mediante la creación de roles de IAM. Esto operación requiere permisos para realizar la acción kinesisanalytics:CreateApplication.

Para ver los ejercicios introductorios sobre cómo crear una aplicación de Amazon Kinesis Analytics, consulte Introducción.

Sintaxis de la solicitud

{ "ApplicationCode": "string", "ApplicationDescription": "string", "ApplicationName": "string", "CloudWatchLoggingOptions": [ { "LogStreamARN": "string", "RoleARN": "string" } ], "Inputs": [ { "InputParallelism": { "Count": number }, "InputProcessingConfiguration": { "InputLambdaProcessor": { "ResourceARN": "string", "RoleARN": "string" } }, "InputSchema": { "RecordColumns": [ { "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "KinesisFirehoseInput": { "ResourceARN": "string", "RoleARN": "string" }, "KinesisStreamsInput": { "ResourceARN": "string", "RoleARN": "string" }, "NamePrefix": "string" } ], "Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisFirehoseOutput": { "ResourceARN": "string", "RoleARN": "string" }, "KinesisStreamsOutput": { "ResourceARN": "string", "RoleARN": "string" }, "LambdaOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ], "Tags": [ { "Key": "string", "Value": "string" } ] }

Parámetros de la solicitud

La solicitud acepta los siguientes datos en formato JSON.

ApplicationCode

Una o varias instrucciones SQL que leen datos de entrada, los transforman y generan la salida. Por ejemplo, puede escribir una instrucción SQL que lea los datos de un flujo en la aplicación, genere un promedio acumulado del número de clics de anuncios por proveedor e inserte las filas resultantes en otro flujo en la aplicación mediante bombeos. Para obtener más información acerca del patrón típico, consulte Código de la aplicación.

Puede proporcionar una serie de instrucciones SQL, en la que la salida de una instrucción puede utilizarse como la entrada de la siguiente. Puede almacenar los resultados intermedios mediante la creación de flujos y bombeos en la aplicación.

Tenga en cuenta que el código de la aplicación debe crear flujos con los nombres especificados en las Outputs. Por ejemplo, si las Outputs definen flujos de salida llamados ExampleOutputStream1 y ExampleOutputStream2, el código de la aplicación debe crear estos flujos.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 0. Longitud máxima de 102400.

Obligatorio: no

ApplicationDescription

Descripción resumida de la aplicación.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 0. La longitud máxima es 1024.

Obligatorio: no

ApplicationName

Nombre de su aplicación de Amazon Kinesis Analytics (por ejemplo, sample-app).

Tipo: string

Limitaciones de longitud: longitud mínima de 1. Longitud máxima de 128.

Patrón: [a-zA-Z0-9_.-]+

Obligatorio: sí

CloudWatchLoggingOptions

Utilice este parámetro para configurar un flujo de CloudWatch registro para supervisar los errores de configuración de la aplicación. Para obtener más información, consulta Cómo trabajar con Amazon CloudWatch Logs.

Tipo: matriz de objetos CloudWatchLoggingOption

Obligatorio: no

Inputs

Utilice este parámetro para configurar la entrada de la aplicación.

Puede configurar su aplicación para que reciba entradas de un solo origen de streaming. En esta configuración, asigna el origen de streaming a un flujo en la aplicación que se crea. El código de la aplicación puede entonces consultar el flujo en la aplicación como una tabla (es como un tabla que se actualiza constantemente).

Para el origen de streaming, debe proporcionar el nombre de recurso de Amazon (ARN) y el formato de datos en el flujo (por ejemplo, JSON, CSV, etc.). También debe proporcionar un rol de IAM que Amazon Kinesis Analytics pueda adoptar para leer este flujo en su nombre.

Para crear la secuencia en la aplicación, debe especificar un esquema para transformar sus datos en una versión esquematizada utilizada en SQL. En el esquema, debe proporcionar el necesario mapeo de los elementos de datos en el origen de streaming para registrar columnas en el flujo en la aplicación.

Tipo: matriz de objetos Input

Obligatorio: no

Outputs

Puede configurar la aplicación para que escriba datos de flujos integrados en la aplicación en un máximo de tres destinos.

Estos destinos pueden ser flujos de Amazon Kinesis, flujos de entrega de Amazon Kinesis Firehose, destinos de AWS Lambda o cualquier combinación de los tres.

En la configuración, debe especificar el nombre del flujo en la aplicación, el flujo de destino o el nombre de recurso de Amazon (ARN) de la función de Lambda y el formato que se utilizará al escribir los datos. Además proporciona un rol de IAM que Amazon Kinesis Analytics puede asumir para escribir la secuencia o función de Lambda en su nombre.

En la configuración de salida, también proporciona el flujo de salida o el ARN de la función de Lambda. Para los destinos del flujo, debe proporcionar el formato de los datos del flujo (por ejemplo, JSON o CSV). Además proporcione un rol de IAM que Amazon Kinesis Analytics puede asumir para escribir la secuencia o función de Lambda en su nombre.

Tipo: matriz de objetos Output

Obligatorio: no

Tags

Lista de una o más etiquetas para asignar a la aplicación. Una etiqueta es un par clave-valor que identifica una aplicación. Tenga en cuenta que el número máximo de etiquetas incluye las etiquetas del sistema. El número máximo de etiquetas de la aplicación definidas por el usuario es 50. Para obtener más información, consulte Uso de etiquetas.

Tipo: matriz de objetos Tag

Miembros de la matriz: número mínimo de 1 artículo. La cantidad máxima es de 200 elementos.

Obligatorio: no

Sintaxis de la respuesta

{ "ApplicationSummary": { "ApplicationARN": "string", "ApplicationName": "string", "ApplicationStatus": "string" } }

Elementos de respuesta

Si la acción se realiza correctamente, el servicio devuelve una respuesta HTTP 200.

El servicio devuelve los datos siguientes en formato JSON.

ApplicationSummary

En respuesta a su solicitud CreateApplication, Amazon Kinesis Analytics devuelve una respuesta con un resumen de la aplicación que creó, incluidos el nombre, el nombre y el estado de la aplicación nombre de recurso de Amazon (ARN).

Tipo: objeto ApplicationSummary

Errores

CodeValidationException

El código de aplicación (consulta) proporcionado por el usuario no es válido. Puede tratarse de un simple error de sintaxis.

Código de estado HTTP: 400

ConcurrentModificationException

Se produce una excepción como resultado de una modificación simultánea de una aplicación. Por ejemplo, dos personas que intentan editar la misma aplicación al mismo tiempo.

Código de estado HTTP: 400

InvalidArgumentException

El valor del parámetro de entrada especificado no es válido.

Código de estado HTTP: 400

LimitExceededException

Se ha superado el número de aplicaciones permitidas.

Código de estado HTTP: 400

ResourceInUseException

La aplicación no está disponible para esta operación.

Código de estado HTTP: 400

TooManyTagsException

Aplicación creada con demasiadas etiquetas o se han añadido demasiadas etiquetas a una aplicación. Tenga en cuenta que el número máximo de etiquetas incluye las etiquetas del sistema. El número máximo de etiquetas de la aplicación definidas por el usuario es 50.

Código de estado HTTP: 400

UnsupportedOperationException

La solicitud se rechazó porque no se admite un parámetro especificado o porque un recurso especificado no es válido para esta operación.

Código de estado HTTP: 400

Véase también

Para obtener más información sobre el uso de esta API en uno de los AWS SDK específicos del idioma, consulte lo siguiente: