11import boto3
2- import argparse
2+ import argparse , os , sys
33
4+ sys .path .insert (1 , os .path .join (sys .path [0 ], '../..' ))
5+
6+ from settings import settings
47parser = argparse .ArgumentParser (description = 'Create a trigger when a file is uploaded to an specific S3 bucket.' )
58parser .add_argument ('--bucket' , type = str ,
69 help = 'Bucket name.' )
@@ -21,7 +24,7 @@ def create_trigger(name, bucket_name):
2124 response = client .add_permission (
2225 Action = 'lambda:InvokeFunction' ,
2326 FunctionName = name ,
24- StatementId = 'ID-2 ' ,
27+ StatementId = 'ID-0 ' ,
2528 Principal = 's3.amazonaws.com' ,
2629 # SourceAccount='123456789012',
2730 # SourceArn='arn:aws:s3:::examplebucket/*'
@@ -61,8 +64,13 @@ def create_trigger(name, bucket_name):
6164if (__name__ == '__main__' ):
6265 print ("Creating trigger S3 -> Lambda . . . " ,end = '' , flush = True )
6366 args = parser .parse_args ()
67+
6468 bucket_name = args .bucket
6569 lambda_name = args .lambda_name
70+ if not bucket_name :
71+ bucket_name = settings .bucket_name
72+ if not lambda_name :
73+ lambda_name = settings .lambda_func_name_trigger
6674 if not bucket_name or not lambda_name :
6775 print ("\n Lambda name or bucket name are not provided." )
6876
0 commit comments