Configuration de l'entrée de l'application - Guide du développeur d'Amazon Kinesis Data Analytics SQL pour applications

Après mûre réflexion, nous avons décidé de mettre fin à Amazon Kinesis Data Analytics SQL pour les applications en deux étapes :

1. À compter du 15 octobre 2025, vous ne pourrez plus créer de nouveaux Kinesis Data Analytics SQL pour les applications.

2. Nous supprimerons vos candidatures à compter du 27 janvier 2026. Vous ne serez pas en mesure de démarrer ou d'utiliser votre Amazon Kinesis Data Analytics SQL pour les applications. Support ne sera plus disponible pour Amazon Kinesis Data Analytics à partir SQL de cette date. Pour de plus amples informations, veuillez consulter Arrêt d'Amazon Kinesis Data Analytics SQL pour applications.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration de l'entrée de l'application

Votre application Amazon Kinesis Data Analytics peut recevoir une entrée d’une seule source de streaming et, le cas échéant, utiliser une source de données de référence. Pour de plus amples informations, veuillez consulter Applications Amazon Kinesis Data Analytics pour SQL : fonctionnement. Les sections de cette rubrique décrivent les sources d'entrée d'une application.

Configuration d'une source de diffusion

Lorsque vous créez une application, vous spécifiez une source de streaming. Vous pouvez également modifier une entrée après avoir créé l’application. Amazon Kinesis Data Analytics prend en charge les sources de streaming suivantes pour votre application :

  • Un flux de données Kinesis

  • Un flux de livraison Firehose

Note

Après le 12 septembre 2023, vous ne pourrez plus créer de nouvelles applications en utilisant Kinesis Data Firehose comme source si vous n’utilisez pas déjà Kinesis Data Analytics pour SQL. Les clients existants qui utilisent les applications Kinesis Data Analytics pour SQL avec KinesisFirehoseInput peuvent continuer à ajouter des applications avec KinesisFirehoseInput au sein d’un compte existant à l’aide de Kinesis Data Analytics. Si vous êtes déjà client et que vous souhaitez créer un compte avec les applications Kinesis Data Analytics pour SQL avec KinesisFirehoseInput, vous pouvez créer un cas via le formulaire d’augmentation de limite de service. Pour plus d’informations, consultez le CentreAWS Support. Nous vous recommandons de toujours tester les nouvelles applications avant de les mettre en production.

Note

Si le flux de données Kinesis est chiffré, Kinesis Data Analytics accède aux données du flux chiffré de façon transparente sans qu’aucune configuration supplémentaire ne soit nécessaire. Kinesis Data Analytics ne stocke pas les données non chiffrées lues depuis Kinesis Data Streams. Pour plus d'informations, consultez la page Qu'est-ce que le chiffrement côté serveur pour Kinesis Streams Data ?.

Kinesis Data Analytics interroge en continu la source de streaming pour les nouvelles données et intègre celles-ci dans des flux intégrés à l’application en fonction de la configuration d’entrée.

Note

L’ajout d’un flux Kinesis en tant qu’entrée de votre application n’affecte pas les données du flux. Si une autre ressource, telle qu'un flux de diffusion Firehose, accédait également au même flux Kinesis, le flux de diffusion Firehose et l'application Kinesis Data Analytics recevraient les mêmes données. Toutefois, le débit et la limitation peuvent être affectés.

Votre code d'application peut interroger le flux intégré à l'application. Dans le cadre de la configuration d'entrée, vous fournissez les éléments suivants :

  • Source de streaming : Vous fournissez l’Amazon Resource Name (ARN) du flux et un rôle IAM que Kinesis Data Analytics peut assumer pour accéder au flux en votre nom.

  • Préfixe du nom de flux intégré à l’application : Lorsque vous démarrez l’application, Kinesis Data Analytics crée le flux intégré à l’application spécifié. Dans votre code d'application, vous accédez au flux intégré à l'application à l'aide de ce nom.

    Vous pouvez mapper le cas échéant une source de diffusion à plusieurs flux intégrés à l'application. Pour de plus amples informations, veuillez consulter Limites. Dans ce cas, Amazon Kinesis Data Analytics crée le nombre spécifié de flux intégrés à l’application avec des noms comme suit : prefix_001, prefix_002 et prefix_003. Par défaut, Kinesis Data Analytics mappe la source de streaming à un flux intégré à l’application appelé prefix_001.

    Une limite est appliqué au rythme auquel vous pouvez insérer des lignes dans un flux intégré à l'application. Par conséquent, Kinesis Data Analytics prend en charge plusieurs flux intégrés à l’application pour vous permettre de transmettre des enregistrements dans votre application à un rythme beaucoup plus rapide. Si vous constatez que votre application n'arrive pas à suivre le rythme des données de la source de diffusion, vous pouvez ajouter des unités de parallélisme pour améliorer les performances.

  • Schéma de mappage : Vous décrivez le format d’enregistrement (JSON, CSV) dans la source de streaming. Vous décrivez également la façon dont chaque enregistrement du flux est mappé à des colonnes dans le flux intégré à l'application qui est créé. C'est là où vous fournissez des noms de colonnes et des types de données.

