本文整理汇总了Scala中com.amazonaws.services.kinesis.AmazonKinesisClient类的典型用法代码示例。如果您正苦于以下问题:Scala AmazonKinesisClient类的具体用法?Scala AmazonKinesisClient怎么用?Scala AmazonKinesisClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了AmazonKinesisClient类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。
示例1: AkkaHttp
//设置package包名称以及导入依赖的类
package com.example
import java.nio.ByteBuffer
import akka.actor.ActorSystem
import akka.event.Logging
import akka.http.scaladsl.Http
import akka.stream.ActorMaterializer
import akka.http.scaladsl.server._
import com.amazonaws.auth.{AWSCredentialsProvider, BasicAWSCredentials}
import com.amazonaws.internal.StaticCredentialsProvider
import com.amazonaws.regions.{Region, Regions}
import com.amazonaws.services.kinesis.{AmazonKinesis, AmazonKinesisClient}
import com.amazonaws.services.kinesis.model.{PutRecordRequest, PutRecordResult}
import com.typesafe.config.ConfigFactory
object AkkaHttp extends App with Kinesis {
implicit val system = ActorSystem()
implicit val executor = system.dispatcher
implicit val materializer = ActorMaterializer()
val config = ConfigFactory.load()
val logger = Logging(system, getClass)
import Directives._
val route: Route =
path("order" / IntNumber) { id =>
complete(id.toString)
} ~
parameters('key, 'value) { (key, value) =>
if(accessKeyId.isDefined && secretAccessKey.isDefined) {
put(key, value)
}
complete(s"key: ${key}, value: ${value}")
}
val bindingFuture = Http().bindAndHandle(route, config.getString("http.interface"), config.getInt("http.port"))
override def put(key: String, value: String): PutRecordResult = {
val credentialsProvider: AWSCredentialsProvider = new StaticCredentialsProvider(new BasicAWSCredentials(accessKeyId.get, secretAccessKey.get))
val kinesis: AmazonKinesis = new AmazonKinesisClient(credentialsProvider)
kinesis.setRegion(Region.getRegion(Regions.AP_NORTHEAST_1))
val request: PutRecordRequest = new PutRecordRequest()
request.setStreamName(streamName)
request.setData(ByteBuffer.wrap(value.getBytes("UTF-8")))
request.setPartitionKey(key)
val putRecord: PutRecordResult = kinesis.putRecord(request)
println(s"key:${key} ,record:${value}, ${putRecord}")
println("--------")
kinesis.putRecord(request)
}
}
示例2: PutMain
//设置package包名称以及导入依赖的类
import java.nio.ByteBuffer
import java.util.Calendar
import com.amazonaws.auth.{AWSCredentialsProvider, BasicAWSCredentials}
import com.amazonaws.internal.StaticCredentialsProvider
import com.amazonaws.regions.{Region, Regions}
import com.amazonaws.services.kinesis.model.{PutRecordRequest, PutRecordResult}
import com.amazonaws.services.kinesis.{AmazonKinesis, AmazonKinesisClient}
import org.apache.commons.lang.RandomStringUtils
object PutMain {
val accessKeyId = System.getProperty("accessKeyId")
val secretAccessKey = System.getProperty("secretAccessKey")
val appName = "kinesis-test-app"
val streamName = "kinesis-test-stream"
val initialPosition = "LATEST"
val region = "ap-northeast-1"
def main(args: Array[String]): Unit = {
val credentialsProvider: AWSCredentialsProvider = new StaticCredentialsProvider(new BasicAWSCredentials(accessKeyId, secretAccessKey))
val kinesis: AmazonKinesis = new AmazonKinesisClient(credentialsProvider)
kinesis.setRegion(Region.getRegion(Regions.AP_NORTHEAST_1))
while (true) {
val key = RandomStringUtils.randomAlphanumeric(10)
val data = "KEY_" + Calendar.getInstance().getTime().getTime() + ":" + key
val request: PutRecordRequest = new PutRecordRequest()
request.setStreamName(streamName)
request.setData(ByteBuffer.wrap(data.getBytes("UTF-8")))
request.setPartitionKey(key)
val putRecord: PutRecordResult = kinesis.putRecord(request)
println("key:{} ,record:{}", key, data, putRecord)
println("--------")
Thread.sleep(5000)
}
}
}