in src/main/scala/com/gu/contentapi/services/Kinesis.scala [19:34]
def publish(data: MostViewedVideoContainer, config: Config): Either[CustomError, String] = {
val record = new PutRecordsRequestEntry()
.withPartitionKey(data.id)
.withData(ThriftSerializer.serializeToBytes(data, Some(GzipType), None))
val request = new PutRecordsRequest()
.withStreamName(config.kinesisName)
.withRecords(record)
val putRecordsResult: PutRecordsResult = kinesisClient.putRecords(request)
if (putRecordsResult.getFailedRecordCount > 0)
Left(CustomError(s"Failed to publish most-viewed videos for: ${data.id}."))
else
Right(data.id)
}