S3¶
The S3 sink writes data to an Amazon S3 bucket or compatible object storage service. It uploads incoming byte arrays as objects to the specified bucket and prefix.
Each object is stored with a unique key generated from the current timestamp and a UUID. The content type of the objects can be configured.
.consumeFromSource(...)
.terminateWithSink(S3SinkConfigBuilder.builder()
.withS3ResourceName(value)
.withBucketName(value)
.withPrefix(value)
)
sink:
s3:
s3ResourceName: value
bucketName: value
prefix: value
Java dependency management¶
Add this declaration to your dependency management system to access the configuration DSL for this plugin in Java.
<dependency>
<groupId>org.voltdb</groupId>
<artifactId>volt-stream-plugin-aws-api</artifactId>
<version>1.0-20250910-124207-release-1.5.3</version>
</dependency>
implementation group: 'org.voltdb', name: 'volt-stream-plugin-aws-api', version: '1.0-20250910-124207-release-1.5.3'
Properties¶
s3ResourceName
¶
The name of the s3 client resource. Required.
Type: string
bucketName
¶
The name of the S3 bucket to write objects to. Required.
Type: string
prefix
¶
The prefix to prepend to object keys. This can be used to organize objects in the bucket.
Type: string
Usage Examples¶
stream
.withName("Write data to S3")
.configureResource("s3-client", S3ResourceConfigBuilder.class, resourceBuilder -> {})
.consumeFromSource(source)
.terminateWithSink(
S3SinkConfigBuilder.builder()
.withBucketName("my-bucket")
.withPrefix("output/")
.withS3ResourceName("s3-client")
);
This configuration writes data to the "output/" prefix in the "my-bucket" bucket with the content type set to "application/json".