Репликация сегмента s3 в нескольких регионах с использованием лямбды - PullRequest
0 голосов
/ 18 июня 2019

Вариант использования: репликация сегмента s3 в нескольких регионах в одной учетной записи AWS

Этот код реплицирует сегмент только в одном регионе.Я пытался добавить эту строку python print vikash до python s3.copy_object, но она повторяется только один раз.

import boto3
from botocore.exceptions import ClientError
import sys
import traceback
import re


def lambda_handler(event, context):
    print 'Recieved following event'
    print '--------------------------------------------------'
    print event
    print '--------------------------------------------------'
    try:
        # Obtain destination account Credentials



        bucks = ['bucket1-deploy-ap-northeast-1', 'bucket2-deploy-ap-south-1']

        s3 = boto3.client('s3')
        records = event['Records']
        print records
        for record in records:
            src_buck = record['s3']['bucket']['name']
            src_key = record['s3']['object']['key']
            if re.match('^ObjectCreated:*', record['eventName']):
                for des_buck in bucks:
                    print des_buck
                    print "vikash"

                    print s3.copy_object(ACL='bucket-owner-full-control', Bucket=des_buck, Key=src_key,
                                   CopySource={'Bucket': src_buck, 'Key': src_key}, StorageClass='STANDARD')
                    print 'Successfully copied %s to %s' % (src_key, des_buck)


            elif re.match('^ObjectRemoved:*', record['eventName']):
                for des_buck in bucks:
                    s3.delete_object(Bucket=des_buck, Key=src_key)
                    print 'Successfully deleted %s from %s' % (src_key, des_buck)





Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...