View a markdown version of this page

Modello di chiave di output S3 per la consegna di Amazon S3 - Flusso di dati Amazon Kinesis

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à.

Modello di chiave di output S3 per la consegna di Amazon S3

Quando effettui la consegna a bucket Amazon S3 generici, puoi configurare un modello di chiave di output S3 per controllare la struttura delle chiavi oggetto dei file consegnati. Il modello di chiave è facoltativo: se non specificato, Amazon S3 Delivery utilizza il modello predefinito.

Modello Default (Predefinito)

Se non specifichi un modello di chiave personalizzato, Amazon S3 Delivery utilizza il seguente valore predefinito:

kinesis-channel/!{channel-name}/!{channel-id}/!{yyyy}/!{MM}/!{dd}/!{HH}/!{channel-name}-!{channel-id}-!{yyyy}-!{MM}-!{dd}-!{HH}-!{mm}!{extension}

La parte prima dell'ultima barra (/) costituisce il prefisso della chiave dell'oggetto (la struttura delle cartelle) e l'ultimo segmento costituisce il nome dell'oggetto. Il modello predefinito organizza gli oggetti consegnati per canale e per ora e ripete gli stessi valori nel nome dell'oggetto in modo che ogni oggetto sia autodescrittivo. Amazon Kinesis Data Streams aggiunge automaticamente un suffisso univoco a ogni chiave dell'oggetto, quindi le chiavi dell'oggetto sono uniche anche quando il modello non include una componente temporale sufficientemente precisa da distinguerle.

Variabili di modello

Le seguenti variabili sono disponibili per l'uso nel modello di chiave:

Variabili del modello chiave S3
Variabile Description Valore di esempio
!{channel-name} Il nome della consegna. my-channel
!{channel-id} L'identificativo univoco della spedizione. abc123def456
!{stream-name} Il nome dello stream Kinesis Data Streams di origine. my-stream
!{yyyy} Four-digit anno (UTC). 2026
!{yy} Two-digit anno (UTC). 26
!{MM} Two-digit mese (UTC), riempito con zero. 07
!{dd} Two-digit giorno del mese (UTC), con zero. 20
!{HH} Two-digit ora (UTC, 24 ore), con zero. 14
!{mm} Two-digit minuto (UTC), con riempimento zero. 30
!{extension} Un'estensione di file derivata dal tipo di compressione configurato (ad esempio, per GZIP o .gz per ZSTD). .zst Se presente, deve apparire alla fine del modello. .gz
!{extension:.literal} Un'estensione di file letterale specificata dall'utente. Deve iniziare con un punto e contenere solo lettere minuscole e punti. Se presente, deve apparire alla fine del modello. !{extension:.json}

Regole del modello

I modelli chiave devono essere conformi alle seguenti regole:

  • Dopo che tutte le variabili sono state espanse, la chiave oggetto risultante non deve superare il limite della chiave oggetto di Amazon S3 di 1.024 caratteri. Poiché Amazon Kinesis Data Streams aggiunge un suffisso univoco composto da un massimo di 38 caratteri, il modello espanso stesso non deve superare i 986 caratteri.

  • Non deve contenere percorsi attraversati: nessun punto consecutivo (..), nessun segmento di percorso composto solo da punti () e non deve iniziare con una barra (.). /

  • Non deve contenere barre consecutive (). //

  • Ogni segnaposto variabile deve essere chiuso (ognuno !{ deve avere una corrispondenza}) e deve utilizzare un nome di variabile supportato.

  • I caratteri letterali consentiti sono i caratteri alfanumerici e i seguenti:. ! - _ ' . * ( ) / = Il = carattere consente di esprimere il Hive-style partizionamento, ad esempio. year=!{yyyy}/month=!{MM}/

  • Il modello può contenere al massimo un segnaposto di estensione (!{extension}o!{extension:.literal}) e, se presente, deve apparire alla fine del modello.

  • Quando la compressione (GZIP o ZSTD) è abilitata, il modello deve includere un segnaposto di estensione.

Nota

Non è necessario includere una variabile di unicità nel modello. Amazon Kinesis Data Streams aggiunge automaticamente un suffisso univoco a ciascuna chiave oggetto fornita.

Esempi validi e non validi

Esempi chiave di modelli
Modello Valida Motivo
!{channel-name}/!{yyyy}/!{MM}/!{dd}/!{HH}/records!{extension} Sì Utilizza le variabili supportate e termina con un singolo segnaposto di estensione.
data/stream=!{stream-name}/!{yyyy}-!{MM}-!{dd}/!{HH}!{mm}!{extension:.json} Sì Hive-style partizionamento con un'estensione letterale alla fine.
!{channel-name}/!{channel-id} Sì Modello minimale. Kinesis Data Streams aggiunge automaticamente un suffisso univoco.
/data/!{channel-name}!{extension} No Inizia con una barra in avanti.
data/../!{channel-name}!{extension} No Contiene path traversal (). ..
data//!{channel-name}!{extension} No Contiene barre consecutive (). //
!{channel-name}!{extension}/!{yyyy} No Il segnaposto dell'estensione non si trova alla fine del modello.
data/!{partition-id}!{extension} No !{partition-id}non è una variabile supportata.
data/!{channel-name}(con compressione GZIP o ZSTD) No La compressione è abilitata ma il modello non ha un segnaposto di estensione.
data/!{channel-name}/!{yyyy}(parentesi di chiusura mancante) No Segnaposto variabile non chiuso.