List of usage examples for com.amazonaws.services.kinesisfirehose.model DeliveryStreamDescription getVersionId
public String getVersionId()
Each time the destination is updated for a delivery stream, the version ID is changed, and the current version ID is required when updating the destination.
From source file:AmazonKinesisFirehoseToRedshiftSample.java
License:Open Source License
/** * Method to update redshift destination with updated copy options. *//*from ww w .ja v a2 s.c o m*/ private static void updateDeliveryStream() { DeliveryStreamDescription deliveryStreamDescription = describeDeliveryStream(deliveryStreamName); LOG.info("Updating DeliveryStream Destination: " + deliveryStreamName + " with new configuration options"); // get(0) -> DeliveryStream currently supports only one destination per DeliveryStream UpdateDestinationRequest updateDestinationRequest = new UpdateDestinationRequest() .withDeliveryStreamName(deliveryStreamName) .withCurrentDeliveryStreamVersionId(deliveryStreamDescription.getVersionId()) .withDestinationId(deliveryStreamDescription.getDestinations().get(0).getDestinationId()); CopyCommand updatedCopyCommand = new CopyCommand().withDataTableName(dataTableName) .withCopyOptions(updatedCopyOptions); RedshiftDestinationUpdate redshiftDestinationUpdate = new RedshiftDestinationUpdate() .withCopyCommand(updatedCopyCommand); updateDestinationRequest.setRedshiftDestinationUpdate(redshiftDestinationUpdate); // Update DeliveryStream destination with new configuration options such as s3Prefix and Buffering Hints. // Can also update Compression format, KMS key values and IAM Role. firehoseClient.updateDestination(updateDestinationRequest); }
From source file:AmazonKinesisFirehoseToS3Sample.java
License:Open Source License
/** * Method to update s3 destination with updated s3Prefix, and buffering hints values. * * @throws Exception/*from w ww .j av a 2 s . c o m*/ */ private static void updateDeliveryStream() throws Exception { DeliveryStreamDescription deliveryStreamDescription = describeDeliveryStream(deliveryStreamName); LOG.info("Updating DeliveryStream Destination: " + deliveryStreamName + " with new configuration options"); // get(0) -> DeliveryStream currently supports only one destination per DeliveryStream UpdateDestinationRequest updateDestinationRequest = new UpdateDestinationRequest() .withDeliveryStreamName(deliveryStreamName) .withCurrentDeliveryStreamVersionId(deliveryStreamDescription.getVersionId()) .withDestinationId(deliveryStreamDescription.getDestinations().get(0).getDestinationId()); S3DestinationUpdate s3DestinationUpdate = new S3DestinationUpdate(); s3DestinationUpdate.withPrefix(updateS3ObjectPrefix); BufferingHints bufferingHints = null; if (updateSizeInMBs != null || updateIntervalInSeconds != null) { bufferingHints = new BufferingHints(); bufferingHints.setSizeInMBs(updateSizeInMBs); bufferingHints.setIntervalInSeconds(updateIntervalInSeconds); } s3DestinationUpdate.setBufferingHints(bufferingHints); // Update the role policy with new s3Prefix configuration putRolePolicy(updateS3ObjectPrefix); updateDestinationRequest.setS3DestinationUpdate(s3DestinationUpdate); // Update deliveryStream destination with new configuration options such as s3Prefix and Buffering Hints. // Can also update Compression format, KMS key values and IAM Role. firehoseClient.updateDestination(updateDestinationRequest); }