As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Modelo de chave de saída S3 para entrega do Amazon S3
Ao entregar para buckets do Amazon S3 de uso geral, você pode configurar um modelo de chave de saída do S3 para controlar a estrutura da chave de objeto dos arquivos entregues. O modelo de chave é opcional — se não for especificado, a entrega do Amazon S3 usa o modelo padrão.
Modelo padrão
Se você não especificar um modelo de chave personalizado, a entrega do Amazon S3 usará o seguinte padrão:
kinesis-channel/!{channel-name}/!{channel-id}/!{yyyy}/!{MM}/!{dd}/!{HH}/!{channel-name}-!{channel-id}-!{yyyy}-!{MM}-!{dd}-!{HH}-!{mm}!{extension}
A parte antes da última barra (/) forma o prefixo da chave do objeto (a estrutura da pasta) e o último segmento forma o nome do objeto. O modelo padrão organiza os objetos entregues por canal e por hora e repete os mesmos valores no nome do objeto para que cada objeto seja autodescritivo. O Amazon Kinesis Data Streams anexa automaticamente um sufixo exclusivo a cada chave de objeto, portanto, as chaves de objeto são exclusivas mesmo quando o modelo não inclui um componente de tempo suficiente para diferenciá-las.
Variáveis de modelo
As variáveis a seguir estão disponíveis para uso em seu modelo de chave:
| Variável | Description | Valor de exemplo |
|---|---|---|
!{channel-name} |
O nome da entrega. | my-channel |
!{channel-id} |
O identificador exclusivo da entrega. | abc123def456 |
!{stream-name} |
O nome do stream de origem do Kinesis Data Streams. | my-stream |
!{yyyy} |
Four-digit ano (UTC). | 2026 |
!{yy} |
Two-digit ano (UTC). | 26 |
!{MM} |
Two-digit mês (UTC), preenchido com zero. | 07 |
!{dd} |
Two-digit dia do mês (UTC), preenchido com zero. | 20 |
!{HH} |
Two-digit hora (UTC, 24 horas), preenchida com zero. | 14 |
!{mm} |
Two-digit minuto (UTC), preenchido com zero. | 30 |
!{extension} |
Uma extensão de arquivo derivada do tipo de compactação configurado (por exemplo, .gz para GZIP ou .zst ZSTD). Se estiver presente, ele deve aparecer no final do modelo. |
.gz |
!{extension:. |
Uma extensão de arquivo literal que você especifica. Deve começar com um ponto e conter somente letras minúsculas e pontos. Se estiver presente, ele deve aparecer no final do modelo. | !{extension:.json} |
Regras de modelo
Os modelos principais devem estar em conformidade com as seguintes regras:
-
Depois que todas as variáveis forem expandidas, a chave de objeto resultante não deve exceder o limite de chave de objeto do Amazon S3 de 1.024 caracteres. Como o Amazon Kinesis Data Streams acrescenta um sufixo exclusivo de até 38 caracteres, o modelo expandido em si não deve exceder 986 caracteres.
-
Não deve conter travessia de caminho: nenhum ponto consecutivo (
..), nenhum segmento de caminho somente de período (.) e não deve começar com uma barra ()./ -
Não deve conter barras consecutivas (
//). -
Cada espaço reservado para variável deve ser fechado (cada um
!{deve ter uma correspondência}) e usar um nome de variável compatível. -
Os caracteres literais permitidos são caracteres alfanuméricos e os seguintes:
! - _ ' . * ( ) / =. O=caractere permite que você expresse o Hive-style particionamento, como.year=!{yyyy}/month=!{MM}/ -
O modelo pode conter no máximo um espaço reservado para extensão (
!{extension}ou!{extension:.) e, se estiver presente, deve aparecer no final do modelo.literal} -
Quando a compactação (GZIP ou ZSTD) está ativada, o modelo deve incluir um espaço reservado para a extensão.
nota
Você não precisa incluir uma variável de exclusividade no modelo. O Amazon Kinesis Data Streams anexa automaticamente um sufixo exclusivo a cada chave de objeto entregue.
Exemplos válidos e inválidos
| Modelo | Válido | Motivo |
|---|---|---|
!{channel-name}/!{yyyy}/!{MM}/!{dd}/!{HH}/records!{extension} |
Sim | Usa variáveis suportadas e termina com um único espaço reservado para extensão. |
data/stream=!{stream-name}/!{yyyy}-!{MM}-!{dd}/!{HH}!{mm}!{extension:.json} |
Sim | Hive-style particionamento com uma extensão literal no final. |
!{channel-name}/!{channel-id} |
Sim | Modelo mínimo. O Kinesis Data Streams acrescenta automaticamente um sufixo exclusivo. |
/data/!{channel-name}!{extension} |
Não | Começa com uma barra para frente. |
data/../!{channel-name}!{extension} |
Não | Contém traversal de caminho ()... |
data//!{channel-name}!{extension} |
Não | Contém barras consecutivas (//). |
!{channel-name}!{extension}/!{yyyy} |
Não | O espaço reservado para a extensão não está no final do modelo. |
data/!{partition-id}!{extension} |
Não | !{partition-id}não é uma variável suportada. |
data/!{channel-name}(com compressão GZIP ou ZSTD) |
Não | A compactação está ativada, mas o modelo não tem espaço reservado para extensão. |
data/!{channel-name}/!{yyyy}(sem chave de fechamento) |
Não | Espaço reservado para variável não fechado. |