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