I'm trying to setup an lambda function triggered by S3 events within a localstack docker-compose environment.
I've got the latest localstack image running in one service with S3, Lambda and APIGATEWAY and the second service is using `awslocal` to communicate with the localstack.

I have gotten as far as successfully creating a lambda function but when I attempt to `add-permission` I get a 404 Not Found error.

My command is:
```
awslocal lambda add-permission 
--function-name my-lambda-function 
--action lambda:InvokeFunction 
--statement-id s3 
--principal s3.amazonaws.com 
--source-arn arn:aws:s3:::event-source-bucket
```

This works against AWS so I'm not sure what I need to have setup within localstack to get it working.  Thanks for any insight you may have.
result = format_func_details(lambda_details)
    return jsonify(result)
@app.route('%s/functions/<function>/configuration' % PATH_ROOT, methods=['PUT'])
def update_function_configuration(function):
    """ Update the configuration of an existing function
        ---
        operationId: 'updateFunctionConfiguration'
        parameters:
            - name: 'request'
              in: body
    """
    data = json.loads(to_str(request.data))
    arn = func_arn(function)
    
    LAMBDA_EXECUTOR.cleanup(arn)
    lambda_details = arn_to_lambda[arn]
    if data.get('Handler'):
        lambda_details.handler = data['Handler']
    if data.get('Runtime'):
        lambda_details.runtime = data['Runtime']
    env_vars = data.get('Environment', {}).get('Variables')
    if env_vars is not None:
        lambda_details.envvars = env_vars
    if data.get('Timeout'):
        lambda_details.timeout = data['Timeout']
    result = {}
    return jsonify(result)
@app.route('%s/functions/<function>/invocations' % PATH_ROOT, methods=['POST'])
def invoke_function(function):
    """ Invoke an existing function