我的應用程序讀取dynamoDB流以查找更改一個表,我目前得到的最新數據流是這樣的:迪納摩DB流,更新最新的流ARN
this.awsDB.describeTable({TableName: 'MatchDraft'}, function(err, data){
if(err){
console.log(err);
} else {
this.streamArn = data.Table.LatestStreamArn;
console.log(data, this.streamArn);
_readStream.apply(this);
}
}.bind(this));
我遇到的問題是表LatestStreamArn不會自行更新並且每24小時過期,此時我的程序開始工作。我總是隻使用「最新」的分片迭代器類型,所以我不想保留所有更改的24小時記錄,我只是希望能夠使用分片迭代器來有效檢測對錶的更改並將它們顯示爲發生。
如何讓我的應用程序自動創建一個新的LatestStreamArn按照最有效的方式進行需要?代碼是用戶網頁瀏覽器中的所有客戶端,所以我不想打開UpdateTable API的權限,據我所知是更新流的唯一方法。
爲什麼你不使用AWS Lambda? –
@EyalCh我想是因爲除了這個問題似乎應該是微不足道的,我不需要它。 lambda有多特別有用?現在看來,我只需要一個每24小時調用一次更新表的時鐘工作,並且沒有其他解決方案。拉姆達有更清晰的方法來解決這個問題嗎?你會用什麼具體做什麼? – asutherland
@Eyal Ch如果lambda會幫助我肯定會喜歡知道如何。即使允許一個UpdateTable調用,我的流在一段時間後似乎不再活動。我可以使我的應用程序恢復工作的唯一方法是通過updateTable禁用流並重新啓用它:/ – asutherland