Skip to content

sam local invoke supports detecting layers from SAR nested app's Outputs #2871

Open
@robk1234

Description

@robk1234

Describe your idea/feature/enhancement

sam local invoke doesn't load layers imported from a AWS::Serverless::Application.

I'm trying to follow this procedure:
https://awslabs.github.io/aws-lambda-powertools-python/latest/#lambda-layer

When I deploy to AWS, the Lambda layer gets created and the code completes.

When I run:

 r53-automation git:(master) ✗ sam local invoke --force-image-build --event events/find_zone.json ZoneFinderFunction
2021-05-11 14:16:03 Requesting to create CFN template arn:aws:serverlessrepo:eu-west-1:057560766410:applications/aws-lambda-powertools-python-layer/1.15.0 in serverless application repo...
2021-05-11 14:16:05 {'ResponseMetadata': {'RequestId': '9b3d41c6-2237-40b2-9687-59263a4b1632', 'HTTPStatusCode': 201, 'HTTPHeaders': {'date': 'Tue, 11 May 2021 18:16:04 GMT', 'content-type': 'application/json', 'content-length': '1682', 'connection': 'keep-alive', 'x-amzn-requestid': '9b3d41c6-2237-40b2-9687-59263a4b1632', 'x-amz-apigw-id': 'fLR7sF-NoAMF_Rw=', 'x-amzn-trace-id': 'Root=1-609ac9e4-6ffa4c5e3576ed933a10935f'}, 'RetryAttempts': 0}, 'ApplicationId': 'arn:aws:serverlessrepo:eu-west-1:057560766410:applications/aws-lambda-powertools-python-layer', 'CreationTime': '2021-05-11T18:16:04.942Z', 'ExpirationTime': '2021-05-12T00:16:04.942Z', 'SemanticVersion': '1.15.0', 'Status': 'PREPARING', 'TemplateId': '9fe5efce-82ac-4ee4-a52a-1dccffbe4c02', 'TemplateUrl': 'https://awsserverlessrepo-changesets-plntc6bfnfj.s3.amazonaws.com/777548758970/arn%3Aaws%3Aserverlessrepo%3Aeu-west-1%3A057560766410%3Aapplications-aws-lambda-powertools-python-layer-versions-1.15.0/e8b84b8c-af66-4290-92aa-96a5dfb645d5.yaml?X-Amz-Security-Token=IQoJb3JpZ2luX2VjECIaCXVzLWVhc3QtMSJGMEQCIGdOuHqn2s3K0aSJ79tXGoVa85aKPandmC97587S8HMAAiAO9QBzFBMtJcQP%2BQMSiemA7r%2B5%2FIFMlu%2BGJJYmu1RxfCrxAQiq%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAEaDDA2NjI0MjQ2ODY1NCIMPMcltDsAGH%2BviBq5KsUBma220INO4MQ2Ds9xiN1rkUuiQjbYjdi4DpNTaG%2B8l3iRausx%2FSS%2B5yF%2BTkmcdK0joO6OIhx8VzwmBhzU5yghwh5wIhzb3rzt46M%2B3xxm5fyGDiUQeh9LSrAZoYyNxryAiKvsu7vahHVeSMcwdyFrDX1AAmXWsX8JXRvxtrrNbFsJwDVC7W50ZQ4T%2F6bcueAg6QlJCdh%2Bl%2BYWnfawxjsTzC%2FUFA%2FexkrN8FhRvm0xEaQH%2FSYdw2N4eDGCtml7GxCZRUnJ8Vgw1fTqhAY64QES3vpkzr%2BfKsxhWZGCKFwO6TJWHnLl5UOaW%2BW%2FJDr3Jc9bLkHRbRvaXCP6FgzRV20Z31UmARfGpDjGSmP2tEM%2F9H9f34ePMccS4vkTiYRTuxty%2B7A7BuP6EZG4v1SZio9ILXo7aPOyGeMMGI%2FRXDPB6vuR3kKRrrzxGmrlCnJ4fSHAruMesw4s18bCloQs8XFaTKF1CDPJ%2FSPJ5poCuAAjeES4SHemn0xDvMVo4BPvONlaRUsFmU2lj5InxcW0B7qdsXg36no3ljgVVTRign6ioParWJGLycKSHQTIsMTiLUY%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20210511T181604Z&X-Amz-SignedHeaders=host&X-Amz-Expires=21600&X-Amz-Credential=ASIAQ63C33MXDMXGSCNP%2F20210511%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=9d388c64ce05af4995a152dc4e7d1b378145963f72ad2263db52749111fb76fa'}
2021-05-11 14:16:05 Requested to create CFN template arn:aws:serverlessrepo:eu-west-1:057560766410:applications/aws-lambda-powertools-python-layer/1.15.0 in serverless application repo.
2021-05-11 14:16:05 Requesting to create CFN template arn:aws:serverlessrepo:eu-west-1:057560766410:applications/aws-lambda-powertools-python-layer/1.15.0 in serverless application repo...
2021-05-11 14:16:06 {'ResponseMetadata': {'RequestId': 'caee4be3-8d60-40b0-8076-e91b383f1780', 'HTTPStatusCode': 201, 'HTTPHeaders': {'date': 'Tue, 11 May 2021 18:16:06 GMT', 'content-type': 'application/json', 'content-length': '1682', 'connection': 'keep-alive', 'x-amzn-requestid': 'caee4be3-8d60-40b0-8076-e91b383f1780', 'x-amz-apigw-id': 'fLR76HmbIAMFVkQ=', 'x-amzn-trace-id': 'Root=1-609ac9e5-382699872eb86b312d7be6e9'}, 'RetryAttempts': 0}, 'ApplicationId': 'arn:aws:serverlessrepo:eu-west-1:057560766410:applications/aws-lambda-powertools-python-layer', 'CreationTime': '2021-05-11T18:16:06.294Z', 'ExpirationTime': '2021-05-12T00:16:06.294Z', 'SemanticVersion': '1.15.0', 'Status': 'PREPARING', 'TemplateId': '6115398d-ed74-4861-b228-f342279894a9', 'TemplateUrl': 'https://awsserverlessrepo-changesets-plntc6bfnfj.s3.amazonaws.com/777548758970/arn%3Aaws%3Aserverlessrepo%3Aeu-west-1%3A057560766410%3Aapplications-aws-lambda-powertools-python-layer-versions-1.15.0/06711f5d-5102-4689-90c9-31db3a4e628e.yaml?X-Amz-Security-Token=IQoJb3JpZ2luX2VjECIaCXVzLWVhc3QtMSJGMEQCIGdOuHqn2s3K0aSJ79tXGoVa85aKPandmC97587S8HMAAiAO9QBzFBMtJcQP%2BQMSiemA7r%2B5%2FIFMlu%2BGJJYmu1RxfCrxAQiq%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAEaDDA2NjI0MjQ2ODY1NCIMPMcltDsAGH%2BviBq5KsUBma220INO4MQ2Ds9xiN1rkUuiQjbYjdi4DpNTaG%2B8l3iRausx%2FSS%2B5yF%2BTkmcdK0joO6OIhx8VzwmBhzU5yghwh5wIhzb3rzt46M%2B3xxm5fyGDiUQeh9LSrAZoYyNxryAiKvsu7vahHVeSMcwdyFrDX1AAmXWsX8JXRvxtrrNbFsJwDVC7W50ZQ4T%2F6bcueAg6QlJCdh%2Bl%2BYWnfawxjsTzC%2FUFA%2FexkrN8FhRvm0xEaQH%2FSYdw2N4eDGCtml7GxCZRUnJ8Vgw1fTqhAY64QES3vpkzr%2BfKsxhWZGCKFwO6TJWHnLl5UOaW%2BW%2FJDr3Jc9bLkHRbRvaXCP6FgzRV20Z31UmARfGpDjGSmP2tEM%2F9H9f34ePMccS4vkTiYRTuxty%2B7A7BuP6EZG4v1SZio9ILXo7aPOyGeMMGI%2FRXDPB6vuR3kKRrrzxGmrlCnJ4fSHAruMesw4s18bCloQs8XFaTKF1CDPJ%2FSPJ5poCuAAjeES4SHemn0xDvMVo4BPvONlaRUsFmU2lj5InxcW0B7qdsXg36no3ljgVVTRign6ioParWJGLycKSHQTIsMTiLUY%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20210511T181606Z&X-Amz-SignedHeaders=host&X-Amz-Expires=21600&X-Amz-Credential=ASIAQ63C33MXDMXGSCNP%2F20210511%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=ffcba9ee3e2bfc70020de53c1b3764b0aff1a2ef8ea8e281bc9a50be6b9a01a4'}
2021-05-11 14:16:06 Requested to create CFN template arn:aws:serverlessrepo:eu-west-1:057560766410:applications/aws-lambda-powertools-python-layer/1.15.0 in serverless application repo.
2021-05-11 14:16:06 Requesting to create CFN template arn:aws:serverlessrepo:eu-west-1:057560766410:applications/aws-lambda-powertools-python-layer/1.15.0 in serverless application repo...
2021-05-11 14:16:07 {'ResponseMetadata': {'RequestId': '18418eee-20c2-48c7-8abd-51f4903c4a95', 'HTTPStatusCode': 201, 'HTTPHeaders': {'date': 'Tue, 11 May 2021 18:16:07 GMT', 'content-type': 'application/json', 'content-length': '1682', 'connection': 'keep-alive', 'x-amzn-requestid': '18418eee-20c2-48c7-8abd-51f4903c4a95', 'x-amz-apigw-id': 'fLR8HGd0oAMFYlg=', 'x-amzn-trace-id': 'Root=1-609ac9e7-6bc45bc81a616ac0030682a8'}, 'RetryAttempts': 0}, 'ApplicationId': 'arn:aws:serverlessrepo:eu-west-1:057560766410:applications/aws-lambda-powertools-python-layer', 'CreationTime': '2021-05-11T18:16:07.558Z', 'ExpirationTime': '2021-05-12T00:16:07.558Z', 'SemanticVersion': '1.15.0', 'Status': 'PREPARING', 'TemplateId': 'b668cba3-817e-47b9-a83b-f97aa3a4232e', 'TemplateUrl': 'https://awsserverlessrepo-changesets-plntc6bfnfj.s3.amazonaws.com/777548758970/arn%3Aaws%3Aserverlessrepo%3Aeu-west-1%3A057560766410%3Aapplications-aws-lambda-powertools-python-layer-versions-1.15.0/1106d9b0-38b4-433d-8db6-648c26d935cb.yaml?X-Amz-Security-Token=IQoJb3JpZ2luX2VjECIaCXVzLWVhc3QtMSJGMEQCIGdOuHqn2s3K0aSJ79tXGoVa85aKPandmC97587S8HMAAiAO9QBzFBMtJcQP%2BQMSiemA7r%2B5%2FIFMlu%2BGJJYmu1RxfCrxAQiq%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAEaDDA2NjI0MjQ2ODY1NCIMPMcltDsAGH%2BviBq5KsUBma220INO4MQ2Ds9xiN1rkUuiQjbYjdi4DpNTaG%2B8l3iRausx%2FSS%2B5yF%2BTkmcdK0joO6OIhx8VzwmBhzU5yghwh5wIhzb3rzt46M%2B3xxm5fyGDiUQeh9LSrAZoYyNxryAiKvsu7vahHVeSMcwdyFrDX1AAmXWsX8JXRvxtrrNbFsJwDVC7W50ZQ4T%2F6bcueAg6QlJCdh%2Bl%2BYWnfawxjsTzC%2FUFA%2FexkrN8FhRvm0xEaQH%2FSYdw2N4eDGCtml7GxCZRUnJ8Vgw1fTqhAY64QES3vpkzr%2BfKsxhWZGCKFwO6TJWHnLl5UOaW%2BW%2FJDr3Jc9bLkHRbRvaXCP6FgzRV20Z31UmARfGpDjGSmP2tEM%2F9H9f34ePMccS4vkTiYRTuxty%2B7A7BuP6EZG4v1SZio9ILXo7aPOyGeMMGI%2FRXDPB6vuR3kKRrrzxGmrlCnJ4fSHAruMesw4s18bCloQs8XFaTKF1CDPJ%2FSPJ5poCuAAjeES4SHemn0xDvMVo4BPvONlaRUsFmU2lj5InxcW0B7qdsXg36no3ljgVVTRign6ioParWJGLycKSHQTIsMTiLUY%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20210511T181607Z&X-Amz-SignedHeaders=host&X-Amz-Expires=21600&X-Amz-Credential=ASIAQ63C33MXDMXGSCNP%2F20210511%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=1f2f66a871c49fa23dbbd53e320b85ff2297c14bb51bbeff0859bd7d1f601b78'}
2021-05-11 14:16:07 Requested to create CFN template arn:aws:serverlessrepo:eu-west-1:057560766410:applications/aws-lambda-powertools-python-layer/1.15.0 in serverless application repo.
Invoking app.lambda_handler (python3.8)
Building image............
Skip pulling image and use local one: amazon/aws-sam-cli-emulation-image-python3.8:rapid-1.23.0.

