Lambda、Python、Boto3 を使用した Amazon DynamoDB バックアップのスケジュール設定
DynamoDB テーブルの 1 つのバックアップを作成すると仮定します。 毎日。また、バックアップを指定した期間保持したいと考えています。 これを達成する簡単な方法は、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
これにより、主キー ID を持つ Person という DynamoDB テーブルが作成されます。
IAM 実行ロールを作成する
すべての Lambda 関数には、 それに付与された権限。これは Lambda 関数の実行ロールと呼ばれます。まず、 Lambda の IAM ロールを作成するプロセスを順を追って説明します。 関数を作成し、Lambda 関数自体を作成します。AWS を使用します。 このタスクの管理コンソール:
- 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":"*" } ]}
このステートメントは 2 セットの権限を付与します。まず、次のことを許可します。 CloudWatch Logs にログを記録する機能。この権限があれば、あらゆる Python print() ステートメントは CloudWatch Logs に表示されます。次に、権限を付与します。 Lambda 関数が DynamoDB バックアップを作成、一覧表示、削除するための すべてのテーブル。
- [ポリシーの確認] をクリックします。
- このポリシーに LambdaBackupDynamoDBPolicy という名前を付けます。
- ポリシーの作成をクリックします。
ポリシーが作成されたので、このポリシーがアタッチされるロールを作成する必要があります。
- IAM 内で、[ロール] に移動します。
- [ロールの作成] をクリックします。
- 信頼できるエンティティのタイプを選択します: AWS サービス。
- 選択しますこのロールを使用するサービス: Lambda。
- 「次へ: 権限」をクリックします。
- 検索ボックスで、前の手順で作成した LambdaBackupDynamoDBPolicy を見つけます。
- チェックボックスをオンにしますポリシー名の横にあります。
- [次へ: タグ] をクリックします。
- [次へ: 確認] をクリックします。
- ロール名: LambdaBackupDynamoDBRole。
- [ロールの作成] をクリックします。
Lambda 関数を作成する
Lambda 関数を作成しましょう!
- Lambda に移動します。
- 関数の作成をクリックします。
- 作成者を最初から選択します。
- 関数名: BackupDynamoDB.
- ランタイム: Python 3.7.
- [権限] で、[実行ロールの選択または作成] を選択します。
- [実行ロール] で、[既存のロールを使用する] を選択します。
- [既存のロール] で、前の手順で作成した LambdaBackupDynamoDBRole を選択します。
- [関数の作成] をクリックします。
貼り付け次のソースコードを Lambda 関数のコードエディターに入力します。画面の右上にある [保存] をクリックします。
CloudWatch ルールを作成します
次に、Lambda をスケジュールする CloudWatch ルールを作成します。 一定の間隔で実行する関数。これにより、 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
ログイン後にコピーログイン後にコピー - [詳細の構成] をクリックします。
- 名前: BackupDynamoDBDaily (または任意のもの)。
- [ルールの作成] をクリックします。
- 待ちます CloudWatch ルールが次のバックアップ ジョブをトリガーするための 予定されています。私のようにせっかちなら、スケジュールを設定してください 間隔を 1 分にすると、より早く実行されることがわかります。
- CloudWatch Logs を使用して、スケジュールされたバックアップ ジョブが実行されたことを確認します。ログ グループには /aws/lambda/BackupDynamoDB という名前が付けられ、呼び出しごとにストリームが付けられます。
- DynamoDB バックアップのリストにバックアップ ファイルが存在することを確認します。
以上がLambda、Python、Boto3 を使用した Amazon DynamoDB バックアップのスケジュール設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PythonコードをSublimeテキストで実行するには、最初にPythonプラグインをインストールし、次に.pyファイルを作成してコードを書き込み、Ctrl Bを押してコードを実行する必要があります。コードを実行すると、出力がコンソールに表示されます。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

Golangは、パフォーマンスとスケーラビリティの点でPythonよりも優れています。 1)Golangのコンピレーションタイプの特性と効率的な並行性モデルにより、高い並行性シナリオでうまく機能します。 2)Pythonは解釈された言語として、ゆっくりと実行されますが、Cythonなどのツールを介してパフォーマンスを最適化できます。

Visual Studioコード(VSCODE)でコードを作成するのはシンプルで使いやすいです。 VSCODEをインストールし、プロジェクトの作成、言語の選択、ファイルの作成、コードの書き込み、保存して実行します。 VSCODEの利点には、クロスプラットフォーム、フリーおよびオープンソース、強力な機能、リッチエクステンション、軽量で高速が含まれます。

メモ帳でPythonコードを実行するには、Python実行可能ファイルとNPPEXECプラグインをインストールする必要があります。 Pythonをインストールしてパスを追加した後、nppexecプラグインでコマンド「python」とパラメーター "{current_directory} {file_name}"を構成して、メモ帳のショートカットキー「F6」を介してPythonコードを実行します。
