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.
Création d'une table de diffusion en continu
Créez une diffusion qui envoie en continu les enregistrements d'un flux Amazon Kinesis Data Streams vers une table de streaming sur Apache Iceberg soutenue par un bucket de table S3. Vous pouvez créer une livraison avec le Console de gestion AWS ou le AWS CLI. Lorsque vous créez une livraison, Amazon Kinesis Data Streams crée la table Iceberg de destination dans le compartiment de tables que vous spécifiez.
Note
Avant de créer une livraison, remplissez les conditions requises dansCommencer à utiliser les tables de streaming, y compris le rôle d'exécution du service IAM décrit dans. Autorisations IAM pour la livraison de données La livraison d'une table de streaming nécessite un AWS Glue schéma dans le registre des schémas et une file d'attente de lettres mortes.
Utilisation de Console de gestion AWS
-
Ouvrez la console Kinesis à l'adresse. https://console.aws.amazon.com/kinesis
-
Dans le volet de navigation, choisissez Tables de diffusion, puis choisissez Créer une table de diffusion.
-
Étape 1 : Configuration de la source Sous Détails de livraison, entrez un nom de livraison. Les caractères acceptables sont les lettres majuscules et minuscules, les chiffres, les traits de soulignement, les traits d'union et les points. Pour Source, choisissez le On-Demand flux à partir duquel vous souhaitez diffuser. Seuls On-Demand les streams sont affichés. Choisissez Suivant.
-
Étape 2 : Configuration de la destination Sous Configuration de la conversion des enregistrements, choisissez un format de conversion des enregistrements :
JSON — Enregistrements JSON validés par rapport à un AWS Glue schéma dans le registre des schémas. Fournissez l'ARN du schéma dans le registre Glue Schema.
Glue Schema registry JSON — Convertissez les enregistrements à l'aide d'un AWS Glue schéma JSON Schema Registry.
Pour le registre Glue Schema, spécifiez l'ARN du schéma ou choisissez Browse pour en sélectionner un.
-
Sous Table de destination, spécifiez l'endroit où Amazon Kinesis Data Streams crée la table Iceberg :
ARN du compartiment de table S3 : ARN du compartiment de table S3. Choisissez Browse S3 pour en sélectionner un.
Namespace : espace de noms de la table (lettres minuscules, chiffres et traits de soulignement uniquement).
Nom de la table : nom de la table à créer.
Nom de colonne : nom d'un champ date-heure de votre schéma utilisé pour partitionner la table par heure. Le champ doit être un champ de chaîne au format date-heure du schéma.
Type de compression : choisissez ZSTD, Snappy ou None.
Actualité des données : durée maximale de mise en mémoire tampon en secondes avant la livraison des enregistrements (minimum 300, maximum 900).
Choisissez Suivant.
-
Étape 3 : Configuration supplémentaire Configurez ce qui suit, puis choisissez Next :
Configuration du chiffrement : par défaut, les données sont chiffrées avec le chiffrement Amazon S3 par défaut. Pour utiliser une clé gérée par le client, sélectionnez Personnaliser les paramètres de chiffrement (avancés).
Accès au service : pour l'ARN du rôle IAM, choisissez ou créez le rôle IAM qui accorde l'accès à la destination. Choisissez Create IAM role pour en créer un.
File d'attente lettre morte : pour l'URI du compartiment S3, choisissez le compartiment Amazon S3 qui stocke les enregistrements non livrables. Définissez éventuellement un préfixe de sortie d'erreur du compartiment S3.
Livraison du journal : sélectionnez éventuellement Deliver to Amazon CloudWatch Logs pour enregistrer les diagnostics de livraison.
Balises : ajoutez éventuellement des balises clé-valeur pour identifier et organiser votre livraison.
-
Étape 4 : Révisez et créez. Vérifiez votre configuration, puis choisissez Créer une table de diffusion. La livraison passe de CREATING à ACTIVE une fois le provisionnement terminé.
Utilisation de AWS CLI
Utilisez la create-channel commande pour créer une distribution de table de streaming. Cette configuration nécessite un schéma issu du registre des AWS Glue schémas et une file d'attente de lettres mortes :
aws kinesis create-channel \ --channel-name "my-iceberg-delivery" \ --service-execution-role-arn "arn:aws:iam::111122223333:role/my-channel-role" \ --stream-configuration-list '[ { "StreamARN": "arn:aws:kinesis:us-east-1:111122223333:stream/my-stream", "RecordConfiguration": { "RecordFormatType": "JSON", "GSRSchemaARN": "arn:aws:glue:us-east-1:111122223333:schema/my-registry/my-schema" } } ]' \ --s3-tables-destination-configuration '{ "DataFreshnessInSeconds": 300, "DeadLetterQueueS3Configuration": { "BucketARN": "arn:aws:s3:::amzn-s3-demo-dlq-bucket", "ExpectedBucketOwner": "111122223333", "ErrorOutputPrefix": "dlq/" }, "S3TablesConfigurationList": [ { "TableBucketARN": "arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket", "Namespace": "my_namespace", "TableName": "my_table", "CompressionType": "ZSTD", "PartitionSpec": { "PartitionFields": [ { "SourceName": "timestamp", "Transform": "TIME_HOUR" } ] } } ] }'
La commande renvoie le canal ARN (ChannelARN). Utilisez-le avec describe-channel pour vérifier que la livraison atteint l'état ACTIF. Consultez Décrire la distribution d'une table de streaming.
Référence d'API : voir CreateChannel la référence d'API Amazon Kinesis Data Streams.