Anggap anda ingin membuat sandaran salah satu jadual DynamoDB anda setiap hari. Kami juga ingin mengekalkan sandaran untuk tempoh tertentu masa.Cara mudah untuk mencapai matlamat ini ialah menggunakan Acara CloudWatch Amazon peraturan untuk mencetuskan fungsi AWS Lambda setiap hari. Dalam makmal AWS praktikal ini, anda akan menulis fungsi Lambda dalam Python menggunakan Boto3 perpustakaan. Menetapkan ini memerlukan konfigurasi peranan IAM, menetapkan a Peraturan CloudWatch dan mencipta fungsi Lambda.
Anda pasti boleh menggunakan mana-mana jadual DynamoDB yang anda ada dalam akaun anda untuk latihan ini, tetapi jika anda ingin menciptanya menggunakan AWS CLI, anda boleh menggunakan arahan berikut:
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUEST
Ini akan mencipta jadual DynamoDB yang dipanggil Person, dengan id kunci utama.
Semua fungsi Lambda memerlukan peranan IAM yang mentakrifkan kebenaran yang diberikan kepadanya. Ini dirujuk sebagai peranan pelaksanaan fungsi Lambda. Pertama, kami akan melalui proses mengarang peranan IAM kami untuk Lambda fungsi dan mencipta fungsi Lambda itu sendiri. Kami akan menggunakan AWS Konsol Pengurusan untuk tugas ini:
{ "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":"*" } ]}
Pernyataan ini memberikan dua set kebenaran. Pertama, ia memberikan keupayaan untuk log masuk ke Log CloudWatch. Dengan kebenaran ini, sebarang cetakan Python() penyata akan dipaparkan dalam CloudWatch Logs. Kedua, kami memberikan kebenaran untuk fungsi Lambda membuat, menyenaraikan dan memadamkan sandaran DynamoDB semua jadual.
Sekarang dasar itu dibuat, anda mesti mewujudkan peranan yang dilampirkan oleh dasar ini.
Jom cipta fungsi Lambda kami!
Tampal kod sumber berikut ke dalam Lambda editor kod fungsi:Klik Simpan di bahagian atas sebelah kanan skrin.
Seterusnya, kami akan mencipta peraturan CloudWatch untuk menjadualkan Lambda berfungsi untuk berjalan secara berkala. Ini akan melakukan sandaran bagi Jadual DynamoDB dan alih keluar sandaran lapuk.
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUEST
Atas ialah kandungan terperinci Menjadualkan Sandaran Amazon DynamoDB dengan Lambda, Python dan Boto3. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!