Note

Kinesis Data Analytics place les identifiants (nom du flux et noms de colonnes) entre guillemets lors de la création du flux intégré à l’application. Lors de l'interrogation de ce flux et des colonnes, vous devez les spécifier entre guillemets en utilisant exactement la même casse (avec les mêmes lettres minuscules et majuscules). Pour plus d’informations sur les identifiants, consultez la section Identifiants dans le manuel Référence SQL du service géré Amazon pour Apache Flink SQL.

Vous pouvez créer une application et configurer des entrées dans la console Amazon Kinesis Data Analytics. La console effectue ensuite les appels d'API nécessaires. Vous pouvez configurer l'entrée d'application lorsque vous créez une nouvelle API d'application ou ajouter la configuration d'entrée à une application existante. Pour plus d’informations, consultez CreateApplication et AddApplicationInput. Voici la partie de configuration d'entrée du corps de requête d'API Createapplication :

"Inputs": [ { "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" }, "Name": "string" } ]

Configuration d'une source de référence

Vous pouvez également ajouter le cas échéant une source de données de référence à une application existante pour enrichir les données en provenance de sources de diffusion. Vous devez stocker les données de référence en tant qu’objet dans votre compartiment Amazon S3. Lorsque l’application démarre, Amazon Kinesis Data Analytics lit l’objet Amazon S3 et crée une table de référence intégrée à l’application. Votre code d'application peut ensuite la joindre à un flux intégré à l'application.

Vous stockez les données de référence dans l’objet Amazon S3 à l’aide des formats pris en charge (CSV, JSON). Par exemple, supposons que votre application effectue des analyses sur des ordres de bourse. Supposons que le format d'enregistrement suivant soit utilisé sur la source de diffusion :

Ticker, SalePrice, OrderId AMZN $700 1003 XYZ $250 1004 ...

Dans ce cas, vous pouvez envisager de gérer une source de données de référence afin de fournir des détails pour chaque symbole boursier, comme un nom de société.

Ticker, Company AMZN, Amazon XYZ, SomeCompany ...

Vous pouvez ajouter une source de données de référence d’application à l’aide de l’API ou de la console. Amazon Kinesis Data Analytics fournit les actions d’API suivantes pour gérer les sources de données de référence :

Pour plus d'informations sur l'ajout de données de référence; consultez Exemple : ajout de données de référence à une application Kinesis Data Analytics.

Notez ce qui suit :

  • Si l’application est en cours d’exécution, Kinesis Data Analytics crée un tableau de référence intégré à l’application, puis charge les données de référence immédiatement.

  • Si l’application n’est pas en cours d’exécution (par exemple, elle est à l’état prêt), Kinesis Data Analytics enregistre uniquement la configuration d’entrée mise à jour. Lorsque l’application commence à s’exécuter, Kinesis Data Analytics charge les données de référence dans votre application en tant que tableau.

Supposons que vous souhaitez actualiser les données après que Kinesis Data Analytics a créé le tableau de référence intégré à l’application. Vous avez peut-être mis à jour l’objet Amazon S3, ou vous souhaitez utiliser un autre objet Amazon S3. Dans ce cas, vous pouvez soit appeler explicitement UpdateApplication, soit choisir Actions, Synchroniser le tableau de données de référence dans la console. Kinesis Data Analytics n’actualise pas automatiquement le tableau de référence intégré à l’application.

Une limite est appliquée à la taille de l’objet Amazon S3 que vous pouvez créer comme source de données de référence. Pour de plus amples informations, veuillez consulter Limites. Si la taille de l’objet dépasse la limite, Kinesis Data Analytics ne peut pas charger les données. L'état de l'application s'affiche comme étant en cours d'exécution, mais les données ne sont pas lues.

Lorsque vous ajoutez une source de données de référence, vous fournissez les informations suivantes :

  • Nom du compartiment S3 et de la clé d’objet : En plus du nom du compartiment et de la clé d’objet, vous fournissez également un rôle IAM que Kinesis Data Analytics peut assumer pour lire l’objet en votre nom.

  • Nom du tableau de référence intégré à l’application : Kinesis Data Analytics crée ce tableau intégré à l’application et le remplit en lisant l’objet Amazon S3. Il s'agit du nom de table que vous spécifiez dans votre code d'application.

  • Schéma de mappage : vous décrivez le format d’enregistrement (JSON, CSV), l’encodage des données stockées dans l’objet Amazon S3. Vous décrivez également la façon dont chaque élément de données est mappé aux colonnes de la table de référence intégrée à l'application.

Voici le corps de la demande dans la demande d'API AddApplicationReferenceDataSource.

{ "applicationName": "string", "CurrentapplicationVersionId": number, "ReferenceDataSource": { "ReferenceSchema": { "RecordColumns": [ { "IsDropped": boolean, "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "S3ReferenceDataSource": { "BucketARN": "string", "FileKey": "string", "ReferenceRoleARN": "string" }, "TableName": "string" } }