假設您想要備份其中一個 DynamoDB 表 每一天。我們也希望將備份保留指定的時間段 time. 實現此目的的簡單方法是使用 Amazon CloudWatch Events 每天觸發 AWS Lambda 函數的規則。在這個 AWS 實作實驗室中, 您將使用 Boto3 在 Python 中編寫 Lambda 函數 庫。設定此功能需要配置 IAM 角色、設定 CloudWatch 規則,並建立 Lambda 函數。
建立DynamoDB 表
當然可以使用您帳戶中的任何DynamoDB 表 對於本練習,但如果您想使用 AWS CLI 建立一個,您 可以使用以下命令:
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUEST
這將建立一個名為 Person 的 DynamoDB 表,並帶有主鍵 id。
建立IAM 執行角色
- 導覽至 IAM。
- 導航到策略。
- 點選建立策略.
- 選擇 JSON 標籤。
- 將預設內容替換為以下 JSON 語句:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource":"arn:aws:logs:*:*:*" }, { "Action":[ "dynamodb:CreateBackup", "dynamodb:DeleteBackup", "dynamodb:ListBackups" ], "Effect":"Allow", "Resource":"*" } ]}
- 點選查看策略。
- 將此策略命名為 LambdaBackupDynamoDBPolicy。
- 點選建立策略。
- 在 IAM 中,導覽至角色。
- 點選建立角色。
- 選擇受信任實體的類型:AWS 服務。
- 選擇將使用此角色的服務:Lambda。
- 按一下「下一步:權限」。
- 在搜尋框中,找到在上一個步驟中建立的 LambdaBackupDynamoDBPolicy。
- 選取核取方塊
- 按下一步:標籤。
- 按下一步:審核。
- 角色名稱:LambdaBackupDynamoDBRole。
- 點選建立角色。
- 導航到 Lambda。
- 點選建立函數。
- 從頭開始選出作者。
- 函數名稱:BackupDynamoDB。
- 運行時:Python 3.7。
- 在「權限」下,選擇「選擇或建立執行角色」。
- 在「執行角色」下,選擇「使用現有角色」。
- 在「現有」下Role,選擇上一個步驟所建立的 LambdaBackupDynamoDBRole。
- 點選建立函數。
將以下原始程式碼貼到 Lambda 中函數的程式碼編輯器:點擊螢幕右上角的儲存。
建立CloudWatch 規則
接下來,我們將建立一個規則Lambda 函數定期運行。這將執行以下備份 DynamoDB 表並刪除過時的備份。
- 導覽至 CloudWatch。
- 導覽至事件 > 規則。
- 點選建立規則。
- 安排事件以所需的時間間隔運作(例如,每 1 天)。
- 點選新增目標。
- 在 Lambda 函數下,選擇 BackupDynamoDB。
- 在設定輸入下,選擇常數(JSON 文字)。
- 將值設為 JSON 語句:
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUEST
- 按一下設定詳細資料。
- 名稱:每日備份DynamoDB(或您喜歡的任何內容)。
- 點選建立規則。
- 等待 讓 CloudWatch 規則觸發您的下一個備份作業 已安排。如果你跟我一樣不耐煩的話,你可以設定時間表 將間隔設為 1 分鐘,您會看到它運行得更快。
- 使用 CloudWatch Logs 驗證計畫的備份作業執行。日誌組將命名為 /aws/lambda/BackupDynamoDB,每次呼叫都有一個流。
- 驗證 DynamoDB 備份清單中是否有備份檔案。
以上是使用 Lambda、Python 和 Boto3 安排 Amazon DynamoDB 備份的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能