@@ -26,7 +26,7 @@ You can use Powertools in both TypeScript and JavaScript code bases.
26
26
27
27
Powertools is available in the following formats:
28
28
29
- * ** Lambda Layer** : [ ** arn:aws:lambda:{region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ** ] ( # ) {: .copyMe}:clipboard :
29
+ * ** Lambda Layer** : [ ** arn:aws:lambda:{region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ** ] ( # ) {: .copyMe}:clipboard :
30
30
* ** npm** : ** ` npm install @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics @aws-lambda-powertools/logger ` **
31
31
32
32
### Lambda Layer
@@ -37,25 +37,25 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https:
37
37
38
38
??? note "Note: Click to expand and copy any regional Lambda Layer ARN"
39
39
40
- | Region | Layer ARN
41
- |--------------------------- | ---------------------------
42
- | `us-east-1` | [arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
43
- | `us-east-2` | [arn:aws:lambda:us-east-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
44
- | `us-west-1` | [arn:aws:lambda:us-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
45
- | `us-west-2` | [arn:aws:lambda:us-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
46
- | `ap-south-1` | [arn:aws:lambda:ap-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
47
- | `ap-northeast-1` | [arn:aws:lambda:ap-northeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
48
- | `ap-northeast-2` | [arn:aws:lambda:ap-northeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
49
- | `ap-northeast-3` | [arn:aws:lambda:ap-northeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
50
- | `ap-southeast-1` | [arn:aws:lambda:ap-southeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
51
- | `ap-southeast-2` | [arn:aws:lambda:ap-southeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
52
- | `eu-central-1` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
53
- | `eu-west-1` | [arn:aws:lambda:eu-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
54
- | `eu-west-2` | [arn:aws:lambda:eu-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
55
- | `eu-west-3` | [arn:aws:lambda:eu-west-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
56
- | `eu-north-1` | [arn:aws:lambda:eu-north-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
57
- | `ca-central-1` | [arn:aws:lambda:ca-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
58
- | `sa-east-1` | [arn:aws:lambda:sa-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 ](#){: .copyMe}:clipboard:
40
+ | Region | Layer ARN |
41
+ | ---------------- | ----------------------------------------------------------------------------------------------------------- |
42
+ | `us-east-1` | [arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
43
+ | `us-east-2` | [arn:aws:lambda:us-east-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
44
+ | `us-west-1` | [arn:aws:lambda:us-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
45
+ | `us-west-2` | [arn:aws:lambda:us-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
46
+ | `ap-south-1` | [arn:aws:lambda:ap-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
47
+ | `ap-northeast-1` | [arn:aws:lambda:ap-northeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
48
+ | `ap-northeast-2` | [arn:aws:lambda:ap-northeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
49
+ | `ap-northeast-3` | [arn:aws:lambda:ap-northeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
50
+ | `ap-southeast-1` | [arn:aws:lambda:ap-southeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
51
+ | `ap-southeast-2` | [arn:aws:lambda:ap-southeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
52
+ | `eu-central-1` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
53
+ | `eu-west-1` | [arn:aws:lambda:eu-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
54
+ | `eu-west-2` | [arn:aws:lambda:eu-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
55
+ | `eu-west-3` | [arn:aws:lambda:eu-west-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
56
+ | `eu-north-1` | [arn:aws:lambda:eu-north-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
57
+ | `ca-central-1` | [arn:aws:lambda:ca-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
58
+ | `sa-east-1` | [arn:aws:lambda:sa-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 ](#){: .copyMe}:clipboard: |
59
59
60
60
??? note "Note: Click to expand and copy code snippets for popular frameworks"
61
61
@@ -66,7 +66,7 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https:
66
66
Type: AWS::Serverless::Function
67
67
Properties:
68
68
Layers:
69
- - !Sub arn:aws:lambda:${AWS::Region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:6
69
+ - !Sub arn:aws:lambda:${AWS::Region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:7
70
70
```
71
71
72
72
If you use `esbuild` to bundle your code, make sure to exclude `@aws-lambda-powertools` from being bundled since the packages will be already present the Layer:
@@ -97,7 +97,7 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https:
97
97
hello:
98
98
handler: lambda_function.lambda_handler
99
99
layers:
100
- - arn:aws:lambda:${aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:6
100
+ - arn:aws:lambda:${aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:7
101
101
```
102
102
103
103
If you use `esbuild` to bundle your code, make sure to exclude `@aws-lambda-powertools` from being bundled since the packages will be already present the Layer:
@@ -129,7 +129,7 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https:
129
129
const powertoolsLayer = lambda.LayerVersion.fromLayerVersionArn(
130
130
this,
131
131
'PowertoolsLayer',
132
- `arn:aws:lambda:${cdk.Stack.of(this).region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 `
132
+ `arn:aws:lambda:${cdk.Stack.of(this).region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 `
133
133
);
134
134
135
135
new lambda.Function(this, 'Function', {
@@ -181,7 +181,7 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https:
181
181
role = ...
182
182
handler = "index.handler"
183
183
runtime = "nodejs16.x"
184
- layers = ["arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 "]
184
+ layers = ["arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 "]
185
185
source_code_hash = filebase64sha256("lambda_function_payload.zip")
186
186
}
187
187
```
@@ -199,7 +199,7 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https:
199
199
200
200
const lambdaFunction = new aws.lambda.Function("function", {
201
201
layers: [
202
- pulumi.interpolate`arn:aws:lambda:${aws.getRegionOutput().name}:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 `
202
+ pulumi.interpolate`arn:aws:lambda:${aws.getRegionOutput().name}:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 `
203
203
],
204
204
code: new pulumi.asset.FileArchive("lambda_function_payload.zip"),
205
205
tracingConfig: {
@@ -223,7 +223,7 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https:
223
223
? Do you want to configure advanced settings? Yes
224
224
...
225
225
? Do you want to enable Lambda layers for this function? Yes
226
- ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:6
226
+ ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:7
227
227
❯ amplify push -y
228
228
229
229
# Updating an existing function and add the layer
@@ -233,13 +233,13 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https:
233
233
- Name: <NAME-OF-FUNCTION>
234
234
? Which setting do you want to update? Lambda layers configuration
235
235
? Do you want to enable Lambda layers for this function? Yes
236
- ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:6
236
+ ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:7
237
237
? Do you want to edit the local lambda function now? No
238
238
```
239
239
240
240
=== "Get the Layer .zip contents"
241
241
```bash title="AWS CLI"
242
- aws lambda get-layer-version-by-arn --arn arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:6 --region {region}
242
+ aws lambda get-layer-version-by-arn --arn arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:7 --region {region}
243
243
```
244
244
245
245
The pre-signed URL to download this Lambda Layer will be within `Location` key.
@@ -272,29 +272,29 @@ If instead you want to see Powertools for TypeScript in a slightly more complex
272
272
273
273
Core utilities such as Tracing, Logging, and Metrics will be available across all Lambda Powertools languages. Additional utilities are subjective to each language ecosystem and customer demand.
274
274
275
- | Utility | Description |
276
- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
277
- | [ Tracer] ( ./core/tracer.md ) | Decorators and utilities to trace Lambda function handlers, and both synchronous and asynchronous functions |
278
- | [ Logger] ( ./core/logger.md ) | Structured logging made easier, and a middleware to enrich structured logging with key Lambda context details |
279
- | [ Metrics] ( ./core/metrics.md ) | Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) |
275
+ | Utility | Description |
276
+ | ---------------------------- | ------------------------------------------------------------------------------------------------------------- |
277
+ | [ Tracer] ( ./core/tracer.md ) | Decorators and utilities to trace Lambda function handlers, and both synchronous and asynchronous functions |
278
+ | [ Logger] ( ./core/logger.md ) | Structured logging made easier, and a middleware to enrich structured logging with key Lambda context details |
279
+ | [ Metrics] ( ./core/metrics.md ) | Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) |
280
280
281
281
## Environment variables
282
282
283
283
???+ info
284
284
Explicit parameters take precedence over environment variables
285
285
286
- | Environment variable | Description | Utility | Default |
287
- | ---------------------------------------------- | ----------------------------------------------------------------------------------------| ---------------------------| -----------------------|
288
- | ** POWERTOOLS_SERVICE_NAME** | Sets service name used for tracing namespace, metrics dimension and structured logging | All | ` service_undefined ` |
289
- | ** POWERTOOLS_METRICS_NAMESPACE** | Sets namespace used for metrics | [ Metrics ] ( ./core/metrics ) | ` default_namespace ` |
290
- | ** POWERTOOLS_TRACE_ENABLED** | Explicitly disables tracing | [ Tracer] ( ./core/tracer ) | ` true ` |
291
- | ** POWERTOOLS_TRACER_CAPTURE_RESPONSE** | Captures Lambda or method return as metadata. | [ Tracer] ( ./core/tracer ) | ` true ` |
292
- | ** POWERTOOLS_TRACER_CAPTURE_ERROR** | Captures Lambda or method exception as metadata. | [ Tracer] ( ./core/tracer ) | ` true ` |
293
- | ** POWERTOOLS_TRACER_CAPTURE_HTTPS_REQUESTS** | Captures HTTP(s) requests as segments. | [ Tracer] ( ./core/tracer ) | ` true ` |
294
- | ** POWERTOOLS_LOGGER_LOG_EVENT** | Logs incoming event | [ Logger] ( ./core/logger ) | ` false ` |
295
- | ** POWERTOOLS_LOGGER_SAMPLE_RATE** | Debug log sampling | [ Logger] ( ./core/logger ) | ` 0 ` |
296
- | ** POWERTOOLS_DEV** | Increase JSON indentation to ease debugging when running functions locally or in a non-production environment | [ Logger] ( ./core/logger ) | ` false ` |
297
- | ** LOG_LEVEL** | Sets logging level | [ Logger] ( ./core/logger ) | ` INFO ` |
286
+ | Environment variable | Description | Utility | Default |
287
+ | -------------------------------------------- | -- ----------------------------------------------------------------------------------------------------------- | ------------------------- | ------------------- |
288
+ | ** POWERTOOLS_SERVICE_NAME** | Sets service name used for tracing namespace, metrics dimension and structured logging | All | ` service_undefined ` |
289
+ | ** POWERTOOLS_METRICS_NAMESPACE** | Sets namespace used for metrics | [ Metrics ] ( ./core/metrics ) | ` default_namespace ` |
290
+ | ** POWERTOOLS_TRACE_ENABLED** | Explicitly disables tracing | [ Tracer] ( ./core/tracer ) | ` true ` |
291
+ | ** POWERTOOLS_TRACER_CAPTURE_RESPONSE** | Captures Lambda or method return as metadata. | [ Tracer] ( ./core/tracer ) | ` true ` |
292
+ | ** POWERTOOLS_TRACER_CAPTURE_ERROR** | Captures Lambda or method exception as metadata. | [ Tracer] ( ./core/tracer ) | ` true ` |
293
+ | ** POWERTOOLS_TRACER_CAPTURE_HTTPS_REQUESTS** | Captures HTTP(s) requests as segments. | [ Tracer] ( ./core/tracer ) | ` true ` |
294
+ | ** POWERTOOLS_LOGGER_LOG_EVENT** | Logs incoming event | [ Logger] ( ./core/logger ) | ` false ` |
295
+ | ** POWERTOOLS_LOGGER_SAMPLE_RATE** | Debug log sampling | [ Logger] ( ./core/logger ) | ` 0 ` |
296
+ | ** POWERTOOLS_DEV** | Increase JSON indentation to ease debugging when running functions locally or in a non-production environment | [ Logger] ( ./core/logger ) | ` false ` |
297
+ | ** LOG_LEVEL** | Sets logging level | [ Logger] ( ./core/logger ) | ` INFO ` |
298
298
299
299
Each Utility page provides information on example values and allowed values
300
300
0 commit comments