Envie dados com AWS SDK - Amazon Data Firehose

A entrega de streams do Amazon Data Firehose para tabelas Apache Iceberg no Amazon S3 está em versão prévia e está sujeita a alterações.

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

Envie dados com AWS SDK

Você pode usar o Amazon Data Firehose API para enviar dados para um stream do Firehose usando o AWS SDKpara Java,. NET, Node.js, Python ou Ruby. Se você é novo no Amazon Data Firehose, reserve um 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.

O Amazon Data Firehose API oferece duas operações para enviar dados para seu stream do Firehose: e. PutRecordPutRecordBatch PutRecord()envia um registro de dados em uma chamada e PutRecordBatch() pode enviar vários registros de dados em uma chamada.

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

A inserção de dados requer somente o nome do stream Firehose e um buffer de bytes (<=1000 KB). Como o Amazon Data Firehose agrupa vários registros antes de carregar o arquivo no Amazon S3, talvez você queira adicionar um separador de registros. Para colocar dados, um registro por vez, em um stream 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 resposta, consulte o tópico relevante em APIFirehose Operations.

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

A colocação de dados requer apenas o nome do stream Firehose e uma lista de registros. Como o Amazon Data Firehose agrupa vários registros antes de carregar o arquivo no Amazon S3, talvez você queira adicionar um separador de registros. Para colocar registros de dados em lotes em um stream 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 resposta, consulte o tópico relevante em APIFirehose Operations.