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.
Modèle de clé de sortie S3 pour la livraison d'Amazon S3
Lors de la diffusion vers des compartiments Amazon S3 à usage général, vous pouvez configurer un modèle de clé de sortie S3 pour contrôler la structure des clés d'objet des fichiers livrés. Le modèle clé est facultatif. S'il n'est pas spécifié, la livraison Amazon S3 utilise le modèle par défaut.
Modèle Default
Si vous ne spécifiez pas de modèle de clé personnalisé, la livraison Amazon S3 utilise la valeur par défaut suivante :
kinesis-channel/!{channel-name}/!{channel-id}/!{yyyy}/!{MM}/!{dd}/!{HH}/!{channel-name}-!{channel-id}-!{yyyy}-!{MM}-!{dd}-!{HH}-!{mm}!{extension}
La partie précédant la dernière barre oblique (/) constitue le préfixe de la clé de l'objet (la structure des dossiers) et le dernier segment constitue le nom de l'objet. Le modèle par défaut organise les objets livrés par canal et par heure, et répète les mêmes valeurs dans le nom de l'objet afin que chaque objet se décrive lui-même. Amazon Kinesis Data Streams ajoute automatiquement un suffixe unique à chaque clé d'objet, de sorte que les clés d'objet sont uniques même lorsque le modèle ne comporte pas de composante temporelle suffisamment précise pour les distinguer.
Variables de modèle
Les variables suivantes peuvent être utilisées dans votre modèle de clé :
| Variable | Description | Exemple de valeur |
|---|---|---|
!{channel-name} |
Le nom de la livraison. | my-channel |
!{channel-id} |
L'identifiant unique de la livraison. | abc123def456 |
!{stream-name} |
Nom du flux Kinesis Data Streams source. | my-stream |
!{yyyy} |
Four-digit année (UTC). | 2026 |
!{yy} |
Two-digit année (UTC). | 26 |
!{MM} |
Two-digit mois (UTC), complété par des zéros. | 07 |
!{dd} |
Two-digit jour du mois (UTC), complété par des zéros. | 20 |
!{HH} |
Two-digit heure (UTC, 24 heures), complétée par des zéros. | 14 |
!{mm} |
Two-digit minute (UTC), complétée par des zéros. | 30 |
!{extension} |
Extension de fichier dérivée du type de compression configuré (par exemple, pour GZIP ou .gz .zst pour ZSTD). S'il est présent, il doit apparaître à la fin du modèle. |
.gz |
!{extension:. |
Extension de fichier littérale que vous spécifiez. Doit commencer par un point et ne contenir que des lettres minuscules et des points. S'il est présent, il doit apparaître à la fin du modèle. | !{extension:.json} |
Règles relatives aux modèles
Les modèles clés doivent être conformes aux règles suivantes :
-
Une fois toutes les variables développées, la clé d'objet obtenue ne doit pas dépasser la limite de 1 024 caractères de clé d'objet Amazon S3. Comme Amazon Kinesis Data Streams ajoute un suffixe unique de 38 caractères maximum, le modèle développé lui-même ne doit pas dépasser 986 caractères.
-
Ne doit pas contenir de traversée de chemin : pas de points consécutifs (
..), pas de segment de chemin composé uniquement de périodes (.), et ne doit pas commencer par une barre oblique ()./ -
Ne doit pas contenir de barres obliques consécutives ()
//. -
Chaque espace réservé à une variable doit être fermé (chacun
!{doit avoir une correspondance}) et doit utiliser un nom de variable pris en charge. -
Les caractères littéraux autorisés sont les caractères alphanumériques et les suivants :.
! - _ ' . * ( ) / =Le=personnage vous permet d'exprimer le Hive-style partitionnement, par exempleyear=!{yyyy}/month=!{MM}/. -
Le modèle peut contenir au plus un espace réservé d'extension (
!{extension}ou!{extension:.), et s'il est présent, il doit apparaître à la fin du modèle.literal} -
Lorsque la compression (GZIP ou ZSTD) est activée, le modèle doit inclure un espace réservé pour les extensions.
Note
Il n'est pas nécessaire d'inclure une variable d'unicité dans le modèle. Amazon Kinesis Data Streams ajoute automatiquement un suffixe unique à chaque clé d'objet livrée.
Exemples valides et non valides
| Modèle | Valide | Raison |
|---|---|---|
!{channel-name}/!{yyyy}/!{MM}/!{dd}/!{HH}/records!{extension} |
Oui | Utilise des variables prises en charge et se termine par un seul espace réservé à l'extension. |
data/stream=!{stream-name}/!{yyyy}-!{MM}-!{dd}/!{HH}!{mm}!{extension:.json} |
Oui | Hive-style partitionnement avec une extension littérale à la fin. |
!{channel-name}/!{channel-id} |
Oui | Modèle minimal. Kinesis Data Streams ajoute automatiquement un suffixe unique. |
/data/!{channel-name}!{extension} |
Non | Commence par une barre oblique. |
data/../!{channel-name}!{extension} |
Non | Contient la traversée du chemin (..). |
data//!{channel-name}!{extension} |
Non | Contient des barres obliques consécutives ()//. |
!{channel-name}!{extension}/!{yyyy} |
Non | L'espace réservé à l'extension ne se trouve pas à la fin du modèle. |
data/!{partition-id}!{extension} |
Non | !{partition-id}n'est pas une variable prise en charge. |
data/!{channel-name}(avec compression GZIP ou ZSTD) |
Non | La compression est activée mais le modèle ne possède aucun espace réservé pour les extensions. |
data/!{channel-name}/!{yyyy}(orthèse de fermeture manquante) |
Non | Espace réservé variable non fermé. |