@Experimental(value=SOURCE_SINK) public final class SnsIO extends java.lang.Object
PTransforms for writing to SNS.
Example usage:
PCollection<String> data = ...;
data.apply(SnsIO.<String>write()
.withPublishRequestFn(m -> PublishRequest.builder().topicArn("topicArn").message(m).build())
.withTopicArn("topicArn")
.withRetryConfiguration(
SnsIO.RetryConfiguration.create(
4, org.joda.time.Duration.standardSeconds(10)))
.withSnsClientProvider(new BasicSnsClientProvider(awsCredentialsProvider, region));
As a client, you need to provide at least the following things:
Example usage:
PCollection<String> data = ...;
data.apply(SnsIO.<String>writeAsync()
.withElementCoder(StringUtf8Coder.of())
.withPublishRequestFn(createPublishRequestFn())
.withSnsClientProvider(new BasicSnsClientProvider(awsCredentialsProvider, region));
PCollection<String> data = ...;
PCollection<SnsResponse<String>> responses = data.apply(SnsIO.<String>writeAsync()
.withElementCoder(StringUtf8Coder.of())
.withPublishRequestFn(createPublishRequestFn())
* .withSnsClientProvider(new BasicSnsClientProvider(awsCredentialsProvider, region));
As a client, you need to provide at least the following things:
| Modifier and Type | Class and Description |
|---|---|
static class |
SnsIO.RetryConfiguration
A POJO encapsulating a configuration for retry behavior when issuing requests to SNS.
|
protected static class |
SnsIO.SnsWriteException
Exception class for SNS write exceptions.
|
static class |
SnsIO.Write<T>
Implementation of
write(). |
static class |
SnsIO.WriteAsync<T>
Implementation of
writeAsync(). |
| Constructor and Description |
|---|
SnsIO() |
| Modifier and Type | Method and Description |
|---|---|
static <T> SnsIO.Write<T> |
write() |
static <T> SnsIO.WriteAsync<T> |
writeAsync() |
public static <T> SnsIO.Write<T> write()
public static <T> SnsIO.WriteAsync<T> writeAsync()