All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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