2012-11-12 32 views
15

我玩亞馬遜dynamodb從過去幾天沒有-SQL數據庫,不知道過一個項目,如果有任何功能生存時間(TTL)一個項目的,所以,當項目在該值它 自動從表中刪除按照該TTL值達到的,而不是做手工批量刪除的項目。時間在dynamodb

回答

6

遺憾的是,答案是很短:沒有

由於事實上,DynamoDB已經從地上爬起來的簡單設計。沒有花哨的功能。

+8

你知道什麼好笑的? 「TTL」是DynamoDB中的保留字。 – Tom

+0

聽說今年他們都上來與實驗TTL – SoulMan

+1

@SoulMan他們才增加嗎? – Thomas

14

是的,亞馬遜在2017年2月向DynamoDb發佈了生存時間(TTL)功能。您只需在控制檯上轉到DynamoDb。選擇你的桌子。然後點擊概述並啓用它。

Under Table Details

Manage TTL

的TTL屬性應該是你的列/屬性時,該行應到期/刪除會決定。

注意: ttl屬性應該是數字數據類型(因爲DynamoDb不支持日期時間數據類型)。所以,它應該是在EPOCH時間格式。

例如:
- Linux終端:date +%s
- 的Python:import time; long(time.time())
- Java的:System.currentTimeMillis()/1000L
- 的JavaScript:Math.floor(Date.now()/1000)

+1

任何想法如何在java中做到這一點? – PUG

+0

@Hassan:使用System.currentTimeMillis()/ 1000L來填充TTL屬性的列。 – ManJan

+0

@不允許請將此答案標爲正確的答案。 –