From 5bfaf9d17c15662b1298676a1f0745644d316b97 Mon Sep 17 00:00:00 2001 From: Setu Shah <setu4993@yahoo.co.in> Date: Wed, 29 Dec 2021 12:56:36 -0800 Subject: [PATCH] fix: Resolve handler to improve sub-dir handling fixes https://github.com/aws/aws-cdk/issues/15391 --- packages/@aws-cdk/aws-lambda-python/lib/function.ts | 6 ++++-- packages/@aws-cdk/aws-lambda-python/test/function.test.ts | 2 +- .../aws-lambda-python/test/integ.function.sub.expected.json | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/@aws-cdk/aws-lambda-python/lib/function.ts b/packages/@aws-cdk/aws-lambda-python/lib/function.ts index 9de4881134e30..680c9cf845265 100644 --- a/packages/@aws-cdk/aws-lambda-python/lib/function.ts +++ b/packages/@aws-cdk/aws-lambda-python/lib/function.ts @@ -14,7 +14,7 @@ import { Construct } from '@aws-cdk/core'; */ export interface PythonFunctionProps extends FunctionOptions { /** - * The path to the root directory of the function. + * Path to the source of the function or the location for dependencies. */ readonly entry: string; @@ -70,6 +70,8 @@ export class PythonFunction extends Function { throw new Error('Only `PYTHON` runtimes are supported.'); } + const resolvedHandler =`${index.slice(0, -3)}.${handler}`.replace('/', '.'); + super(scope, id, { ...props, runtime, @@ -78,7 +80,7 @@ export class PythonFunction extends Function { runtime, ...props.bundling, }), - handler: `${index.slice(0, -3)}.${handler}`, + handler: resolvedHandler, }); } } diff --git a/packages/@aws-cdk/aws-lambda-python/test/function.test.ts b/packages/@aws-cdk/aws-lambda-python/test/function.test.ts index 935d4ceffaff7..3a28f276ec7ad 100644 --- a/packages/@aws-cdk/aws-lambda-python/test/function.test.ts +++ b/packages/@aws-cdk/aws-lambda-python/test/function.test.ts @@ -73,7 +73,7 @@ test('PythonFunction with index in a subdirectory', () => { })); Template.fromStack(stack).hasResourceProperties('AWS::Lambda::Function', { - Handler: 'inner/custom_index.custom_handler', + Handler: 'inner.custom_index.custom_handler', }); }); diff --git a/packages/@aws-cdk/aws-lambda-python/test/integ.function.sub.expected.json b/packages/@aws-cdk/aws-lambda-python/test/integ.function.sub.expected.json index 3c44a7a33990e..35e40ea2f0cc6 100644 --- a/packages/@aws-cdk/aws-lambda-python/test/integ.function.sub.expected.json +++ b/packages/@aws-cdk/aws-lambda-python/test/integ.function.sub.expected.json @@ -78,7 +78,7 @@ "Arn" ] }, - "Handler": "inner/custom_index.custom_handler", + "Handler": "inner.custom_index.custom_handler", "Runtime": "python3.7" }, "DependsOn": [