AWS Lambda를 사용하여 AWS의 한 s3 버킷에서 다른 버킷으로 파일 이동

클라우드 버드

다음과 같은 경우에 python boto3 AWS lambda 함수를 사용하여 한 s3 버킷에서 다른 s3 버킷으로 1 시간 이상 오래된 파일을 이동하려고합니다.

  1. 두 버킷 모두 동일한 계정과 다른 리전에있을 수 있습니다.
  2. 두 버킷 모두 다른 계정과 다른 리전에있을 수 있습니다.
  3. 두 버킷 모두 다른 계정과 동일한 리전에있을 수 있습니다.

@John Rotenstein이 언급 한 파이썬 코드를 사용하여 파일을 이동하는 데 도움을 받았습니다.

import boto3
from datetime import datetime, timedelta

SOURCE_BUCKET = 'bucket-a'
DESTINATION_BUCKET = 'bucket-b'

s3_client = boto3.client('s3')

# Create a reusable Paginator
paginator = s3_client.get_paginator('list_objects_v2')

# Create a PageIterator from the Paginator
page_iterator = paginator.paginate(Bucket=SOURCE_BUCKET)

# Loop through each object, looking for ones older than a given time period
for page in page_iterator:
    for object in page['Contents']:
        if object['LastModified'] < datetime.now().astimezone() - timedelta(hours=1):   # <-- Change time period here
            print(f"Moving {object['Key']}")

            # Copy object
            s3_client.copy_object(
                Bucket=DESTINATION_BUCKET,
                Key=object['Key'],
                CopySource={'Bucket':SOURCE_BUCKET, 'Key':object['Key']}
            )

            # Delete original object
            s3_client.delete_object(Bucket=SOURCE_BUCKET, Key=object['Key'])

요구 사항을 충족하기 위해 어떻게 수정할 수 있습니까?

John Rotenstein

다른 방법은 버킷 콘텐츠를 복제 할 수있는 Amazon S3 Replication 을 사용하는 것입니다 .

  • 동일한 지역 내 또는 지역 간
  • 동일한 AWS 계정 내 또는 다른 계정 간

복제는 조직이 다른 지역에있는 데이터의 또 다른 복사본이 필요할 때 또는 단순히 백업 목적으로 자주 사용됩니다. 예를 들어 중요한 회사 정보는 일반 사용자가 액세스 할 수없는 다른 AWS 계정으로 복제 될 수 있습니다. 이렇게하면 일부 데이터가 삭제 된 경우 다른 곳에 또 다른 복사본이 있습니다.

복제하려면 소스 및 대상 버킷 모두에서 버전 관리를 활성화해야합니다. 암호화가 필요한 경우 표준 Amazon S3 암호화 옵션을 사용하십시오 . 데이터는 전송 중에도 암호화됩니다.

소스 버킷과 대상 버킷을 구성한 다음 접두사 또는 태그를 제공하여 복제 할 객체를 지정합니다. 개체는 복제가 활성화 된 후에 만 ​​복제됩니다. 기존 개체는 복사 되지 않습니다 . 삭제는 악의적 인 행동을 피하기 위해 의도적으로 복제 되지 않습니다 . 참조 : Amazon S3는 무엇을 복제합니까?

S3 복제에 대한 "추가"비용은 없지만, 리전간에 객체를 이동할 때 데이터 전송 요금과 API 요청 (소액 요금) 및 스토리지에 대한 요금은 여전히 ​​부과됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

AWS CLI-서로 다른 S3 버킷간에 파일 이동

분류에서Dev

AWS Lambda : S3 버킷에서 CSV 파일을 읽고 다른 S3 버킷에 업로드하는 방법은 무엇입니까?

분류에서Dev

R-s3 버킷 내에서 한 위치에서 다른 위치로 파일을 복사하고 붙여 넣는 방법 (aws.s3 사용)?

분류에서Dev

AWS CLI없이 S3 프라이빗 버킷에서 파일을 다운로드하는 방법

분류에서Dev

AWS S3 (SSE) 버킷에서 Google Cloud로 파일 복사

분류에서Dev

AWS S3 버킷에 업로드하는 동안 파일 이름 변경

분류에서Dev

Shrine을 사용하여 폴더간에 AWS S3 버킷의 파일 이동

분류에서Dev

EC2의 AWS S3 버킷에 저장된 Python 스크립트를 실행하고 결과 파일을 다시 S3 버킷에 저장

분류에서Dev

파일 이름의 제목을 기준으로 AWS S3 버킷에 저장된 비디오를 결합 / 연결하는 방법

분류에서Dev

한 AWS 계정에서 다른 AWS 계정으로 S3 버킷을 복사하는 것은 전송 중에 안전합니까?

분류에서Dev

AWS EC2를 사용하여 S3 버킷에 많은 수의 파일 배치

분류에서Dev

AWS CodePiplene이 S3 버킷에 파일을 업로드하지 않음

분류에서Dev

s3 버킷 aws에서 다른 컴퓨터로 모든 zip 파일을 전송하는 방법이 있습니까?

분류에서Dev

Ruby를 사용하여 AWS S3의 동일한 디렉터리에있는 파일을 두 개 이상 업로드합니다.

분류에서Dev

한 버킷에서 이미지를 가져와 S3 boto의 다른 버킷에 넣는 방법

분류에서Dev

다양한 AWS EC2 인스턴스가 AWS S3 버킷에서 동일한 라이브러리 파일을 사용하는 것이 좋은 방법입니까?

분류에서Dev

