2017-09-27 126 views
0

利用AWS工具套件中的所有內容,是否有辦法警報DynamoDB表中的值?將cloudwatch警報連接到DynamoDB表的內容

例如,如果在DynamoDB表中更新了任何內容,是否有辦法將事物掛鉤以便檢查表的內容,並且如果表中設置了某些值,則Cloudwatch警報可以關閉它?

注意:在知道該做什麼或是否報警之前,我需要檢查表格的整個內容(不會是一個大表格)。

即使只是一些有關可以做到這一點的堆棧組件的細節會有所幫助!

+0

我現在沒時間寫一個正確的答案,所以我只是指出你正確的方向。您將需要具有Lambda函數的DynamoDB流。請參閱此處的教程:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.Lambda.html –

回答

1

這可以使用DynamoDB Streams和AWS Lambda來觸發警報。步驟如下。

  • 在CloudWatch中創建警報。
  • 對於特定的表創建一個流來觸發Lambda函數。這將確保在DynamoDB表中發生更改時,更改將可用於Lambda代碼,您可以在該更改符合條件時編寫Alarm觸發器。
  • 對於CloudWatch,使用AWS SDK觸發警報更改其狀態,如果條件滿足,則從Lambda調用setAlarmState方法。

此外,對於您的用例,如果需要在表中某個數據更改後發送通知,則可以按如下方式設置要從Lambda觸發的AWS SNS主題。

DynamoDB Strams - > LAMBDA - > SNS發佈

這裏後續動作可以從SNS被配置成當一個messege出版。

注意:您需要爲由Lambda函數假設的IAM角色提供CloudWatch權限才能觸發警報。

+0

如果提供的有關單個變更的信息不足以決定是否警報(如果我們需要了解整個表格的內容 - 這不是一個大表格),我們是否需要將表格作爲Lambda函數的一部分來讀取? – Otter

+0

是的。您需要使用Lambda函數查詢dynamodb表(如果您需要更多數據來做出更改集以外的決定) – Ashan

+0

謝謝。此外,由於沒有關聯的「度量標準」可以將警報映射到CloudWatch,是否有辦法讓警報不會監視任何特定的度量標準,而只是手動設置和脫離警報? – Otter