Hello all,

I have noticed that when I generate a presigned url for a file that will be uploaded to S3 that the Lambda function does not get triggered. It seems to only be happening for presigned url. I was able to successful have it trigger when I use the command line and upload a file through `aws s3 cp`. 

To recreate:
1: have any lambda function be added to an s3 bucket. My lambda configurations look as followed:
```
aws s3api --endpoint-url=http://localstack:4572 create-bucket --bucket mybucket;
aws s3api --endpoint-url=http://localstack:4572 create-bucket --bucket code;
aws s3 cp --endpoint-url=http://localstack:4572 --acl public-read /resources/example.zip s3://code/;
aws lambda create-function --endpoint-url=http://localstack:4574 --function-name MyLambdaFunction--runtime 'nodejs8.10' --handler 'index.handler' --role 'anyRole' --code S3Bucket=code,S3Key=example.zip,S3ObjectVersion=1.0.0;
```
Then add this lambda configuration to the bucket
```
{
    "LambdaFunctionConfigurations": [
        {
            "LambdaFunctionArn": "arn:aws:lambda:us-east-1:000000000000:function:MyLambdaFunction",
            "Events": [
                "s3:ObjectCreated:*"
            ]
        }
    ]
}
```
by running
```
aws s3api --endpoint-url=http://localstack:4572 put-bucket-notification-configuration --bucket 'mybucket' --notification-configuration file:///resources/notification.json;
```
2: Generate a presigned url for the bucket you added the lambda too

```
aws s3 presign --endpoint-url=http://localstack:4572 s3://mybucket/test.txt  --expires-in 300
```
3:
```
 curl --upload-file test.txt -v http://localstack:4572/mybucket/test.txt?AWSAccess
KeyId=dummyaccess&Expires=1571680684&Signature=TbCFh1rzkNYwNEooaQKcJPF4%2Fss%3D
```

Lambda does not seem to get triggered.

Any help or fixes?

Thank you so much for your time and help. Localstack has been a great tool!
self.is_query_allowable(method, parsed.query)
        ])
        
        if should_send_notifications:
            
            if key:
                object_path = '/' + key
            elif bucket_name_in_host:
                object_path = parsed.path
            else:
                parts = parsed.path[1:].split('/', 1)
                object_path = parts[1] if parts[1][0] == '/' else '/%s' % parts[1]
            version_id = response.headers.get('x-amz-version-id', None)
            send_notifications(method, bucket_name, object_path, version_id)
        
        if method in ('PUT', 'DELETE') and ('/' not in path[1:] or len(path[1:].split('/')[1]) <= 0):
            event_type = (event_publisher.EVENT_S3_CREATE_BUCKET if method == 'PUT'
                else event_publisher.EVENT_S3_DELETE_BUCKET)
            event_publisher.fire_event(event_type, payload={'n': event_publisher.get_hash(bucket_name)})
        
        if method == 'PUT' and parsed.query == 'policy':
            response._content = ''
            response.status_code = 204
            return response
        if response:
            reset_content_length = False
            
            append_cors_headers(bucket_name, request_method=method, request_headers=headers, response=response)
            append_last_modified_headers(response=response)