Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Comprendi i prefissi personalizzati per gli oggetti Amazon S3
<evaluated prefix><suffix>Gli oggetti consegnati ad Amazon S3 seguono il formato del nome di. Puoi specificare il tuo prefisso personalizzato che include espressioni che vengono valutate in fase di esecuzione. Il prefisso personalizzato specificato sostituirà il prefisso predefinito di. YYYY/MM/dd/HH
Puoi utilizzare le seguenti forme di espressione nel prefisso personalizzato: !{namespace:
, dove value
}namespace
può essere uno dei seguenti, come descritto nelle sezioni successive.
-
firehose
-
timestamp
-
partitionKeyFromQuery
-
partitionKeyFromLambda
Se un prefisso termina con una barra, viene visualizzato come cartella nel bucket Amazon S3. Per ulteriori informazioni, consulta Amazon S3 Object Name Format nella Amazon Data FirehoseDeveloper Guide.
Spazio dei nomi timestamp
I valori validi per questo spazio dei nomi sono stringhe che sono stringhe Java valide. DateTimeFormatter!{timestamp:yyyy}
restituisce 2018
.
Durante la valutazione dei timestamp, Firehose utilizza il timestamp di arrivo approssimativo del record più vecchio contenuto nell'oggetto Amazon S3 in fase di scrittura.
Per impostazione predefinita, UTC il timestamp è attivo. Tuttavia, puoi specificare il fuso orario che preferisci. Ad esempio, puoi configurare il fuso orario per Asia/Tokyo nel AWS Management Console o nell'impostazione API dei parametri (CustomTimeZone) se si desidera utilizzare l'ora solare giapponese anziché. UTC Per visualizzare l'elenco dei fusi orari supportati, consulta Amazon S3 Object Name Format.
Se utilizzi lo spazio dei nomi timestamp
più di una volta nella stessa espressione del prefisso, ogni istanza restituisce lo stesso istante temporale.
Spazio dei nomi firehose
Con questo spazio dei nomi puoi utilizzare due valori: error-output-type
e random-string
. La tabella seguente spiega come utilizzarli.
Conversione | Descrizione | Input di esempio | Output di esempio | Note |
---|---|---|---|---|
error-output-type |
Restituisce una delle seguenti stringhe, a seconda della configurazione del flusso Firehose e del motivo dell'errore: {processing-failed, AmazonOpenSearchService -failed, splunk-failed,,}. format-conversion-failed http-endpoint-failed Se lo utilizzi più di una volta nella stessa espressione, ogni istanza restituisce la stessa stringa di errore. |
myPrefix/result=!{firehose:error-output-type}/!{timestamp:yyyy/MM/dd} |
myPrefix/result=processing-failed/2018/08/03 |
Il valore può essere utilizzato solo nel campo. error-output-type ErrorOutputPrefix |
random-string |
Restituisce una stringa casuale di 11 caratteri. Se lo utilizzi più di una volta nella stessa espressione, ogni istanza restituisce una nuova stringa casuale. |
myPrefix/!{firehose:random-string}/ |
myPrefix/046b6c7f-0b/ |
Puoi utilizzarlo con entrambi i tipi di prefisso. Puoi posizionarlo all'inizio della stringa di formato per ottenere un prefisso randomizzato, che talvolta è necessario per ottenere una velocità di trasmissione effettiva estremamente elevata con Amazon S3. |
Spazi dei nomi partitionKeyFromLambda
e partitionKeyFromQuery
Per il partizionamento dinamico, è necessario utilizzare il seguente formato di espressione nel prefisso del bucket S3: !{namespace:value}
, dove lo spazio dei nomi può essere partitionKeyFromQuery
o partitionKeyFromLambda
o entrambi. Se si utilizza l'analisi in linea per creare le chiavi di partizionamento per i dati di origine, è necessario specificare un valore del prefisso del bucket S3 costituito da espressioni specificate nel seguente formato: "partitionKeyFromQuery:keyID"
. Se si utilizza un AWS
Funzione Lambda per creare chiavi di partizionamento per i dati di origine, è necessario specificare un valore di prefisso del bucket S3 costituito da espressioni specificate nel seguente formato:. "partitionKeyFromLambda:keyID"
Per ulteriori informazioni, consulta «Scegli Amazon S3 per la tua destinazione» in Creazione di uno stream Amazon Firehose.
Regole semantiche
Le seguenti regole si applicano alle espressioni Prefix
e ErrorOutputPrefix
.
-
Per lo spazio dei nomi
timestamp
, vengono restituiti tutti i caratteri che non sono tra virgolette singole. In altre parole, tutte le stringhe precedute da virgolette singole nel campo dei valori vengono prese alla lettera. -
Se si specifica un prefisso che non contiene un'espressione dello spazio dei nomi con timestamp, Firehose aggiunge l'espressione al valore nel
!{timestamp:yyyy/MM/dd/HH/}
campo.Prefix
-
La sequenza
!{
può comparire solo nelle espressioni!{namespace:
.value
} -
ErrorOutputPrefix
può essere null soloPrefix
non contiene espressioni. In questo caso,Prefix
valuta<specified-prefix>yyyy/MM/DDD/HH/
eErrorOutputPrefix
valuta<specified-prefix><error-output-type>YYYY/MM/DDD/HH/
.DDD
rappresenta il giorno dell'anno. -
Se specifichi un'espressione per
ErrorOutputPrefix
, devi includere almeno un'istanza di!{firehose:error-output-type}
. -
Prefix
non può contenere!{firehose:error-output-type}
. -
Né
Prefix
néErrorOutputPrefix
possono contenere più di 512 dopo la restituzione. -
Se la destinazione è Amazon Redshift,
Prefix
non deve contenere espressioni eErrorOutputPrefix
deve essere null. -
Quando la destinazione è Amazon OpenSearch Service o Splunk e non
ErrorOutputPrefix
viene specificato alcun valore, Firehose utilizzaPrefix
il campo per i record non riusciti. -
Quando la destinazione è Amazon S3,
Prefix
eErrorOutputPrefix
nella configurazione di destinazione di Amazon S3 vengono utilizzati rispettivamente per record riusciti e record non riusciti. Se utilizzi il plugin AWS CLI oppureAPI, è possibile utilizzareExtendedS3DestinationConfiguration
per specificare una configurazione di backup di Amazon S3 con una propriaPrefix
e.ErrorOutputPrefix
-
Quando si utilizza il AWS Management Console e imposta la destinazione su Amazon S3, Firehose utilizza la
Prefix
eErrorOutputPrefix
nella configurazione di destinazione rispettivamente per i record riusciti e i record con esito negativo. Se si specifica un prefisso utilizzando espressioni, è necessario specificare il prefisso di errore comprensivo di.!{firehose:error-output-type}
-
Quando si utilizza
ExtendedS3DestinationConfiguration
con AWS CLI, ilAPI, o AWS CloudFormation, se si specifica unS3BackupConfiguration
, Firehose non fornisce un valore predefinito.ErrorOutputPrefix
-
Non è possibile utilizzare gli
partitionKeyFromQuery
spazipartitionKeyFromLambda
dei nomi e durante la creazione di espressioni. ErrorOutputPrefix
Esempi di prefisso
Input | Prefisso valutato (alle 10:30 UTC del 27 agosto 2018) |
---|---|
|
|
|
Input non valido: ErrorOutputPrefix non può essere null se Prefix contiene espressioni |
|
|
|
|
|
|