Slide 53
Slide 53 text
fun putTweetList(accountName: String, since: String, until: String) {
val query = Query("from:$accountName since:$since until:$until")
val queryResults = twitterClient.search(query).tweets
val list = queryResults.map {
Tweet(it.id, LocalDateTime.ofInstant(it.createdAt.toInstant(), ZoneId.systemDefault()), it.text)
}
val client = AmazonDynamoDBClientBuilder.defaultClient()
list.forEach {
val time = it.time
val values = mapOf(
"id" to AttributeValue().withN(it.id.toString()),
"tweet_date" to AttributeValue().withS(
TABLE_DATE_FORMAT.format(
time.year,
time.month.value,
time.dayOfMonth
)
),
"tweet_time" to AttributeValue().withS(TABLE_TIME_FORMAT.format(time.hour, time.minute, time.second)),
"tweet_text" to AttributeValue().withS(it.text)
)
val request = PutItemRequest().withItem(values).withTableName("Tweet")
client.putItem(request)
}
}