View a markdown version of this page

Como funciona a entrega do Amazon S3 - Amazon Kinesis Data Streams

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

Como funciona a entrega do Amazon S3

Use este tópico para saber como uma entrega do Amazon S3 envia registros de um stream do Amazon Kinesis Data Streams para buckets do Amazon Simple Storage Service de uso geral, incluindo configuração de armazenamento, compressão, classe de armazenamento, formatos de registro e criptografia.

Como funciona a entrega

Uma entrega do Amazon S3 envia registros para buckets do Amazon S3 de uso geral nas seguintes etapas:

  1. Leitura — a entrega lê registros de todos os fragmentos no stream do Kinesis Data Streams.

  2. Buffer — os registros são armazenados em buffer até que o intervalo de atualização dos dados seja atingido.

  3. Validar — quando o formato do registro éSTRING, cada registro é validado como uma UTF-8 string válida; quando o formato do registro éJSON, cada registro é validado como uma carga útil JSON válida. Os registros que falham na validação são enviados para a fila de cartas mortas.

  4. Compactar e formatar — os registros são formatados de acordo com o formato de saída configurado e compactados usando o algoritmo de compactação especificado.

  5. Entrega — os objetos resultantes são gravados no bucket de destino do Amazon S3 usando o modelo de chave configurado.

  6. Dead-letter fila — os registros que falham na validação são gravados na fila de cartas mortas com contexto de erro.

Configuração de armazenamento

Ao criar uma entrega do Amazon S3, você especifica a seguinte configuração de armazenamento:

  • bucketArn — o ARN do bucket de destino do Amazon S3.

  • ExpectedBucketOwner— o Conta da AWS ID de 12 dígitos do proprietário esperado do bucket de destino. Esse valor é obrigatório e ajuda a evitar a entrega em um bucket não intencional se a propriedade mudar.

  • CompressionType— o tipo de compressão aplicado aos objetos entregues. Esse valor é obrigatório; especifique NONE para entregar objetos sem compressão. Consulte Opções de compressão.

  • StorageClass— a classe de armazenamento Amazon S3 para objetos entregues (opcional). Consulte Classe de armazenamento.

  • OutputKeyTemplate— o modelo usado para construir a chave de objeto do Amazon S3 (opcional). Consulte Modelo de chave de saída S3 para entrega do Amazon S3.

Opções de compressão

Você deve especificar um tipo de compressão para entrega aos buckets do Amazon S3 de uso geral. Para entregar objetos sem compressão, escolhaNONE. Escolha um dos seguintes tipos de compressão:

  • GZIP — compressão gzip padrão. Bom equilíbrio entre taxa de compressão e velocidade.

  • STD — Compressão padrão Z. Maior taxa de compressão com descompressão mais rápida.

  • NENHUM — nenhuma compressão aplicada. Os registros são entregues sem compressão.

Classe de armazenamento

Opcionalmente, você pode especificar a classe de armazenamento Amazon S3 para objetos entregues. Se não for especificada, a classe de armazenamento padrão é STANDARD. Classes de armazenamento suportadas:

  • STANDARD — armazenamento de uso geral para dados acessados com frequência.

  • INTELLIGENT_TIERING — move automaticamente os dados entre os níveis de acesso com base nos padrões de uso.

  • GLACIER_IR — armazenamento de baixo custo para dados que exigem recuperação imediata.

Para obter mais informações sobre as classes de armazenamento do Amazon S3, consulte Entendendo e gerenciando as classes de armazenamento no Guia do usuário do Amazon S3.

Modelo de chave de saída

Você pode configurar o modelo da chave de saída para controlar a estrutura da chave de objeto do Amazon S3 para os arquivos entregues. O modelo oferece suporte a espaços reservados dinâmicos para metadados de data, hora e entrega para organizar seus dados no bucket de destino. Para ver o modelo padrão, as variáveis suportadas e os exemplos, consulteModelo de chave de saída S3 para entrega do Amazon S3.

Atualização de dados

A atualização dos dados define o tempo máximo de armazenamento em buffer antes que os registros sejam entregues. Você pode configurar esse valor entre 300 e 900 segundos (5 a 15 minutos). O padrão é trezentos segundos. Valores mais baixos fornecem entrega mais rápida, enquanto valores mais altos produzem menos objetos maiores.

Dead-letter fila

Uma fila de cartas mortas é opcional para entrega em buckets do Amazon S3 de uso geral. Se você não especificar uma configuração de fila de cartas mortas, o padrão de entrega é gravar informações de erro no mesmo bucket de destino com um prefixo de erro.

Se você especificar uma fila de cartas mortas, forneça o seguinte:

  • BuckeTarn — o ARN do bucket do Amazon S3 que recebe informações sobre registros que não puderam ser entregues.

  • ExpectedBucketOwner— o Conta da AWS ID de 12 dígitos do proprietário esperado do intervalo da fila de cartas mortas (necessário quando você especifica uma fila de cartas mortas).

  • ErrorOutputPrefix— um prefixo opcional para organizar os objetos de metadados de falha dentro do bucket.

Formatos de gravação

As entregas do Amazon S3 suportam os seguintes formatos de registro para entrega em buckets do Amazon S3 de uso geral:

  • JSON — registros JSON simples.

  • STRING — registros de UTF-8 string.

  • BYTE_ARRAY — registros binários brutos.

nota

O formato de GSR_JSON registro não é suportado para entrega em buckets do Amazon S3 de uso geral. Ele é suportado somente para entrega em tabelas de streaming no Apache Iceberg, que exigem o AWS Glue Schema Registry.

Cross-account entrega

As entregas do Amazon S3 oferecem suporte à entrega entre contas para buckets do Amazon S3 de uso geral. O fluxo de origem e o bucket de destino devem estar no mesmo Região da AWS. Configure a política do bucket de destino para conceder permissão à função IAM de entrega para gravar objetos.

Criptografia

As entregas do Amazon S3 oferecem suporte à criptografia do lado do servidor com AWS KMS chaves gerenciadas pelo cliente para objetos entregues a buckets do Amazon S3 de uso geral. Você pode especificar uma AWS KMS chave gerenciada pelo cliente para criptografar objetos entregues.

Importante

Você não pode usar o aws/kinesis AWS KMS alias para criptografia de destino. Você deve usar uma chave gerenciada pelo cliente AWS KMS .

Se o stream de dados de origem do Kinesis estiver criptografado, outras considerações se aplicam. Um stream criptografado com um Chave gerenciada pela AWS (o aws/kinesis alias) não é suportado, e a função de execução do serviço exige AWS KMS permissões para descriptografar os registros de origem. Para saber os requisitos de criptografia do fluxo de origem, consulteCriptografia do fluxo de origem. Para obter as AWS KMS permissões de que a função de execução do serviço precisa, consultePermissões do IAM para entrega de dados.