[AWS] Put Object To S3 Trigger Lambda Sync Bucket
Situation
Need Sync S3 When S3 Have New Objects Put In.
How To
Before Start
Create Source And Destination Bucket First
In This Demo, Just Create Two Buckets Name : wei-sync-bucket-1
& wei-sync-bucket-2

—Attention : If Just Demo Or Practice, Please Set Bucket As Same Region, Cause When You Transfer Object Cross Region, You’ll Be Charged Fee—
Then Go To Lambda Function And Create Function

You Need Add Trigger (From S3), Write Simple Python code.
-
Add Trigger
-
Write code
import boto3
s3 = boto3.resource('s3')
def lambda_handler(event, context):
'''
Get SRC Bucket Objects
'''
srcBucket = s3.Bucket('wei-sync-bucket-1')
getObjects = srcBucket.objects.all()
'''
Copy All Objects From SRC Bucket To DES Bucket
'''
for cpOBJ in getObjects:
copy_source = {
'Bucket' : 'wei-sync-bucket-1',
'Key' : cpOBJ.key
}
bucket = s3.Bucket('wei-sync-bucket-2')
bucket.copy(copy_source, cpOBJ.key)
return None
```