Mounting /Users/rklages/interesting/dns/r53-automation/.aws-sam/build/ZoneFinderFunction as /var/task:ro,delegated inside runtime container
START RequestId: 1e546c65-a2d0-436f-b3b1-52fed649c5a2 Version: $LATEST
Traceback (most recent call last): Unable to import module 'app': No module named 'aws_lambda_powertools'
END RequestId: 1e546c65-a2d0-436f-b3b1-52fed649c5a2
REPORT RequestId: 1e546c65-a2d0-436f-b3b1-52fed649c5a2	Init Duration: 0.24 ms	Duration: 2126.17 ms	Billed Duration: 2200 ms	Memory Size: 128 MB	Max Memory Used: 128 MB	
{"errorMessage": "Unable to import module 'app': No module named 'aws_lambda_powertools'", "errorType": "Runtime.ImportModuleError", "stackTrace": []}%          

I get an import error. There are no layer definitions in .aws-sam/build.toml

r53-automation git:(master) ✗ cat .aws-sam/build.toml 
# This file is auto generated by SAM CLI build command

[function_build_definitions]
[function_build_definitions.42418459-82cf-4b90-a827-08dd69e2a4fa]
codeuri = "/Users/rklages/interesting/dns/r53-automation/functions/zone_finder"
runtime = "python3.8"
source_md5 = ""
packagetype = "Zip"
functions = ["ZoneFinderFunction"]

[function_build_definitions.e97041b9-a457-4e60-818e-403c1ec215a2]
codeuri = "/Users/rklages/interesting/dns/r53-automation/functions/backup_record"
runtime = "python3.8"
source_md5 = ""
packagetype = "Zip"
functions = ["RecordBackupFunction"]

[layer_build_definitions]
➜  r53-automation git:(master) ✗ sam --version
SAM CLI, version 1.23.0

Proposal

Add details of how to add this to the product.

Things to consider:

  1. Will this require any updates to the SAM Spec

Additional Details

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions