DiscoverInputSchema - Manuel du développeur des applications Amazon Kinesis Data Analytics pour SQL

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

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

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

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.

DiscoverInputSchema

Note

Cette documentation est destinée à la version 1 de l’API Amazon Kinesis Data Analytics, qui est compatible uniquement avec les applications SQL. La version 2 de l’API est compatible avec les applications SQL et Java. Pour plus d’informations sur la version 2, consultez la documentation de l’API Amazon Kinesis Data Analytics V2.

Déduit un schéma en évaluant des exemples d’enregistrements sur la source de streaming spécifiée (flux Amazon Kinesis ou flux de diffusion Amazon Kinesis Firehose) ou sur l’objet S3 spécifié. Dans la réponse, l’opération renvoie le schéma déduit ainsi que les exemples d’enregistrements utilisés par l’opération pour déduire le schéma.

Vous pouvez utiliser le schéma déduit lors de la configuration d’une source de streaming pour votre application. Pour obtenir des informations conceptuelles, veuillez consulter Configuration de l'entrée de l'application. Notez que lorsque vous créez une application à l’aide de la console Amazon Kinesis Analytics, celle-ci utilise cette opération pour déduire un schéma et l’afficher dans l’interface utilisateur de la console.

Cette opération exige des autorisations pour exécuter l'action kinesisanalytics:DiscoverInputSchema.

Syntaxe de la requête

{ "InputProcessingConfiguration": { "InputLambdaProcessor": { "ResourceARN": "string", "RoleARN": "string" } }, "InputStartingPositionConfiguration": { "InputStartingPosition": "string" }, "ResourceARN": "string", "RoleARN": "string", "S3Configuration": { "BucketARN": "string", "FileKey": "string", "RoleARN": "string" } }

Paramètres de demande

Cette demande accepte les données suivantes au format JSON.

InputProcessingConfiguration

InputProcessingConfigurationÀ utiliser pour prétraiter les enregistrements avant de découvrir le schéma des enregistrements.

Type : objet InputProcessingConfiguration

Obligatoire : non

InputStartingPositionConfiguration

Point à partir duquel vous souhaitez qu’Amazon Kinesis Analytics commence à lire les enregistrements correspondant aux objectifs de découverte de sources de streaming spécifiés.

Type : objet InputStartingPositionConfiguration

Obligatoire : non

ResourceARN

L’Amazon Resource Name (ARN) de la source de streaming.

Type : String

Contraintes de longueur : longueur minimum de 1. Longueur maximale de 2048.

Modèle : arn:.*

Obligatoire : non

RoleARN

ARN du rôle IAM que peut endosser Amazon Kinesis Analytics pour accéder au flux en votre nom.

Type : String

Contraintes de longueur : longueur minimum de 1. Longueur maximale de 2048.

Modèle : arn:.*

Obligatoire : non

S3Configuration

Spécifiez ce paramètre pour découvrir un schéma à partir des données d’un objet Amazon S3.

Type : objet S3Configuration

Obligatoire : non

Syntaxe de la réponse

{ "InputSchema": { "RecordColumns": [ { "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "ParsedInputRecords": [ [ "string" ] ], "ProcessedInputRecords": [ "string" ], "RawInputRecords": [ "string" ] }

Eléments de réponse

Si l’action aboutit, le service renvoie une réponse HTTP 200.

Les données suivantes sont renvoyées au format JSON par le service.

InputSchema

Schéma déduit de la source de streaming. Il identifie le format des données de la source de streaming et la façon dont chaque élément de données est mappé aux colonnes correspondantes que vous pouvez créer dans le flux intégré à l’application.

Type : objet SourceSchema

ParsedInputRecords

Tableau d’éléments, où chaque élément correspond à une ligne d’un enregistrement de flux (un enregistrement de flux peut comporter plusieurs lignes).

Type : Tableau de tableaux de chaînes

ProcessedInputRecords

Données de flux modifiées par le processeur spécifié dans le paramètre InputProcessingConfiguration.

Type : tableau de chaînes

RawInputRecords

Données de flux brutes qui ont été échantillonnées pour déduire le schéma.

Type : tableau de chaînes

Erreurs

InvalidArgumentException

La valeur du paramètre d’entrée spécifiée n’est pas valide.

Code d’état HTTP : 400

ResourceProvisionedThroughputExceededException

Discovery n'a pas réussi à obtenir d'enregistrement depuis la source de streaming à cause d'Amazon Kinesis ProvisionedThroughputExceededException Streams. Pour plus d'informations, consultez GetRecordsle manuel Amazon Kinesis Streams API Reference.

Code d’état HTTP : 400

ServiceUnavailableException

Le service n’est pas disponible. Faites un retour en arrière et réessayez l’opération.

Code d’état HTTP : 500

UnableToDetectSchemaException

Le format de date n’est pas valide. Amazon Kinesis Analytics n’est pas en mesure de détecter le schéma de la source de streaming donnée.

Code d’état HTTP : 400

UnsupportedOperationException

La requête a été rejetée car un paramètre spécifié n’est pas pris en charge ou parce qu’une ressource spécifiée n’est pas valide pour cette opération.

Code d’état HTTP : 400

consultez aussi

Pour plus d'informations sur l'utilisation de cette API dans l'un des langages spécifiques AWS SDKs, consultez ce qui suit :