Description
What were you initially searching for in the docs?
Using the AWS CDK, I wanted to deploy a Lambda layer from the Powertools Serverless Application Repository ARN for re-use within my CDK application.
The Lambda Layer documentation does not include how to do this.
Is this related to an existing part of the documentation? Please share a link
https://awslabs.github.io/aws-lambda-powertools-python/#lambda-layer
Describe how we could make it clearer
A code snippet and details could be provided to make it easier for a customer to get up and running faster.
If you have a proposed update, please share it here
Using similar language to the existing documentation, but some rewording could also used to provide the overall detail with SAM and CDK examples below it.
If using the AWS CDK, you can create include this SAR App and lock to a specific semantic version. The Layer can be used in the same CDK application. Once deployed, it'll be available across the account this is deployed to.
** insert a TypeScript CDK example **
# Create the AWS Lambda Powertools for Python layer
powertools_arn = 'arn:aws:serverlessrepo:eu-west-1:057560766410:applications/aws-lambda-powertools-python-layer'
powertools_application = aws_sam.CfnApplication(self, 'AWSLambdaPowertoolsApplication',
location={'applicationId': powertools_arn,
'semanticVersion': '1.12.0'})
powertools_resource = cdk.CfnResource(powertools_application, 'AWSLambdaPowertoolsResource',
type='AWS::Serverless::Application',
properties={'Location': {
'ApplicationId': powertools_arn,
'SemanticVersion': '1.12.0'
}})
powertools_layer = aws_lambda.LayerVersion.from_layer_version_arn(
self, 'AWSLambdaPowertoolsLayer', powertools_resource.get_att("Outputs.LayerVersionArn").to_string())
# Reference the Layer in a Lambda definition
my_function = aws_lambda.Function(
self, "MyFunction",
layers=[powertools_layer],
runtime=aws_lambda.Runtime.PYTHON_3_8,
)
Metadata
Metadata
Assignees
Type
Projects
Status