I ran into a similar issue. I was trying to access a function inside the grandparent folder of where the lambda was defined. The problem was that the lambda was only able to access files in the same folder (it couldn't access anything in a directory up). For example the below lambda snippet was not working:
import json
from ....function_outside_of_cdk_dir import outer_fn_hello
def handler(event, context):
print('EVENT RECEIVED!!!!!!!!: {}'.format(json.dumps(event)))
outer_fn_hello("test")
To solve this, you can use DockerImageFunction. The solution is putting all of the files your lambda will need (including a file from the grandparent folder) onto a docker container and then running your lambda from that docker container. Below are some screenshots and code that hopefully will help someone (in Python):
We have a directory structure like below:

And inside outer-folder > cdk-example:

function_outside_of_cdk_dir.py
def outer_fn_hello(name):
print("OUTER FN HELLO", name)
hello_lambda.py (note how it can access the function_outside_of_cdk_dir.py)
import json
from function_outside_of_cdk_dir import outer_fn_hello
def handler(event, context):
print('EVENT RECEIVED!!!!!!!!: {}'.format(json.dumps(event)))
outer_fn_hello("test")
Dockerfile
FROM public.ecr.aws/lambda/python:3.8
ARG APP_ROOT=.
COPY ${APP_ROOT}/function_outside_of_cdk_dir.py ${LAMBDA_TASK_ROOT}/
COPY ${APP_ROOT}/cdk-example/functions ${LAMBDA_TASK_ROOT}/functions
ENV PYTHONPATH=${LAMBDA_TASK_ROOT}
ENTRYPOINT ["/lambda-entrypoint.sh"]
CMD ["functions/hello_lambda.handler"]
cdk-example --> cdk_example --> cdk_example_stack.py
from aws_cdk import core as cdk
import os
from aws_cdk.aws_lambda import DockerImageFunction, DockerImageCode
from aws_cdk import core
class CdkExampleStack(cdk.Stack):
def __init__(self, scope: cdk.Construct, construct_id: str, **kwargs) -> None:
super().__init__(scope, construct_id, **kwargs)
docker_context = os.path.join(os.path.dirname(__file__), '../../')
# The code that defines your stack goes here
#define lambda
lambda_1 = DockerImageFunction(self, 'lambda_1', timeout=cdk.Duration.seconds(30), function_name=f'lambda_1', code=DockerImageCode.from_image_asset(
docker_context, file='cdk-example/functions/Dockerfile'))
.dockerignore
cdk-example/cdk.out/