Envio de dados com o AWS SDK - Amazon Data Firehose

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

Envio de dados com o AWS SDK

É possível usar a API do Amazon Data Firehose para enviar dados para um fluxo do Firehose usando o AWS SDK para Java, .NET, Node.js, Python ou Ruby. Se você estiver começando a usar o Amazon Data Firehose, dedique algum tempo para se familiarizar com os conceitos e a terminologia apresentados em O que é o Amazon Data Firehose?. Para obter mais informações, consulte Comece a desenvolver usando a Amazon Web Services.

Esses exemplos não representam um código pronto para produção, pois não verificam todas as exceções possíveis nem abrangem todas as considerações de segurança ou de performance possíveis.

A API do Amazon Data Firehose oferece duas operações para envio de dados ao fluxo do firehose: PutRecord e PutRecordBatch. O PutRecord() envia um registro de dados em uma única chamada e o PutRecordBatch() pode enviar vários registros de dados em uma única chamada.

Operações de gravação única usando PutRecord

A inserção de dados exige apenas o nome do fluxo do Firehose e um buffer de bytes (<=1000 KB). Como o Amazon Data Firehose coloca vários registros em lote antes de carregar o arquivo no Amazon S3, talvez você queira adicionar um separador de registro. Para inserir dados em um registro por vez em um fluxo do Firehose, use o código a seguir:

PutRecordRequest putRecordRequest = new PutRecordRequest(); putRecordRequest.setDeliveryStreamName(deliveryStreamName); String data = line + "\n"; Record record = new Record().withData(ByteBuffer.wrap(data.getBytes())); putRecordRequest.setRecord(record); // Put record into the DeliveryStream firehoseClient.putRecord(putRecordRequest);

Para obter mais contexto de código, consulte o exemplo de código incluído no AWS SDK. Para obter informações sobre a sintaxe de solicitação e de resposta, consulte o tópico relevante em Operações de API do Firehose.

Operações de gravação em lote usando PutRecordBatch

A inserção de dados só exige o nome do fluxo do Firehose e uma lista de registros. Como o Amazon Data Firehose coloca vários registros em lote antes de carregar o arquivo no Amazon S3, talvez você queira adicionar um separador de registro. Para inserir registros de dados em lotes em um fluxo do Firehose, use o código a seguir:

PutRecordBatchRequest putRecordBatchRequest = new PutRecordBatchRequest(); putRecordBatchRequest.setDeliveryStreamName(deliveryStreamName); putRecordBatchRequest.setRecords(recordList); // Put Record Batch records. Max No.Of Records we can put in a // single put record batch request is 500 firehoseClient.putRecordBatch(putRecordBatchRequest); recordList.clear();

Para obter mais contexto de código, consulte o exemplo de código incluído no AWS SDK. Para obter informações sobre a sintaxe de solicitação e de resposta, consulte o tópico relevante em Operações de API do Firehose.