Skip to content

Commit bbfc903

Browse files
authored
feat(aws-lambda): Use versioned docs for v7 and v8 lambda layers (#12739)
* feat(aws-lambda): Use versioned docs for v7 and v8 lambda layers * Don't index v7 and v8 versions
1 parent 60a400f commit bbfc903

File tree

3 files changed

+193
-26
lines changed

3 files changed

+193
-26
lines changed

docs/platforms/javascript/guides/aws-lambda/install/cjs-layer.mdx

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -88,29 +88,3 @@ exports.handler = Sentry.wrapHandler(async (event, context) => {
8888
It's important to add both, the `Sentry.init` call outside the handler function and the `Sentry.wrapHandler` wrapper around your function to automatically catch errors and performance data.
8989

9090
That's it - you're all set!
91-
92-
## Lambda layer for v7 SDK
93-
94-
The instructions above are written for SDK version 8 (the most recent version).
95-
You can also install a v7 version of the Sentry Lambda layer in case you can't upgrade to v8.
96-
The procedure is identical to the instructions above except for two differences:
97-
98-
### v7 layer ARN
99-
100-
The v7 Lambda layer has a different ARN:
101-
102-
```
103-
arn:aws:Lambda:us-west-1:943013980633:layer:SentryNodeServerlessSDKv7:3
104-
```
105-
106-
Modify and copy the ARN value for your region into the input, e.g. for region `:us-west-1` and the current v7 Lambda layer version `:3`:
107-
108-
### v7 package name
109-
110-
The `@sentry/aws-serverless` package was called `@sentry/serverless` prior to version 8. Therefore, for the v7 layer, adjust your `NODE_OPTIONS` environment variable:
111-
112-
```bash
113-
NODE_OPTIONS="-r @sentry/serverless/dist/awslambda-auto"
114-
```
115-
116-
The other environment variables remain the same as above.
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
---
2+
title: Lambda Layer - CJS
3+
description: "Learn how to add the Sentry Node Lambda Layer to use Sentry in your Lambda functions running in CommonJS (CJS)"
4+
sidebar_order: 1
5+
noindex: true
6+
---
7+
8+
The easiest way to get started with Sentry is to use the Sentry [Lambda Layer](https://docs.aws.amazon.com/Lambda/latest/dg/configuration-layers.html) instead of adding `@sentry/serverless` with `npm` or `yarn` manually.
9+
If you follow this guide, you don't have to worry about deploying Sentry dependencies alongside your function code.
10+
To actually start the SDK, you can decide between setting up the SDK using environment variables or in your Lambda function code. We recommend using environment variables as it's the easiest way to get started. [Initializing the SDK in code](#alternative-initialize-the-sdk-in-code) instead of setting environment variables gives you more control over the SDK setup if you need it.
11+
12+
<Alert>
13+
14+
This installation method **does not** work with Lambda functions running in EcmaScript Modules (ESM) mode, using `import` syntax.
15+
16+
</Alert>
17+
18+
## 1. Prerequisites
19+
20+
Before you begin, make sure you have the following:
21+
22+
- You have a Lambda function that is running in CommonJS (CJS) mode, using `require` syntax.
23+
- You know the AWS region that your function is deployed to.
24+
25+
## 2. Add the Sentry Lambda Layer
26+
27+
Add the Sentry Layer by navigating to your Lambda function. Select **Layers**, then **Add a Layer**.
28+
29+
![](./img/lambda_view.png)
30+
31+
**Specify an ARN** tab as illustrated:
32+
33+
![](./img/add_layer.png)
34+
35+
Modify and copy the ARN value for your region into the input, e.g. for region `us-west-1` and the current v7 Lambda layer version `10`:
36+
37+
```
38+
arn:aws:Lambda:us-west-1:943013980633:layer:SentryNodeServerlessSDKv7:10
39+
```
40+
41+
<br />
42+
43+
## 3. Initialize the SDK with Environment Variables
44+
45+
The easiest way to set up the SDK is to start and configure it using environment variables. This way, you don't have to modify your Lambda function code.
46+
47+
In addition to capturing errors, you can monitor interactions between multiple services or applications by [enabling tracing](/concepts/key-terms/tracing/).
48+
49+
Select which Sentry features you'd like to install in addition to Error Monitoring to get the corresponding installation and configuration instructions below.
50+
51+
<OnboardingOptionButtons options={["error-monitoring", "performance"]} />
52+
53+
Set the following environment variables in your Lambda function configuration:
54+
55+
```bash {"onboardingOptions": {"performance": "3"}}
56+
NODE_OPTIONS="-r @sentry/serverless/dist/awslambda-auto"
57+
SENTRY_DSN="___PUBLIC_DSN___"
58+
SENTRY_TRACES_SAMPLE_RATE="1.0"
59+
```
60+
61+
To set environment variables, navigate to your Lambda function, select **Configuration**, then **Environment variables**.
62+
63+
## Alternative: Initialize the SDK in Code
64+
65+
Instead of [Step 3, setting environment variables](#3-initialize-the-sdk-with-environment-variables), you can also manually initialize the SDK in your Lambda function code.
66+
This way, you can customize the SDK setup further.
67+
Note that you don't have to actually install an NPM package for this to work, as the package is already included in the Lambda Layer.
68+
69+
Make sure you completed [step 1](#1-prerequisites) and [step 2](#2-add-the-sentry-lambda-layer) before proceeding.
70+
71+
```javascript {filename:index.js} {"onboardingOptions": {"performance": "5-8"}}
72+
const Sentry = require("@sentry/serverless");
73+
74+
Sentry.init({
75+
dsn: "___PUBLIC_DSN___",
76+
// Add Tracing by setting tracesSampleRate and adding integration
77+
// Set tracesSampleRate to 1.0 to capture 100% of transactions
78+
// We recommend adjusting this value in production
79+
// Learn more at
80+
// https://docs.sentry.io/platforms/javascript/configuration/options/#traces-sample-rate
81+
tracesSampleRate: 1.0,
82+
});
83+
84+
exports.handler = Sentry.wrapHandler(async (event, context) => {
85+
// Your handler code
86+
});
87+
```
88+
89+
It's important to add both, the `Sentry.init` call outside the handler function and the `Sentry.wrapHandler` wrapper around your function to automatically catch errors and performance data.
90+
91+
That's it - you're all set!
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
---
2+
title: Lambda Layer - CJS
3+
description: "Learn how to add the Sentry Node Lambda Layer to use Sentry in your Lambda functions running in CommonJS (CJS)"
4+
sidebar_order: 1
5+
noindex: true
6+
---
7+
8+
The easiest way to get started with Sentry is to use the Sentry [Lambda Layer](https://docs.aws.amazon.com/Lambda/latest/dg/configuration-layers.html) instead of adding `@sentry/aws-serverless` with `npm` or `yarn` [manually](../cjs-npm).
9+
If you follow this guide, you don't have to worry about deploying Sentry dependencies alongside your function code.
10+
To actually start the SDK, you can decide between setting up the SDK using environment variables or in your Lambda function code. We recommend using environment variables as it's the easiest way to get started. [Initializing the SDK in code](#alternative-initialize-the-sdk-in-code) instead of setting environment variables gives you more control over the SDK setup if you need it.
11+
12+
<Alert>
13+
14+
This installation method **does not** work with Lambda functions running in EcmaScript Modules (ESM) mode, using `import` syntax. If you're running your function in ESM, follow the [ESM guide](../esm-npm).
15+
16+
</Alert>
17+
18+
## 1. Prerequisites
19+
20+
Before you begin, make sure you have the following:
21+
22+
- You have a Lambda function that is running in CommonJS (CJS) mode, using `require` syntax.
23+
- You know the AWS region that your function is deployed to.
24+
25+
## 2. Add the Sentry Lambda Layer
26+
27+
Add the Sentry Layer by navigating to your Lambda function. Select **Layers**, then **Add a Layer**.
28+
29+
![](./img/lambda_view.png)
30+
31+
**Specify an ARN** tab as illustrated:
32+
33+
![](./img/add_layer.png)
34+
35+
Modify and copy the ARN value for your region into the input, e.g. for region `us-west-1` and the current v8 Lambda layer version `7`:
36+
37+
```
38+
arn:aws:Lambda:us-west-1:943013980633:layer:SentryNodeServerlessSDKv8:7
39+
```
40+
41+
<Alert>
42+
43+
Previously, the v8 Lambda layer was published under the `SentryNodeServerlessSDK` name.
44+
This target will not receive updates anymore.
45+
46+
If you need to continue using v8 please use the `SentryNodeServerlessSDKv8` layer as described above.
47+
48+
</Alert>
49+
50+
<br />
51+
52+
## 3. Initialize the SDK with Environment Variables
53+
54+
The easiest way to set up the SDK is to start and configure it using environment variables. This way, you don't have to modify your Lambda function code.
55+
56+
In addition to capturing errors, you can monitor interactions between multiple services or applications by [enabling tracing](/concepts/key-terms/tracing/).
57+
58+
Select which Sentry features you'd like to install in addition to Error Monitoring to get the corresponding installation and configuration instructions below.
59+
60+
<OnboardingOptionButtons options={["error-monitoring", "performance"]} />
61+
62+
Set the following environment variables in your Lambda function configuration:
63+
64+
```bash {"onboardingOptions": {"performance": "3"}}
65+
NODE_OPTIONS="-r @sentry/aws-serverless/awslambda-auto"
66+
SENTRY_DSN="___PUBLIC_DSN___"
67+
SENTRY_TRACES_SAMPLE_RATE="1.0"
68+
```
69+
70+
To set environment variables, navigate to your Lambda function, select **Configuration**, then **Environment variables**:
71+
72+
![](./img/cjs_env_vars.png)
73+
74+
## Alternative: Initialize the SDK in Code
75+
76+
Instead of [Step 3, setting environment variables](#3-initialize-the-sdk-with-environment-variables), you can also manually initialize the SDK in your Lambda function code.
77+
This way, you can customize the SDK setup further.
78+
Note that you don't have to actually install an NPM package for this to work, as the package is already included in the Lambda Layer.
79+
80+
Make sure you completed [step 1](#1-prerequisites) and [step 2](#2-add-the-sentry-lambda-layer) before proceeding.
81+
82+
```javascript {filename:index.js} {"onboardingOptions": {"performance": "5-8"}}
83+
const Sentry = require("@sentry/aws-serverless");
84+
85+
Sentry.init({
86+
dsn: "___PUBLIC_DSN___",
87+
// Add Tracing by setting tracesSampleRate and adding integration
88+
// Set tracesSampleRate to 1.0 to capture 100% of transactions
89+
// We recommend adjusting this value in production
90+
// Learn more at
91+
// https://docs.sentry.io/platforms/javascript/configuration/options/#traces-sample-rate
92+
tracesSampleRate: 1.0,
93+
});
94+
95+
exports.handler = Sentry.wrapHandler(async (event, context) => {
96+
// Your handler code
97+
});
98+
```
99+
100+
It's important to add both, the `Sentry.init` call outside the handler function and the `Sentry.wrapHandler` wrapper around your function to automatically catch errors and performance data.
101+
102+
That's it - you're all set!

0 commit comments

Comments
 (0)