찾다
백엔드 개발파이썬 튜토리얼Lambda, Python 및 Boto3를 사용하여 Amazon DynamoDB 백업 예약

DynamoDB 테이블 중 하나를 백업한다고 가정해 보겠습니다. 매일. 또한 지정된 기간 동안 백업을 보관하려고 합니다. 시간. 이를 달성하는 간단한 방법은 Amazon CloudWatch Events를 사용하는 것입니다. 매일 AWS Lambda 함수를 트리거하는 규칙입니다. 이 실습 AWS 랩에서는 Boto3를 사용하여 Python으로 Lambda 함수를 작성합니다. 라이브러리.이를 설정하려면 IAM 역할을 구성하고 CloudWatch 규칙 및 Lambda 함수 생성

屏幕截图 2024-10-29 094728.png

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 함수에는 다음을 정의하는 IAM 역할이 필요합니다. 부여된 권한입니다. 이를 Lambda 함수의 실행 역할이라고 합니다. 먼저, Lambda에 대한 IAM 역할을 작성하는 과정을 살펴보겠습니다. 함수를 만들고 Lambda 함수 자체를 생성합니다. 우리는 AWS를 사용할 것입니다. 이 작업에 대한 관리 콘솔:

  1. IAM으로 이동합니다.
  2. 정책으로 이동합니다.
  3. 정책 생성을 클릭합니다. .
  4. JSON 탭을 선택합니다.
  5. 기본 콘텐츠를 다음 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":"*"      }   ]}

이 문은 두 가지 권한 집합을 부여합니다. 첫째, 다음을 부여합니다. CloudWatch Logs에 로깅하는 기능. 이 권한이 있으면 모든 Python print() 문이 CloudWatch Logs에 표시됩니다.둘째, 권한을 부여합니다. Lambda 함수가 DynamoDB 백업을 생성, 나열 및 삭제하려면 모든 테이블.

  1. 정책 검토를 클릭합니다.
  2. 이 정책의 이름을 LambdaBackupDynamoDBPolicy로 지정합니다.
  3. 정책 생성을 클릭합니다.

이제 정책이 생성되었으므로 이 정책이 연결된 역할을 생성해야 합니다.

  1. IAM 내에서 역할로 이동합니다.
  2. Create Role을 클릭합니다.
  3. 신뢰할 수 있는 엔터티 유형을 선택합니다: AWS 서비스.
  4. 선택 이 역할을 사용할 서비스: Lambda.
  5. 다음: 권한을 클릭합니다.
  6. 검색 상자에서 이전 단계에서 생성된 LambdaBackupDynamoDBPolicy를 찾습니다.
  7. 확인란을 선택합니다. 정책 이름 옆에 있습니다.
  8. 다음: 태그를 클릭합니다.
  9. 다음: 검토를 클릭합니다.
  10. 역할 이름: LambdaBackupDynamoDBRole.
  11. 역할 생성을 클릭합니다.

람다 함수 만들기

람다 함수를 만들어 봅시다!

  1. Lambda로 이동합니다.
  2. Create function을 클릭합니다.
  3. 처음부터 작성자를 선택합니다.
  4. 함수 이름: BackupDynamoDB.
  5. 런타임: Python 3.7.
  6. 권한에서 실행 역할 선택 또는 생성을 선택합니다.
  7. 실행 역할에서 기존 역할 사용을 선택합니다.
  8. 기존에서 역할에서 이전 단계에서 생성한 LambdaBackupDynamoDBRole을 선택합니다.
  9. Create function을 클릭합니다.

다음 소스 코드를 Lambda에 붙여넣습니다. 함수 코드 편집기:화면 오른쪽 상단에서 저장을 클릭합니다.

CloudWatch 규칙 생성

다음으로 Lambda 예약을 위한 CloudWatch 규칙을 생성하겠습니다. 일정한 간격으로 실행되는 기능입니다. 이렇게 하면 다음 항목의 백업이 수행됩니다. DynamoDB 테이블을 만들고 오래된 백업을 제거합니다.

  1. CloudWatch로 이동합니다.
  2. 이벤트 > 규칙으로 이동합니다.
  3. 규칙 생성을 클릭합니다.
  4. 원하는 간격(예: 1일마다)으로 이벤트가 실행되도록 예약합니다.
  5. 대상 추가를 클릭합니다.
  6. Lambda 함수에서 BackupDynamoDB를 선택합니다.
  7. 입력 구성에서 상수(JSON 텍스트)를 선택합니다.
  8. 값을 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
  9. 세부 정보 구성을 클릭합니다.
  10. 이름 : BackupDynamoDBDaily(또는 원하는 대로).
  11. 규칙 생성을 클릭합니다.
  12. 기다립니다. CloudWatch 규칙이 ​​다음 백업 작업을 트리거하도록 하려면 예정. 저처럼 성격이 급하신 분들은 일정을 정하시면 됩니다 간격을 1분으로 설정하면 더 빨리 실행되는 것을 볼 수 있습니다.
  13. CloudWatch Logs를 사용하여 예약된 백업 작업이 실행되었는지 확인하세요. 로그 그룹의 이름은 각 호출에 대한 스트림과 함께 /aws/lambda/BackupDynamoDB로 지정됩니다.
  14. DynamoDB 백업 목록에 백업 파일이 있는지 확인하세요.


위 내용은 Lambda, Python 및 Boto3를 사용하여 Amazon DynamoDB 백업 예약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 pluralsight.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
파이썬과 시간 : 공부 시간을 최대한 활용파이썬과 시간 : 공부 시간을 최대한 활용Apr 14, 2025 am 12:02 AM

제한된 시간에 Python 학습 효율을 극대화하려면 Python의 DateTime, Time 및 Schedule 모듈을 사용할 수 있습니다. 1. DateTime 모듈은 학습 시간을 기록하고 계획하는 데 사용됩니다. 2. 시간 모듈은 학습과 휴식 시간을 설정하는 데 도움이됩니다. 3. 일정 모듈은 주간 학습 작업을 자동으로 배열합니다.

파이썬 : 게임, Guis 등파이썬 : 게임, Guis 등Apr 13, 2025 am 12:14 AM

Python은 게임 및 GUI 개발에서 탁월합니다. 1) 게임 개발은 Pygame을 사용하여 드로잉, 오디오 및 기타 기능을 제공하며 2D 게임을 만드는 데 적합합니다. 2) GUI 개발은 Tkinter 또는 PYQT를 선택할 수 있습니다. Tkinter는 간단하고 사용하기 쉽고 PYQT는 풍부한 기능을 가지고 있으며 전문 개발에 적합합니다.

Python vs. C : 응용 및 사용 사례가 비교되었습니다Python vs. C : 응용 및 사용 사례가 비교되었습니다Apr 12, 2025 am 12:01 AM

Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

2 시간의 파이썬 계획 : 현실적인 접근2 시간의 파이썬 계획 : 현실적인 접근Apr 11, 2025 am 12:04 AM

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

파이썬 : 기본 응용 프로그램 탐색파이썬 : 기본 응용 프로그램 탐색Apr 10, 2025 am 09:41 AM

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 ​​같은 작업에 적합합니다.

2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?Apr 09, 2025 pm 04:33 PM

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?Apr 02, 2025 am 07:18 AM

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까?중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까?Apr 02, 2025 am 07:15 AM

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경