Skip to content

Instantly share code, notes, and snippets.

@vicly
Created October 15, 2017 20:08
Show Gist options
  • Save vicly/f932dbc8bdce7ffdbf679bc3d01fa536 to your computer and use it in GitHub Desktop.
Save vicly/f932dbc8bdce7ffdbf679bc3d01fa536 to your computer and use it in GitHub Desktop.
[AWS Kinesis code snippet] #AWS

Create client

  private static AmazonKinesis setupKinesisClient()
  {
    AWSCredentialsProvider provider = new DefaultAWSCredentialsProviderChain();

    ClientConfiguration kinesisConfig = new ClientConfiguration();
    kinesisConfig.setMaxConnections(1);
    kinesisConfig.setProtocol(Protocol.HTTPS);
    kinesisConfig.setConnectionTimeout(10000); // 10 sec
    kinesisConfig.setSocketTimeout(60000); // 1 min

    return AmazonKinesisClientBuilder
        .standard()
        .withCredentials(provider)
        .withClientConfiguration(kinesisConfig)
        .withRegion(Regions.AP_SOUTHEAST_2)
        .build();
  }

Write

    final String streamName = "MyKinesisStream";
    String partitionKey = ...;
    byte[] data = ...;

    PutRecordRequest putRecordRequest = new PutRecordRequest();
    putRecordRequest.withData(ByteBuffer.wrap(data));
    putRecordRequest.withPartitionKey(partitionKey);
    putRecordRequest.withStreamName(streamName);

    kinesis.putRecord(putRecordRequest)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment