InputT
- type of elements that should be persisted in the destination@PublicEvolving public class KinesisFirehoseSinkBuilder<InputT> extends AsyncSinkBaseBuilder<InputT,software.amazon.awssdk.services.firehose.model.Record,KinesisFirehoseSinkBuilder<InputT>>
KinesisFirehoseSink
.
The following example shows the minimum setup to create a KinesisFirehoseSink
that
writes String values to a Kinesis Data Firehose delivery stream named delivery-stream-name.
Properties sinkProperties = new Properties();
sinkProperties.put(AWSConfigConstants.AWS_REGION, "eu-west-1");
KinesisFirehoseSink<String> kdfSink =
KinesisFirehoseSink.<String>builder()
.setElementConverter(elementConverter)
.setDeliveryStreamName("delivery-stream-name")
.setMaxBatchSize(20)
.setFirehoseClientProperties(sinkProperties)
.setSerializationSchema(new SimpleStringSchema())
.build();
If the following parameters are not set in this builder, the following defaults will be used:
maxBatchSize
will be 500
maxInFlightRequests
will be 50
maxBufferedRequests
will be 10000
maxBatchSizeInBytes
will be 4 MB i.e. 4 * 1024 * 1024
maxTimeInBufferMS
will be 5000ms
maxRecordSizeInBytes
will be 1000 KB i.e. 1000 * 1024
failOnError
will be false
Modifier and Type | Method and Description |
---|---|
KinesisFirehoseSink<InputT> |
build()
Builds the Sink with the settings applied to this builder.
|
KinesisFirehoseSinkBuilder<InputT> |
setDeliveryStreamName(String deliveryStreamName)
Sets the name of the KDF delivery stream that the sink will connect to.
|
KinesisFirehoseSinkBuilder<InputT> |
setFailOnError(boolean failOnError)
If writing to Kinesis Data Firehose results in a partial or full failure being returned, the
job will fail immediately with a
KinesisFirehoseException if failOnError is set. |
KinesisFirehoseSinkBuilder<InputT> |
setFirehoseClientProperties(Properties firehoseClientProperties)
A set of properties used by the sink to create the firehose client.
|
KinesisFirehoseSinkBuilder<InputT> |
setSerializationSchema(SerializationSchema<InputT> serializationSchema)
Allows the user to specify a serialization schema to serialize each record to persist to
Firehose.
|
getMaxBatchSize, getMaxBatchSizeInBytes, getMaxBufferedRequests, getMaxInFlightRequests, getMaxRecordSizeInBytes, getMaxTimeInBufferMS, setMaxBatchSize, setMaxBatchSizeInBytes, setMaxBufferedRequests, setMaxInFlightRequests, setMaxRecordSizeInBytes, setMaxTimeInBufferMS
public KinesisFirehoseSinkBuilder<InputT> setDeliveryStreamName(String deliveryStreamName)
deliveryStreamName
- the name of the delivery streamKinesisFirehoseSinkBuilder
itselfpublic KinesisFirehoseSinkBuilder<InputT> setSerializationSchema(SerializationSchema<InputT> serializationSchema)
serializationSchema
- serialization schema to useKinesisFirehoseSinkBuilder
itselfpublic KinesisFirehoseSinkBuilder<InputT> setFailOnError(boolean failOnError)
KinesisFirehoseException
if failOnError is set.failOnError
- whether to fail on errorKinesisFirehoseSinkBuilder
itselfpublic KinesisFirehoseSinkBuilder<InputT> setFirehoseClientProperties(Properties firehoseClientProperties)
firehoseClientProperties
- Firehose client propertiesKinesisFirehoseSinkBuilder
itselfpublic KinesisFirehoseSink<InputT> build()
AsyncSinkBaseBuilder
build
in class AsyncSinkBaseBuilder<InputT,software.amazon.awssdk.services.firehose.model.Record,KinesisFirehoseSinkBuilder<InputT>>
Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.