Salesforce Apex를 사용하여 더 큰 파일 (12MB 이상)을 aws s3 버킷에 업로드하는 방법

분류에서Dev

AWS CDK에서 사용자 지정 리소스를 사용하여 s3 버킷에 파일을 업로드하는 방법

분류에서Dev

AWS S3는 AWS Lambda를 사용하여 여러 계정에 복사하고 내부 Lambda를 트리거하여 다른 버킷으로 복사합니다.

분류에서Dev

분당 S3 버킷으로 데이터를 전송하기위한 AWS CloudWatch 지표

분류에서Dev

AWS CLI가 s3 버킷의 파일을 검색하고 다른 폴더에 복사

분류에서Dev

AWS amplify를 사용하여 읽기 전용 AWS S3 버킷에서 iOS 앱으로 이미지를 안전하게 다운로드하는 방법은 무엇입니까?

분류에서Dev

Snowflake-S3 : 두 가지 유형의 파일 (동일한 S3 버킷에서)을 두 개의 다른 테이블로 수집

분류에서Dev

aws-sdk-java를 사용하여 S3 버킷에 업로드하는 동안 PermanentRedirect 오류

분류에서Dev

boto3를 사용하여 Github의 파일을 AWS S3 버킷에 업로드하려면 어떻게해야합니까?

분류에서Dev

AWS S3 버킷에서 이미지를로드하는 동안 액세스 거부 오류

분류에서Dev

s3 버킷이 퍼블릭 액세스 권한을 부여한 경우 사람이 s3 버킷의 다른 파일을 볼 수 있습니까?

분류에서Dev

동일한 리전에 S3 버킷이있는 AWS Cloudfront Origin Failover

분류에서Dev

Java AWS SDK를 사용하여 S3 버킷에 폴더 업로드

Related 관련 기사

  1. 1

    AWS CLI-서로 다른 S3 버킷간에 파일 이동

  2. 2

    AWS Lambda : S3 버킷에서 CSV 파일을 읽고 다른 S3 버킷에 업로드하는 방법은 무엇입니까?

  3. 3

    R-s3 버킷 내에서 한 위치에서 다른 위치로 파일을 복사하고 붙여 넣는 방법 (aws.s3 사용)?

  4. 4

    AWS CLI없이 S3 프라이빗 버킷에서 파일을 다운로드하는 방법

  5. 5

    AWS S3 (SSE) 버킷에서 Google Cloud로 파일 복사

  6. 6

    AWS S3 버킷에 업로드하는 동안 파일 이름 변경

  7. 7

    Shrine을 사용하여 폴더간에 AWS S3 버킷의 파일 이동

  8. 8

    EC2의 AWS S3 버킷에 저장된 Python 스크립트를 실행하고 결과 파일을 다시 S3 버킷에 저장

  9. 9

    파일 이름의 제목을 기준으로 AWS S3 버킷에 저장된 비디오를 결합 / 연결하는 방법

  10. 10

    한 AWS 계정에서 다른 AWS 계정으로 S3 버킷을 복사하는 것은 전송 중에 안전합니까?

  11. 11

    AWS EC2를 사용하여 S3 버킷에 많은 수의 파일 배치

  12. 12

    AWS CodePiplene이 S3 버킷에 파일을 업로드하지 않음

  13. 13

    s3 버킷 aws에서 다른 컴퓨터로 모든 zip 파일을 전송하는 방법이 있습니까?

  14. 14

    Ruby를 사용하여 AWS S3의 동일한 디렉터리에있는 파일을 두 개 이상 업로드합니다.

  15. 15

    한 버킷에서 이미지를 가져와 S3 boto의 다른 버킷에 넣는 방법

  16. 16

    다양한 AWS EC2 인스턴스가 AWS S3 버킷에서 동일한 라이브러리 파일을 사용하는 것이 좋은 방법입니까?

  17. 17

    Salesforce Apex를 사용하여 더 큰 파일 (12MB 이상)을 aws s3 버킷에 업로드하는 방법

  18. 18

    AWS CDK에서 사용자 지정 리소스를 사용하여 s3 버킷에 파일을 업로드하는 방법

  19. 19

    AWS S3는 AWS Lambda를 사용하여 여러 계정에 복사하고 내부 Lambda를 트리거하여 다른 버킷으로 복사합니다.

  20. 20

    분당 S3 버킷으로 데이터를 전송하기위한 AWS CloudWatch 지표

  21. 21

    AWS CLI가 s3 버킷의 파일을 검색하고 다른 폴더에 복사

  22. 22

    AWS amplify를 사용하여 읽기 전용 AWS S3 버킷에서 iOS 앱으로 이미지를 안전하게 다운로드하는 방법은 무엇입니까?

  23. 23

    Snowflake-S3 : 두 가지 유형의 파일 (동일한 S3 버킷에서)을 두 개의 다른 테이블로 수집

  24. 24

    aws-sdk-java를 사용하여 S3 버킷에 업로드하는 동안 PermanentRedirect 오류

  25. 25

    boto3를 사용하여 Github의 파일을 AWS S3 버킷에 업로드하려면 어떻게해야합니까?

  26. 26

    AWS S3 버킷에서 이미지를로드하는 동안 액세스 거부 오류

  27. 27

    s3 버킷이 퍼블릭 액세스 권한을 부여한 경우 사람이 s3 버킷의 다른 파일을 볼 수 있습니까?

  28. 28

    동일한 리전에 S3 버킷이있는 AWS Cloudfront Origin Failover

  29. 29

    Java AWS SDK를 사용하여 S3 버킷에 폴더 업로드

뜨겁다태그

보관