@@ -23,19 +23,36 @@ This project separates core utilities that will be available in other runtimes v
23
23
24
24
Powertools is available in the following formats:
25
25
26
- ??? info "Lambda Layer is a .zip file archive with Lambda Powertools pre-packaged in every AWS region. See what's inside!"
27
- Change {region} to your AWS region, e.g. ` eu-west-1 `
28
-
29
- **`aws lambda get-layer-version-by-arn --arn arn:aws:lambda:{region}:017000801446:layer:AWSLambdaPowertoolsPython:3 --region {region}`**
30
-
31
26
* ** Lambda Layer** : [ ** arn:aws:lambda:{region}:017000801446:layer:AWSLambdaPowertoolsPython:3** ] ( # ) {: .copyMe} :clipboard :
32
27
* ** PyPi** : ** ` pip install aws-lambda-powertools ` **
33
28
34
29
### Lambda Layer
35
30
36
- Include Lambda Powertools in your function using the [ AWS Lambda Console] ( https://console.aws.amazon.com/lambda ) {target="_ blank"} or your preferred deployment framework.
31
+ [ Lambda Layer] ( https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html ) {target="_ blank"} is a .zip file archive that can contain additional code, pre-packaged dependencies, data, or configuration files. Layers promote code sharing and separation of responsibilities so that you can iterate faster on writing business logic.
32
+
33
+ You can include Lambda Powertools Lambda Layer using [ AWS Lambda Console] ( https://docs.aws.amazon.com/lambda/latest/dg/invocation-layers.html#invocation-layers-using ) {target="_ blank"}, or your preferred deployment framework.
34
+
35
+ ??? note "Expand to copy any regional Lambda Layer ARN"
37
36
38
- !!! note "The public layers do not contain the ` pydantic ` library that is required for the ` parser ` utility; See [ SAR] ( #sar ) option instead."
37
+ | Region | Layer ARN
38
+ |--------------------------- | ---------------------------
39
+ | `us-east-1` | [arn:aws:lambda:us-east-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
40
+ | `us-east-2` | [arn:aws:lambda:us-east-2:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
41
+ | `us-west-1` | [arn:aws:lambda:us-west-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
42
+ | `us-west-2` | [arn:aws:lambda:us-west-2:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
43
+ | `ap-south-1` | [arn:aws:lambda:ap-south-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
44
+ | `ap-northeast-1` | [arn:aws:lambda:ap-northeast-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
45
+ | `ap-northeast-2` | [arn:aws:lambda:ap-northeast-2:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
46
+ | `ap-northeast-3` | [arn:aws:lambda:ap-northeast-3:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
47
+ | `ap-southeast-1` | [arn:aws:lambda:ap-southeast-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
48
+ | `ap-southeast-2` | [arn:aws:lambda:ap-southeast-2:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
49
+ | `eu-central-1` | [arn:aws:lambda:eu-central-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
50
+ | `eu-west-1` | [arn:aws:lambda:eu-west-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
51
+ | `eu-west-2` | [arn:aws:lambda:eu-west-2:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
52
+ | `eu-west-3` | [arn:aws:lambda:eu-west-3:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
53
+ | `eu-north-1` | [arn:aws:lambda:eu-north-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
54
+ | `ca-central-1` | [arn:aws:lambda:ca-central-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
55
+ | `sa-east-1` | [arn:aws:lambda:sa-east-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
39
56
40
57
=== "SAM"
41
58
@@ -50,11 +67,11 @@ Include Lambda Powertools in your function using the [AWS Lambda Console](https:
50
67
=== "Serverless framework"
51
68
52
69
```yaml hl_lines="5"
53
- functions:
54
- main :
55
- handler: lambda_function.lambda_handler
56
- layers:
57
- - arn:aws:lambda:${aws:region}:017000801446:layer:AWSLambdaPowertoolsPython:3
70
+ functions:
71
+ hello :
72
+ handler: lambda_function.lambda_handler
73
+ layers:
74
+ - arn:aws:lambda:${aws:region}:017000801446:layer:AWSLambdaPowertoolsPython:3
58
75
```
59
76
60
77
=== "CDK"
@@ -150,27 +167,17 @@ Include Lambda Powertools in your function using the [AWS Lambda Console](https:
150
167
? Do you want to edit the local lambda function now? No
151
168
```
152
169
153
- ??? note "Expand to copy any regional Lambda Layer ARN"
170
+ === "Get the Layer .zip contents"
171
+ Change {region} to your AWS region, e.g. ` eu-west-1 `
172
+
173
+ **`aws lambda get-layer-version-by-arn --arn arn:aws:lambda:{region}:017000801446:layer:AWSLambdaPowertoolsPython:3 --region {region}`**
174
+
175
+ !!! warning "Limitations"
176
+
177
+ Container Image deployment (OCI) or inline Lambda functions do not support Lambda Layers.
178
+
179
+ Lambda Powertools Lambda Layer do not include `pydantic` library - required dependency for the `parser` utility. See [SAR](#sar) option instead.
154
180
155
- | Region | Layer ARN
156
- |--------------------------- | ---------------------------
157
- | `us-east-1` | [arn:aws:lambda:us-east-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
158
- | `us-east-2` | [arn:aws:lambda:us-east-2:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
159
- | `us-west-1` | [arn:aws:lambda:us-west-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
160
- | `us-west-2` | [arn:aws:lambda:us-west-2:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
161
- | `ap-south-1` | [arn:aws:lambda:ap-south-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
162
- | `ap-northeast-1` | [arn:aws:lambda:ap-northeast-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
163
- | `ap-northeast-2` | [arn:aws:lambda:ap-northeast-2:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
164
- | `ap-northeast-3` | [arn:aws:lambda:ap-northeast-3:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
165
- | `ap-southeast-1` | [arn:aws:lambda:ap-southeast-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
166
- | `ap-southeast-2` | [arn:aws:lambda:ap-southeast-2:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
167
- | `eu-central-1` | [arn:aws:lambda:eu-central-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
168
- | `eu-west-1` | [arn:aws:lambda:eu-west-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
169
- | `eu-west-2` | [arn:aws:lambda:eu-west-2:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
170
- | `eu-west-3` | [arn:aws:lambda:eu-west-3:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
171
- | `eu-north-1` | [arn:aws:lambda:eu-north-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
172
- | `ca-central-1` | [arn:aws:lambda:ca-central-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
173
- | `sa-east-1` | [arn:aws:lambda:sa-east-1:017000801446:layer:AWSLambdaPowertoolsPython:3](#){: .copyMe} :clipboard:
174
181
175
182
#### SAR
176
183
0 commit comments