@@ -19,15 +19,20 @@ It handles an AWS Lambda function that copies an object when it appears in a S3
1919
2020## Using the code
2121
22- * You can select the destination bucket name changing the value of ` DESTINATION_BUCKET ` variable in the code.
22+ * You can select the destination bucket name using an AWS Lambda environment variable: ` TARGET_BUCKET `
2323
2424* Access the AWS console.
2525
2626* Create a S3 bucket for the source and another S3 bucket for the target.
2727
28- * Create an IAM Policy: ex. ` Policy-VM -buckets `
28+ * Create an IAM Policy: ex. ` Policy-my -buckets `
2929
30- Content of the IAM policy:
30+ Changing:
31+
32+ * ` sourcebucket ` to the name of your source bucket.
33+ * ` targetbucket ` to the name of your target bucket.
34+
35+ Content of the IAM policy:
3136
3237 ``` bash
3338 {
@@ -39,7 +44,7 @@ It handles an AWS Lambda function that copies an object when it appears in a S3
3944 " s3:GetObject"
4045 ],
4146 " Resource" : [
42- " arn:aws:s3:::sourcevm /*"
47+ " arn:aws:s3:::sourcebucket /*"
4348 ]
4449 },
4550 {
@@ -48,11 +53,10 @@ It handles an AWS Lambda function that copies an object when it appears in a S3
4853 " s3:PutObject"
4954 ],
5055 " Resource" : [
51- " arn:aws:s3:::targetvm /*"
56+ " arn:aws:s3:::targetbucket /*"
5257 ]
5358 },
5459 {
55- " Sid" : " Stmt1430872844000" ,
5660 " Effect" : " Allow" ,
5761 " Action" : [
5862 " cloudwatch:*"
@@ -62,7 +66,6 @@ It handles an AWS Lambda function that copies an object when it appears in a S3
6266 ]
6367 },
6468 {
65- " Sid" : " Stmt1430872852000" ,
6669 " Effect" : " Allow" ,
6770 " Action" : [
6871 " logs:*"
@@ -75,15 +78,15 @@ It handles an AWS Lambda function that copies an object when it appears in a S3
7578 }
7679 ```
7780
78- * Create a role: ` Role-VM -buckets ` .
81+ * Create a role: ` Role-my -buckets ` .
7982
80- This role uses the policy ` Policy-VM -buckets `
83+ This role uses the policy ` Policy-my -buckets `
8184
8285* Create an AWS lambda function.
8386 * Name: ` <LAMBDA_NAME> `
84- * Runtime: ` Python 3.6 `
87+ * Runtime: ` Python 3.8 `
8588 * Handler: ` lambda_function.lambda_handler `
86- * Role: ` Role-VM -buckets `
89+ * Role: ` Role-my -buckets `
8790 * The triggers:
8891 * ` S3 `
8992 * Bucket: ` <BUCKET_NAME> `
@@ -93,14 +96,15 @@ It handles an AWS Lambda function that copies an object when it appears in a S3
9396 * ` Amazon CloudWatch `
9497 * ` Amazon CloudWatch Logs `
9598 * ` Amazon S3 `
96- * Lambda obtained information from the policy statements: ` Managed policy Policy-VM-buckets ` :
97- * ` s3:GetObject ` --> ` Allow: arn:aws:s3:::sourcevm/* `
98- * ` s3:DeleteObject ` --> ` Allow: arn:aws:s3:::sourcevm/* `
99- * ` s3:PutObject ` --> ` Allow: arn:aws:s3:::targetvm/* `
99+ * Lambda obtained information from the policy statements: ` Managed policy Policy-my-buckets ` :
100+ * ` s3:GetObject ` --> ` Allow: arn:aws:s3:::sourcebucket/* `
101+ * ` s3:PutObject ` --> ` Allow: arn:aws:s3:::targetbucket/* `
100102 * Basic Settings for the lambda function:
101103 * Memory (MB): ` 1024 `
102104 * Timeout: ` 10 sec `
103105
106+ * Create the AWS Lambda environment variable ` TARGET_BUCKET ` and set its value to the name of your target bucket.
107+
104108* Write the code.
105109
106110 The content of ` lambda_function.py ` file.
@@ -114,3 +118,14 @@ It handles an AWS Lambda function that copies an object when it appears in a S3
114118 Copy a file in the source S3 bucket.
115119
116120 The object from the source S3 bucket should be copied to the target S3 bucket.
121+
122+ You should see the next messages in the log:
123+
124+ ``` bash
125+ " From - bucket:: <SOURCE_BUCKET_NAME>"
126+ " From - object: <SOURCE_FILE_NAME>"
127+ " To - bucket: <TARGET_BUCKET_NAME>"
128+ " To - object: <TARGET_FILE_NAME>"
129+ " Copying object ..."
130+ " Copied"
131+ ```
0 commit comments