def publish()

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)
  }