in storehaus-dynamodb/src/main/scala/com/twitter/storehaus/dynamodb/DynamoStore.scala [65:81]
override def put(kv: (String, Option[AttributeValue])): Future[Unit] = {
kv match {
case (key, Some(value)) =>
// write the new entry to AWS
val attributes = Map(
primaryKeyColumn -> key.as[AttributeValue],
valueColumn -> value
).as[JMap[String, AttributeValue]]
val putRequest = new PutItemRequest(tableName, attributes)
apiRequestFuturePool(client.putItem(putRequest))
case (key, None) =>
val attributes =
Map(primaryKeyColumn -> key.as[AttributeValue]).as[JMap[String, AttributeValue]]
val deleteRequest = new DeleteItemRequest(tableName, attributes)
apiRequestFuturePool(client.deleteItem(deleteRequest))
}
}