diff --git a/docs/source/install.rst b/docs/source/install.rst index b96adabd3..b85afa999 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -80,19 +80,57 @@ Serverless Application Repository (SAR) AWS Data Wrangler layers are also available in the `AWS Serverless Application Repository `_ (SAR). -Here is an example of how to create the Lambda layer in your CDK app: +The app deploys the Lambda layer version in your own AWS account and region via a CloudFormation stack. +This option provides the ability to use semantic versions (i.e. library version) instead of Lambda layer versions. + +.. list-table:: AWS Data Wrangler Layer Apps + :widths: 25 25 50 + :header-rows: 1 + + * - App + - ARN + - Description + * - aws-data-wrangler-layer-py3-7 + - arn:aws:serverlessrepo:us-east-1:336392948345:applications/aws-data-wrangler-layer-py3-7 + - Layer for ``Python 3.7.x`` runtimes + * - aws-data-wrangler-layer-py3-8 + - arn:aws:serverlessrepo:us-east-1:336392948345:applications/aws-data-wrangler-layer-py3-8 + - Layer for ``Python 3.8.x`` runtimes + * - aws-data-wrangler-layer-py3-9 + - arn:aws:serverlessrepo:us-east-1:336392948345:applications/aws-data-wrangler-layer-py3-9 + - Layer for ``Python 3.9.x`` runtimes + +Here is an example of how to create and use the AWS Data Wrangler Lambda layer in your CDK app: .. code-block:: python + + from aws_cdk import core, aws_sam as sam, aws_lambda - CfnApplication( - self, - "wrangler-layer", - location=CfnApplication.ApplicationLocationProperty( - application_id="arn:aws:serverlessrepo:us-east-1:336392948345:applications/aws-data-wrangler-layer-py3-8", - semantic_version="2.12.0", - ), - ) + class DataWranglerApp(core.Construct): + def __init__(self, scope: core.Construct, id_: str): + super.__init__(scope,id) + wrangler_layer = sam.CfnApplication( + self, + "wrangler-layer", + location=CfnApplication.ApplicationLocationProperty( + application_id="arn:aws:serverlessrepo:us-east-1:336392948345:applications/aws-data-wrangler-layer-py3-8", + semantic_version="2.13.0", # Get the latest version from https://github.com/awslabs/aws-data-wrangler/releases + ), + ) + + wrangler_layer_arn = wrangler_layer.get_att("Outputs.WranglerLayer38Arn").to_string() + wrangler_layer_version = aws_lambda.LayerVersion.from_layer_version_arn(self, "wrangler-layer-version", wrangler_layer_arn) + + aws_lambda.Function( + self, + "wrangler-function", + runtime=aws_lambda.Runtime.PYTHON_3_8, + function_name="sample-wrangler-lambda-function", + code=aws_lambda.Code.asset("./src/wrangler-lambda"), + handler='lambda_function.lambda_handler', + layers=[wrangler_layer_version] + ) AWS Glue Python Shell Jobs --------------------------