/** * Construct a synchronous implementation of AmazonKinesisFirehose using the current builder configuration. * * @param params * Current builder configuration represented as a parameter object. * @return Fully configured implementation of AmazonKinesisFirehose. */ @Override protected AmazonKinesisFirehose build(AwsSyncClientParams params) { return new AmazonKinesisFirehoseClient(params); }
/** * Create client using AWSCredentails * * @deprecated use {@link #createClient(ProcessContext, AWSCredentialsProvider, ClientConfiguration)} instead */ @Deprecated @Override protected AmazonKinesisFirehoseClient createClient(final ProcessContext context, final AWSCredentials credentials, final ClientConfiguration config) { getLogger().info("Creating client using aws credentials"); return new AmazonKinesisFirehoseClient(credentials, config); } }
/** * Create client using aws credentials provider. This is the preferred way for creating clients */ @Override protected AmazonKinesisFirehoseClient createClient(final ProcessContext context, final AWSCredentialsProvider credentialsProvider, final ClientConfiguration config) { getLogger().info("Creating client using aws credentials provider"); return new AmazonKinesisFirehoseClient(credentialsProvider, config); }
/** * Constructs a new Kinesis Firehose Recorder specifying a directory that * the recorder has exclusive access to for storing requests. * <p> * Note: Kinesis Firehose Recorder is synchronous, and it's methods should * not be called on the main thread. * <p> * Note: Kinesis Firehose Recorder stores requests in plain-text, we * recommend using a directory that is only readable by your application and * not storing highly sensitive information in requests stored by Kinesis * Firehose Recorder. * * @param directory A directory {@link KinesisFirehoseRecorder} can use for * storing requests. * @param region The region of Amazon Kinesis Firehose this Recorder should * save and send requests to. * @param credentialsProvider The credentials provider to use when making * requests to AWS * @param config Allows configuring various parameters of the recorder */ public KinesisFirehoseRecorder(File directory, Regions region, AWSCredentialsProvider credentialsProvider, KinesisRecorderConfig config) { super(new FileRecordStore(directory, RECORD_FILE_NAME, config.getMaxStorageSize()), config); AmazonKinesisFirehose client = new AmazonKinesisFirehoseClient(credentialsProvider, config.getClientConfiguration()); client.setRegion(Region.getRegion(region)); sender = new FirehoseRecordSender(client, USER_AGENT); }
/** * Construct a synchronous implementation of AmazonKinesisFirehose using the current builder configuration. * * @param params * Current builder configuration represented as a parameter object. * @return Fully configured implementation of AmazonKinesisFirehose. */ @Override protected AmazonKinesisFirehose build(AwsSyncClientParams params) { return new AmazonKinesisFirehoseClient(params); }
@Override public void start(Map<String, String> props) { batch = Boolean.parseBoolean(props.get(FirehoseSinkConnector.BATCH)); batchSize = Integer.parseInt(props.get(FirehoseSinkConnector.BATCH_SIZE)); batchSizeInBytes = Integer.parseInt(props.get(FirehoseSinkConnector.BATCH_SIZE_IN_BYTES)); deliveryStreamName = props.get(FirehoseSinkConnector.DELIVERY_STREAM); firehoseClient = new AmazonKinesisFirehoseClient(new DefaultAWSCredentialsProviderChain()); firehoseClient.setRegion(RegionUtils.getRegion(props.get(FirehoseSinkConnector.REGION))); // Validate delivery stream validateDeliveryStream(); }
/** * Create client using AWSCredentails * * @deprecated use {@link #createClient(ProcessContext, AWSCredentialsProvider, ClientConfiguration)} instead */ @Deprecated @Override protected AmazonKinesisFirehoseClient createClient(final ProcessContext context, final AWSCredentials credentials, final ClientConfiguration config) { getLogger().info("Creating client using aws credentials"); return new AmazonKinesisFirehoseClient(credentials, config); } }
/** * Create client using aws credentials provider. This is the preferred way for creating clients */ @Override protected AmazonKinesisFirehoseClient createClient(final ProcessContext context, final AWSCredentialsProvider credentialsProvider, final ClientConfiguration config) { getLogger().info("Creating client using aws credentials provider"); return new AmazonKinesisFirehoseClient(credentialsProvider, config); }
@VisibleForTesting public synchronized AmazonKinesisFirehose getFirehoseClient() { if (firehoseClient == null) { firehoseClient = new AmazonKinesisFirehoseClient( getAwsCredentialsProvider(), getAwsClientConfiguration()); if (!Strings.isNullOrEmpty(firehoseEndpoint())) firehoseClient.setEndpoint(firehoseEndpoint()); } return firehoseClient; }
@Override public void setConf(AbstractConfig config) { this.config = (FirehoseTransportConfig) config; this.serializer = new FirehoseTransportSerializer(this.config.getAppendNewline()); this.client = new AmazonKinesisFirehoseClient(new ClientConfiguration().withGzip(true)); if (this.config.getRegion() != null) { this.client.withRegion(this.config.getRegion()); } } }
@Override public void setConf(AbstractConfig config) { this.config = (FirehoseTransportConfig) config; this.serializer = new FirehoseTransportSerializer(this.config.getAppendNewline()); this.client = new AmazonKinesisFirehoseClient(new ClientConfiguration().withGzip(true)); if (this.config.getRegion() != null) { this.client.withRegion(this.config.getRegion()); } } }