in src/main/scala/com/gu/contentapi/firehose/kinesis/KinesisStreamReader.scala [20:32]
def kinesisClientFor(credentialsProvider: AwsCredentialsProvider, region: Region): KinesisAsyncClient =
createKinesisAsyncClient(
KinesisAsyncClient.builder().credentialsProvider(credentialsProvider).region(region))
/**
* This method is a quick check to ensure that the running JVM process can execute a successful AWS SDK API call
* to Kinesis. It blocks and fails fast. See https://github.com/guardian/content-api-firehose-client/pull/51
*/
def checkApiAccess(client: KinesisAsyncClient, streamName: String): Unit = {
val response = client.describeStreamSummary(
KinesisRequestsBuilder.describeStreamSummaryRequestBuilder.streamName(streamName).build).get()
require(response.streamDescriptionSummary().streamName() == streamName)
}