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.
Comprendre les préfixes personnalisés pour les objets Amazon S3
Les objets livrés à Amazon S3 suivent le format de nom de <evaluated prefix><suffix>. Vous pouvez spécifier votre préfixe personnalisé qui inclut les expressions évaluées lors de l'exécution. Le préfixe personnalisé que vous spécifiez remplacera le préfixe par défaut de. yyyy/MM/dd/HH
Vous pouvez utiliser les expressions ayant le format suivant dans votre préfixe personnalisé : !{namespace:
, où value
}namespace
peut être l'un des éléments suivants, comme expliqué dans les sections suivantes.
-
firehose
-
timestamp
-
partitionKeyFromQuery
-
partitionKeyFromLambda
Si un préfixe se termine par une barre oblique, il apparaît comme dossier dans le compartiment Amazon S3. Pour plus d'informations, consultez le format du nom d'objet Amazon S3 dans le Amazon Data FirehoseDeveloper Guide.
Espace de noms timestamp
Les valeurs valides pour cet espace de noms sont des DateTimeFormatter chaînes Java!{timestamp:yyyy}
est évaluée sur 2018
.
Lors de l'évaluation des horodatages, Firehose utilise l'horodatage d'arrivée approximatif du plus ancien enregistrement contenu dans l'objet Amazon S3 en cours d'écriture.
Par défaut, l'horodatage est activé. UTC Mais vous pouvez spécifier le fuseau horaire que vous préférez. Par exemple, vous pouvez configurer le fuseau horaire vers Asie/Tokyo dans le réglage AWS Management Console des API paramètres (CustomTimeZone) si vous souhaitez utiliser l'heure normale du Japon au lieu de. UTC Pour consulter la liste des fuseaux horaires pris en charge, consultez Amazon S3 Object Name Format.
Si vous utilisez l'espace de noms timestamp
plusieurs fois dans la même expression de préfixe, chaque instance est évaluée sur le même instantané dans le temps.
Espace de noms firehose
Il existe deux valeurs que vous pouvez utiliser avec cet espace de noms : error-output-type
et random-string
. Le tableau suivant explique comment les utiliser.
Conversion | Description | Exemple d'entrée | Exemple de sortie | Remarques |
---|---|---|---|---|
error-output-type |
Évalue l'une des chaînes suivantes, en fonction de la configuration de votre stream Firehose et de la raison de l'échec : {processing-failed, -failed, splunk-failed AmazonOpenSearchService,,}. format-conversion-failed http-endpoint-failed Si vous utilisez l'espace de noms plusieurs fois dans la même expression, chaque instance est évaluée sur la même chaîne d'erreur. |
myPrefix/result=!{firehose:error-output-type}/!{timestamp:yyyy/MM/dd} |
myPrefix/result=processing-failed/2018/08/03 |
La error-output-type valeur ne peut être utilisée que dans le ErrorOutputPrefix champ. |
random-string |
Évaluation sur une chaîne aléatoire de 11 caractères. Si vous utilisez l'espace de noms plusieurs fois dans la même expression, chaque instance est évaluée sur une nouvelle chaîne aléatoire. |
myPrefix/!{firehose:random-string}/ |
myPrefix/046b6c7f-0b/ |
Vous pouvez l'utiliser avec les deux types de préfixe. Vous pouvez le placer au début de la chaîne de format pour obtenir un préfixe aléatoire, ce qui est parfois nécessaire pour atteindre un débit extrêmement élevé avec Amazon S3. |
Espaces de noms partitionKeyFromLambda
et partitionKeyFromQuery
Pour le partitionnement dynamique, vous devez utiliser le format d'expression suivant dans le préfixe de votre compartiment S3 : !{namespace:value}
, où l'espace de noms peut être partitionKeyFromQuery
ou partitionKeyFromLambda
, ou les deux. Si vous utilisez l'analyse en ligne pour créer les clés de partitionnement de vos données sources, vous devez spécifier une valeur de préfixe de compartiment S3 qui consiste en des expressions spécifiées dans le format suivant : "partitionKeyFromQuery:keyID"
. Si vous utilisez une fonction AWS
Lambda pour créer les clés de partitionnement de vos données sources, vous devez spécifier une valeur de préfixe de compartiment S3 qui consiste en des expressions spécifiées dans le format suivant : "partitionKeyFromLambda:keyID"
. Pour plus d'informations, consultez la section « Choisissez Amazon S3 pour votre destination » dans Création d'un flux Amazon Firehose.
Règles sémantiques
Les règles suivantes s'appliquent aux expressions Prefix
et ErrorOutputPrefix
.
-
Pour l'espace de noms
timestamp
, n'importe quel caractère autre que des guillemets simples est évalué. En d'autres termes, n'importe quelle chaîne dans une séquence d'échappement avec des guillemets simples dans le champ value est prise littéralement. -
Si vous spécifiez un préfixe qui ne contient pas d'expression d'espace de noms d'horodatage, Firehose ajoute l'expression
!{timestamp:yyyy/MM/dd/HH/}
à la valeur du champ.Prefix
-
La séquence
!{
peut uniquement apparaître dans les expressions!{namespace:
.value
} -
ErrorOutputPrefix
peut être null uniquement siPrefix
ne contient pas d'expressions. Dans ce cas,Prefix
correspond à<specified-prefix>yyyy/MM/DDD/HH/
etErrorOutputPrefix
correspond à<specified-prefix><error-output-type>yyyy/MM/DDD/HH/
.DDD
représente le jour de l'année. -
Si vous spécifiez une expression pour
ErrorOutputPrefix
, vous devez inclure au moins une instance de!{firehose:error-output-type}
. -
Prefix
ne peut pas contenir!{firehose:error-output-type}
. -
Ni
Prefix
niErrorOutputPrefix
ne peuvent être supérieurs à 512 caractères après leur évaluation. -
Si la destination est Amazon Redshift,
Prefix
ne doit pas contenir d'expressions etErrorOutputPrefix
doit être null. -
Lorsque la destination est Amazon OpenSearch Service ou Splunk, et qu'aucune n'
ErrorOutputPrefix
est spécifiée, Firehose utilisePrefix
le champ pour les enregistrements ayant échoué. -
Lorsque la destination est Amazon S3, les préfixes
Prefix
etErrorOutputPrefix
dans la configuration de destination Amazon S3 sont utilisés pour les enregistrements ayant réussi et les enregistrements ayant échoué, respectivement. Si vous utilisez le AWS CLI ou leAPI, vous pouvez l'utiliserExtendedS3DestinationConfiguration
pour spécifier une configuration de sauvegarde Amazon S3 avec son proprePrefix
etErrorOutputPrefix
. -
Lorsque vous utilisez le AWS Management Console et définissez la destination sur Amazon S3, Firehose utilise le
Prefix
etErrorOutputPrefix
dans la configuration de destination pour les enregistrements réussis et les enregistrements échoués, respectivement. Si vous spécifiez un préfixe à l'aide d'expressions, vous devez spécifier le préfixe d'erreur, y compris.!{firehose:error-output-type}
-
Lorsque vous utilisez
ExtendedS3DestinationConfiguration
avec le AWS CLI, le ou API AWS CloudFormation, si vous spécifiez unS3BackupConfiguration
, Firehose ne fournit pas de valeur par défaut.ErrorOutputPrefix
-
Vous ne pouvez pas utiliser
partitionKeyFromLambda
d'partitionKeyFromQuery
espaces de noms lorsque vous créez des ErrorOutputPrefix expressions.
Exemples de préfixe
Entrée | Préfixe évalué (à 10 h 30 le 27 UTC août 2018) |
---|---|
|
|
|
Saisie non valide : ErrorOutputPrefix ne peut pas être vide si le préfixe contient des expressions |
|
|
|
|
|
|