com.shapestone.event.stream.consumer.KinesisSparkSConsumer.scala Maven / Gradle / Ivy
The newest version!
package com.shapestone.event.stream.consumer
import java.util.List
import com.amazonaws.auth.AWSCredentials
import com.amazonaws.auth.profile.ProfileCredentialsProvider
import com.amazonaws.services.kinesis.AmazonKinesisAsyncClient
import com.amazonaws.services.kinesis.model.{DescribeStreamRequest, GetShardIteratorRequest, Shard}
import com.shapestone.event.stream.consumer.KinesisSHelper.readShards
import rx.Observable
import rx.Observable._
import scala.collection.JavaConversions._
import rx.schedulers.Schedulers.io
/**
* Name: Michael Williams
* Date: 3/6/17.
*/
class KinesisSparkSConsumer(val streamName:String, val client:AmazonKinesisAsyncClient) {
def this(streamName:String, awsCredentials:AWSCredentials) {
this(streamName, new AmazonKinesisAsyncClient(awsCredentials))
}
def this(streamName:String) {
this(streamName, new AmazonKinesisAsyncClient(new ProfileCredentialsProvider()))
}
def readStream() : Unit = {
readShards(streamName, client)
.foreach(shard => println(shard.getShardId))
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy