Documentation

Commandes utiles

Set default session

boto3.setup_default_session(profile_name='staging')

Know AWS Account

default_session.client("sts").get_caller_identity()["Account"]

Connaître Région

boto3.session.Session().region_name

Lambda

Permettre d’avoir un trigger S3

 boto3.client('lambda')
   .add_permission(
FunctionName="arn:aws:lambda:eu-west-1:XXX:function:YYY",
StatementId='1',
Action='lambda:InvokeFunction',
Principal='s3.amazonaws.com',
SourceArn="arn:aws:s3:::BUCKET_NAME",
)
Puis
 boto3.client('s3')
  .put_bucket_notification_configuration(
        Bucket=name,
        NotificationConfiguration={
            'LambdaFunctionConfigurations': [
                {
                    'LambdaFunctionArn': "arn:aws:lambda:eu-west-1:XXXX:function:YYYY",
                    'Events': [
                        's3:ObjectCreated:*',
                    ],
                    'Filter': {
                        'Key': {
                            'FilterRules': [
                                {
                                    'Name': 'prefix',
                                    'Value': 'myPrefix'
                                },
                            ]
                        }
                    }
                },
            ]
        }
    )

Voir permissions

aws lambda get-policy