diff --git a/src/components/lambdaLayerDetail.tsx b/src/components/lambdaLayerDetail.tsx
index 363caa8ddb916..b06ee8549105f 100644
--- a/src/components/lambdaLayerDetail.tsx
+++ b/src/components/lambdaLayerDetail.tsx
@@ -76,7 +76,7 @@ export function LambdaLayerDetail({canonical}: {canonical: string}) {
{arn && (
ARN
- {arn}
+ {arn}
)}
@@ -85,7 +85,7 @@ export function LambdaLayerDetail({canonical}: {canonical: string}) {
// need a min-height so we don't get cropped at the bottom of the page
const Wrapper = styled('div')`
- min-height: 200px;
+ min-height: 50px;
`;
const ArnWrapper = styled('div')`
diff --git a/src/docs/product/integrations/cloud-monitoring/aws-lambda/cloudformation-create-stack.png b/src/docs/product/integrations/cloud-monitoring/aws-lambda/cloudformation-create-stack.png
new file mode 100644
index 0000000000000..8a7d0242fc022
Binary files /dev/null and b/src/docs/product/integrations/cloud-monitoring/aws-lambda/cloudformation-create-stack.png differ
diff --git a/src/docs/product/integrations/cloud-monitoring/aws-lambda/cloudformation-stack-create-complete.png b/src/docs/product/integrations/cloud-monitoring/aws-lambda/cloudformation-stack-create-complete.png
new file mode 100644
index 0000000000000..f743a534a7e32
Binary files /dev/null and b/src/docs/product/integrations/cloud-monitoring/aws-lambda/cloudformation-stack-create-complete.png differ
diff --git a/src/docs/product/integrations/cloud-monitoring/aws-lambda/cloudformation.png b/src/docs/product/integrations/cloud-monitoring/aws-lambda/cloudformation.png
deleted file mode 100644
index 7653e9e6187bf..0000000000000
Binary files a/src/docs/product/integrations/cloud-monitoring/aws-lambda/cloudformation.png and /dev/null differ
diff --git a/src/docs/product/integrations/cloud-monitoring/aws-lambda/configure.png b/src/docs/product/integrations/cloud-monitoring/aws-lambda/configure.png
deleted file mode 100644
index 5224f9a2e0a13..0000000000000
Binary files a/src/docs/product/integrations/cloud-monitoring/aws-lambda/configure.png and /dev/null differ
diff --git a/src/docs/product/integrations/cloud-monitoring/aws-lambda/index.mdx b/src/docs/product/integrations/cloud-monitoring/aws-lambda/index.mdx
index 1be1ed1becae5..a3bb6118d6191 100644
--- a/src/docs/product/integrations/cloud-monitoring/aws-lambda/index.mdx
+++ b/src/docs/product/integrations/cloud-monitoring/aws-lambda/index.mdx
@@ -40,15 +40,15 @@ Sentry owner, manager, or admin permissions are required to install this integra
1. Scroll to the bottom of the Create Stack page, check the box, then press **Create Stack** to create a CloudFormation stack in your current region. This stack allows Sentry to automatically instrument your Lambda functions.
- ![](cloudformation.png)
+ ![](cloudformation-create-stack.png)
-1. Wait for the stack to be created, which is confirmed by seeing the status change to **Create Complete**, then click **I've created the stack**.
+1. Wait for the stack to be created. Once it's confirmed and the status changes to **Create Complete**, click **I've created the stack** in the Sentry popup.
- ![](aws_account_2.png)
+ ![](cloudformation-stack-create-complete.png)
-1. Now copy your AWS account number, select the region you want to use, and press **Next**.
+1. Now copy your AWS Account ID, select the region you want to use, and press **Next**.
- ![](stack_created.png)
+ ![](aws_account_2.png)
@@ -64,27 +64,27 @@ Wait a few minutes as the Lambda functions are enabled. If any functions failed
### Troubleshooting
-If you need help solving issues with your Sentry AWS Lamba integration integration, you can read the edge cases documented here. If you need additional help, you can [ask on GitHub](https://github.com/getsentry/sentry-javascript/issues/new/choose). Customers on a paid plan may also contact support.
+If you need help solving issues with your Sentry AWS Lamba integration, you can read the edge cases documented here. If you need additional help, you can [ask on GitHub](https://github.com/getsentry/sentry-javascript/issues/new/choose). Customers on a paid plan may also contact support.
-#### Error `SentryRole already exists`
+- #### Error `SentryRole already exists`
-The stack already exists on your account; you can proceed to the next step of adding your AWS account information.
+ The stack already exists in your account; you can proceed to the next step and add your AWS account information.
-#### Error `Invalid existing layer`
+- #### Error `Invalid existing layer`
-Your Lambda function has a layer that no longer exists. Please remove the problematic layer, then enable Sentry on the Lambda in the configuration view for the integration.
+ Your Lambda function has a layer that no longer exists. Please remove the problematic layer, then enable Sentry on the Lambda in the configuration view for the integration.
-#### Error `Please validate the CloudFormation stack was created successfully`
+- #### Error `Please validate the CloudFormation stack was created successfully`
-Sentry is unable to access your AWS account through your CloudFormation stack. This means either the stack has not been created or the external ID used doesn't match the one in your installation. You can go to the Parameters tab of the CloudFormation stack to copy the value of the external ID and paste it into the form field.
+ Sentry is unable to access your AWS account through your CloudFormation stack. This means either the stack has not been created or the external ID used doesn't match the one in your installation. You can go to the Parameters tab of the CloudFormation stack to copy the value of the external ID and paste it into the form field.
-#### Error `Invalid role associated with the lambda function`
+- #### Error `Invalid role associated with the lambda function`
-The role associated with your lambda function no longer exists. Please add a new role to your lambda function, then enable Sentry on the Lambda in the configuration view for the integration.
+ The role associated with your Lambda function no longer exists. Please add a new role to your Lambda function, then enable Sentry on the Lambda in the configuration view for the integration.
## Configure
-The integration configuration view allows you to do the following with your Lambda functions:
+The integration configuration view in Sentry allows you to do the following with your Lambda functions:
- Enable Sentry
- Disable Sentry
@@ -92,7 +92,11 @@ The integration configuration view allows you to do the following with your Lamb
In the table view, you will also see the version of the Lambda layer below the name.
-![](configure.png)
+![](sentry-manage-functions.png)
+
+## Verify
+
+Run your AWS Lambda function. Performance data will be sent to Sentry and will show up on the **Performance** page in Sentry. If your function raises an error it will show up on the **Issues** page in Sentry.
## Remove Installation
@@ -100,25 +104,28 @@ Note that when the integration is uninstalled, your Lambda functions will still
Learn more about [how this integration works](/product/integrations/cloud-monitoring/aws-lambda/how-it-works/).
-## Serverless Framework
+## Notes on Specific Frameworks
-Note that this integration will configure your existing lambda functions correctly to use the SDK layer and set the appropriate environment variables as per [how this integration works](/product/integrations/cloud-monitoring/aws-lambda/how-it-works/). You can check the output `aws lambda get-function-configuration --function-name ` and this works.
-However when you perform a subsequent `sls deploy` the environment variables are not maintained but it appears the reference to the layer is retained. A workaround exists where you can set the layer definition and environment variables in `serverless.yml`. There are two problems with this, you have to manually add the reference to the SDK layer for every function you want "Sentrified" and you can't maintain the latest layer version automatically.
+### Serverless Framework
-### Node
+If you're using [Serverless framework](https://www.serverless.com/), note that this integration will configure your existing Lambda functions correctly to use the SDK layer and set the appropriate environment variables. Learn more about it [here](/product/integrations/cloud-monitoring/aws-lambda/how-it-works/).
-```
+You can confirm that the output works by inputting `aws lambda get-function-configuration --function-name `. However, when you perform a subsequent `sls deploy` the environment variables aren't maintained even though it looks like the reference to the layer is retained.
+
+You can set the layer definition and environment variables in `serverless.yml` as a workaround, but you'll have to do two things manually: maintain the latest layer version and add the reference to the SDK layer for every function you want "Sentrified".
+
+**Serverless Framework Using Node:**
+
+```yaml {filename:serverless.yml}
# other configuration
provider:
-
# more configuration
region:
-
environment:
- SENTRY_TRACES_SAMPLE_RATE: '1.0'
- SENTRY_DSN: ''
- NODE_OPTIONS: '-r @sentry/serverless/dist/awslambda-auto'
+ SENTRY_TRACES_SAMPLE_RATE: "1.0"
+ SENTRY_DSN: ""
+ NODE_OPTIONS: "-r @sentry/serverless/dist/awslambda-auto"
custom:
layers:
@@ -131,19 +138,17 @@ functions:
layers: ${self:custom.layers}
```
-### Python
+**Serverless Framework Using Python:**
-```
+```yaml {filename:serverless.yml}
# other configuration
provider:
-
# more configuration
region:
-
environment:
- SENTRY_TRACES_SAMPLE_RATE: '1.0'
- SENTRY_DSN: ''
+ SENTRY_TRACES_SAMPLE_RATE: "1.0"
+ SENTRY_DSN: ""
custom:
layers:
@@ -154,18 +159,17 @@ functions:
:
handler: sentry_sdk.integrations.init_serverless_sdk.sentry_lambda_handler
environment:
- SENTRY_INITIAL_HANDLER: ''
+ SENTRY_INITIAL_HANDLER: ""
layers: ${self:custom.layers}
```
-Currently there is no way of using the [latest layer plugin](https://www.npmjs.com/package/serverless-latest-layer-version) since the lambda:ListLayerVersions on resource: arn:aws:lambda:eu-west-1:943013980633:layer:SentryNodeServerlessSDK has not been given the necessary permissions.
-It is a relatively new integration but there is definitely a case to write a serverless plugin to make this super-smooth. There is an [older version](https://www.serverless.com/plugins/serverless-sentry-plugin) but it requires code changes to the handler and doesn't use `NODE_OPTIONS`. A new plugin could also add the Sentry layer to every function automatically.
+Currently, there's no way of using the [latest layer plugin](https://www.npmjs.com/package/serverless-latest-layer-version) since the `lambda:ListLayerVersions on resource: arn:aws:lambda:eu-west-1:943013980633:layer:SentryNodeServerlessSDK` hasn't been given the necessary permissions.
-## SST
+### SST
-To use [this integration](/product/integrations/cloud-monitoring/aws-lambda/how-it-works/) with Node functions in [SST](https://serverless-stack.com), you'll need to:
+If you use Node functions in [SST](https://serverless-stack.com) and you want to use this integration, you'll need to:
1. Import the [Lambda layer](/platforms/node/guides/aws-lambda/layer/) using the [`LayerVersion`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.LayerVersion.html) construct and set it by calling [`addDefaultFunctionLayers`](https://docs.serverless-stack.com/constructs/Stack#adddefaultfunctionlayers).
2. Then set the `NODE_OPTIONS`, `SENTRY_DSN`, and `SENTRY_TRACES_SAMPLE_RATE` environment variables with the [`addDefaultFunctionEnv`](https://docs.serverless-stack.com/constructs/Stack#adddefaultfunctionenv) method.
-You can [read more about this over on the SST docs](https://docs.serverless-stack.com/monitoring-your-app-in-prod#sentry).
+Read [how this integration works](/product/integrations/cloud-monitoring/aws-lambda/how-it-works/) and [the SST docs](https://docs.serverless-stack.com/monitoring-your-app-in-prod#sentry) for more information.
diff --git a/src/docs/product/integrations/cloud-monitoring/aws-lambda/sentry-manage-functions.png b/src/docs/product/integrations/cloud-monitoring/aws-lambda/sentry-manage-functions.png
new file mode 100644
index 0000000000000..5f8d873843568
Binary files /dev/null and b/src/docs/product/integrations/cloud-monitoring/aws-lambda/sentry-manage-functions.png differ
diff --git a/src/docs/product/integrations/cloud-monitoring/aws-lambda/stack_created.png b/src/docs/product/integrations/cloud-monitoring/aws-lambda/stack_created.png
deleted file mode 100644
index 05085fda1f402..0000000000000
Binary files a/src/docs/product/integrations/cloud-monitoring/aws-lambda/stack_created.png and /dev/null differ
diff --git a/src/platform-includes/aws-lambda-environment/python.mdx b/src/platform-includes/aws-lambda-environment/python.mdx
new file mode 100644
index 0000000000000..d82432901f8e3
--- /dev/null
+++ b/src/platform-includes/aws-lambda-environment/python.mdx
@@ -0,0 +1,5 @@
+You can configure Sentry by setting these environment variables for your Lambda function:
+
+- `SENTRY_INITIAL_HANDLER`: The handler function of your AWS Lambda funtion.
+- `SENTRY_DSN`: This is set to the [DSN](/product/sentry-basics/concepts/dsn-explainer/) of your project
+- `SENTRY_TRACES_SAMPLE_RATE`: This sets the [sampling rate](/platforms/node/configuration/sampling/#sampling-transaction-events) for transactions.
diff --git a/src/platforms/python/integrations/aws-lambda/container-image/index.mdx b/src/platforms/python/integrations/aws-lambda/container-image/index.mdx
index 8f412f5a3854c..025cd8030fd14 100644
--- a/src/platforms/python/integrations/aws-lambda/container-image/index.mdx
+++ b/src/platforms/python/integrations/aws-lambda/container-image/index.mdx
@@ -1,6 +1,7 @@
---
-title: AWS Lambda Container Image (Python)
+title: AWS Lambda Container Image
description: "Learn how to set up Sentry with a Container Image."
+sidebar_order: 3000
---
You can also add Sentry to your [Container Image](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html). To import Sentry's Layer Image, add the following to your Dockerfile:
diff --git a/src/platforms/python/integrations/aws-lambda/index.mdx b/src/platforms/python/integrations/aws-lambda/index.mdx
index 4c068dc2c340a..52bfcb4c616fd 100644
--- a/src/platforms/python/integrations/aws-lambda/index.mdx
+++ b/src/platforms/python/integrations/aws-lambda/index.mdx
@@ -6,90 +6,9 @@ redirect_from:
description: "Learn about using Sentry with AWS Lambda."
---
-
+You can instrument your AWS Lambda functions in several different ways:
-Looking for instructions on how to add Sentry without modifying your code? [Check out these docs instead](/product/integrations/cloud-monitoring/aws-lambda/).
-
-
-
-Create a deployment package on your local machine and install the required dependencies in the deployment package.
-For more information, see [AWS Lambda deployment package in Python](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).
-
-Install our Python SDK using `pip`:
-
-```bash
-pip install --upgrade sentry-sdk
-```
-
-We also support [installing Sentry as a Container Image](/platforms/python/integrations/aws-lambda/container-image/) and [installing Sentry in Lambda Layer](/platforms/python/integrations/aws-lambda/layer/).
-
-You can use the AWS Lambda integration for the Python SDK like this:
-
-
-
-```python
-import sentry_sdk
-from sentry_sdk.integrations.aws_lambda import AwsLambdaIntegration
-
-sentry_sdk.init(
- dsn="___PUBLIC_DSN___",
- enable_tracing=True,
- integrations=[
- AwsLambdaIntegration(),
- ]
-)
-
-def my_function(event, context):
- # ...
-```
-
-Check out Sentry's [AWS sample apps](https://github.com/getsentry/examples/tree/master/aws-lambda/python) for detailed examples.
-
-
-
-If you are using another web framework inside of AWS Lambda, the framework might catch those exceptions before we get to see them. Make sure to enable the framework specific integration as well, if one exists. See [_the Python main page_](/platforms/python/) for more information.
-
-
-
-## Timeout Warning
-
-The timeout warning reports an issue when the function execution time is near the [configured timeout](https://docs.aws.amazon.com/lambda/latest/dg/configuration-console.html).
-
-To enable the warning, update the SDK initialization to set `timeout_warning` to
-`true`:
-
-
-
-```python
-sentry_sdk.init(
- dsn="___PUBLIC_DSN___",
- enable_tracing=True,
- integrations=[
- AwsLambdaIntegration(
- timeout_warning=True
- ),
- ],
-)
-```
-
-The timeout warning is sent only if the timeout in the Lambda Function configuration is set to a value greater than one second.
-
-## Behavior
-
-With the AWS Lambda integration enabled, the Python SDK will:
-
-- Automatically report all events from your Lambda Functions.
-- You can modify the transaction sample rate using `traces_sample_rate`.
-- Event reports automatically include:
-
- - A link to CloudWatch Logs
- - Function details
- - `sys.argv` for the function
- - AWS Request ID
- - Function execution time
- - Function version
- - You can add more data as described here
-
-- Request data is attached to all events: **HTTP method, URL, headers, form data, JSON payloads**. Sentry excludes raw bodies and multipart file uploads. Sentry also excludes personally identifiable information (such as user ids, usernames, cookies, authorization headers, IP addresses) unless you set `send_default_pii` to `True`.
-
-- Each request has a separate scope. Changes to the scope within a view, for example setting a tag, will only apply to events sent as part of the request being handled.
+- **Without touching your code.** This is configurable from within the Sentry product. See the [AWS Lambda Cloud Monitoring Product Guide](/product/integrations/cloud-monitoring/aws-lambda/).
+- **By adding the Sentry Lambda Layer manually to your function.** See AWS Lambda Layer.
+- **By manually adding Sentry in your function code.** See AWS Lambda Manual Instrumentation.
+- **By adding Sentry to your AWS Lambda container image.** See AWS Lambda Container Image.
diff --git a/src/platforms/python/integrations/aws-lambda/layer/add_layer.png b/src/platforms/python/integrations/aws-lambda/layer/add_layer.png
deleted file mode 100644
index fd5d6e25b3e7f..0000000000000
Binary files a/src/platforms/python/integrations/aws-lambda/layer/add_layer.png and /dev/null differ
diff --git a/src/platforms/python/integrations/aws-lambda/layer/index.mdx b/src/platforms/python/integrations/aws-lambda/layer/index.mdx
deleted file mode 100644
index e924e096a5103..0000000000000
--- a/src/platforms/python/integrations/aws-lambda/layer/index.mdx
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: AWS Lambda Layer (Python)
-description: "Learn how to set up Sentry with a Layer"
----
-
-You can also install Sentry using a [Lambda Layer](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) instead of installing `sentry_sdk` with `pip`. Import Sentry as usual:
-
-```python
-import sentry_sdk
-```
-
-Then add the Sentry Layer by navigating to your Lambda function. Select **Layers**.
-
-![](lambda_view.png)
-
-Then **Add a Layer**.
-
-![](layer_view.png)
-
-**Specify an ARN** tab as illustrated:
-
-![](add_layer.png)
-
-Finally, set the region and copy the provided ARN value into the input.
-
-
diff --git a/src/platforms/python/integrations/aws-lambda/layer/lambda_view.png b/src/platforms/python/integrations/aws-lambda/layer/lambda_view.png
deleted file mode 100644
index 4c9f8b506794e..0000000000000
Binary files a/src/platforms/python/integrations/aws-lambda/layer/lambda_view.png and /dev/null differ
diff --git a/src/platforms/python/integrations/aws-lambda/layer/layer_view.png b/src/platforms/python/integrations/aws-lambda/layer/layer_view.png
deleted file mode 100644
index 6db4bf31e5e4d..0000000000000
Binary files a/src/platforms/python/integrations/aws-lambda/layer/layer_view.png and /dev/null differ
diff --git a/src/platforms/python/integrations/aws-lambda/manual-instrumentation/index.mdx b/src/platforms/python/integrations/aws-lambda/manual-instrumentation/index.mdx
new file mode 100644
index 0000000000000..856a818a7edcf
--- /dev/null
+++ b/src/platforms/python/integrations/aws-lambda/manual-instrumentation/index.mdx
@@ -0,0 +1,107 @@
+---
+title: AWS Lambda Manual Instrumentation
+description: "Learn about instrumenting your AWS lambda function manually using Sentry."
+sidebar_order: 2000
+---
+
+
+
+We also support:
+
+- [Adding Sentry without modifying your code](/product/integrations/cloud-monitoring/aws-lambda/)
+- [Installing Sentry in the Lambda Layer](/platforms/python/integrations/aws-lambda/manual-layer/)
+- [Installing Sentry as a container image](/platforms/python/integrations/aws-lambda/container-image/)
+
+
+
+## Install
+
+Create a deployment package on your local machine and install the required dependencies in the deployment package.
+For more information, see [AWS Lambda deployment package in Python](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).
+
+Install our Python SDK into your package directory using `pip`:
+
+```bash
+pip install --target ./package --upgrade sentry-sdk
+```
+
+## Configure
+
+Here's how to use the AWS Lambda integration for the Python SDK:
+
+
+
+```python
+import sentry_sdk
+from sentry_sdk.integrations.aws_lambda import AwsLambdaIntegration
+
+sentry_sdk.init(
+ dsn="___PUBLIC_DSN___",
+ integrations=[
+ AwsLambdaIntegration(),
+ ],
+
+ # Set traces_sample_rate to 1.0 to capture 100%
+ # of transactions for performance monitoring.
+ # We recommend adjusting this value in production,
+ traces_sample_rate=1.0,
+)
+
+def lambda_handler(event, context):
+ # ...
+```
+
+Check out Sentry's [AWS sample apps](https://github.com/getsentry/examples/tree/master/aws-lambda/python) for detailed examples.
+
+
+
+If you're using another web framework inside of AWS Lambda, that framework may catch exceptions before we see them. Make sure to enable the framework-specific integration if it exists. See [_the Python main page_](/platforms/python/) for more information.
+
+
+
+## Verify
+
+Add an error to you function and run it. If everything's working properly, it should be captured and sent to Sentry.io.
+
+## Behavior
+
+With the AWS Lambda integration enabled, the Python SDK will:
+
+- Automatically report all events from your Lambda Functions.
+- Allow you to modify the transaction sample rate using `traces_sample_rate`.
+- Automatically include the following event reports:
+
+ - A link to CloudWatch Logs
+ - Function details
+ - `sys.argv` for the function
+ - AWS Request ID
+ - Function execution time
+ - Function version
+
+ You can add more data as described here.
+
+- Request data including **HTTP method, URL, headers, form data, and JSON payloads** will be attached to all events. Sentry excludes raw bodies and multipart file uploads. Sentry also excludes personally identifiable information such as user ids, usernames, cookies, authorization headers, and IP addresses (unless you set `send_default_pii` to `True`).
+
+- Each request has a separate scope. Changes to the scope within a view, for example setting a tag, will only apply to events sent as part of the request being handled.
+
+## Options
+
+You can change the behavior of `AwsLambdaIntegration` by setting options for it:
+
+- `timeout_warning`:
+
+ The timeout warning reports an issue when the function execution time is near
+ the [configured timeout](https://docs.aws.amazon.com/lambda/latest/dg/configuration-console.html).
+
+ To enable the warning, update the SDK initialization to set `timeout_warning` to `True`:
+
+ ```python
+ sentry_sdk.init(
+ ...
+ integrations=[
+ AwsLambdaIntegration(timeout_warning=True),
+ ],
+ )
+ ```
+
+ The timeout warning is sent only if the timeout in the Lambda function configuration is set to a value greater than one second.
diff --git a/src/platforms/python/integrations/aws-lambda/manual-layer/index.mdx b/src/platforms/python/integrations/aws-lambda/manual-layer/index.mdx
new file mode 100644
index 0000000000000..536db934e0fa1
--- /dev/null
+++ b/src/platforms/python/integrations/aws-lambda/manual-layer/index.mdx
@@ -0,0 +1,74 @@
+---
+title: AWS Lambda Layer
+description: "Learn how to manually set up Sentry with a Layer"
+sidebar_order: 1000
+---
+
+You can add Sentry to your AWS Lambda function by adding the Sentry AWS Lambda Layer to your function.
+
+## Install The Layer
+
+Navigate to your Lambda function:
+
+![](lambda-function-detail.png)
+
+Scroll down to the **Layers** section and click **Add a Layer**:
+
+![](lambda-function-detail-layer.png)
+
+**Specify an ARN** tab as illustrated:
+
+First, set the region and copy the provided ARN value:
+
+
+
+Now copy that ARN into the input box:
+
+![](lambda-function-add-layer.png)
+
+## Configure the Sentry SDK
+
+For Sentry to instrument your Lambda function, you need to change the handler of your function and set the Sentry DSN using environment variables.
+
+### Set the Sentry Handler
+
+The Sentry layer will wrap your function handler to initialise the Sentry SDK in your function.
+
+In you Lambda function, scroll to **Runtime settings** and click **Edit**:
+
+![](lambda-function-runtime-settings.png)
+
+Note your current **Handler** and change it to: `sentry_sdk.integrations.init_serverless_sdk.sentry_lambda_handler`:
+
+![](runtime-settings-handler.png)
+
+After saving, open the "Configuration" tab of your Lambda Function and set `SENTRY_INITIAL_HANDLER` to the handler you noted before:
+
+![](lambda-function-configuration.png)
+
+### Configuration Options
+
+Make sure that `SENTRY_DSN` and `SENTRY_INITIAL_HANDLER` are set in your environment at minimum. See "Set the Sentry Handler" above for more information.
+
+
+
+## Verify
+
+Add an error to you function and run it. If everything's working properly, it should be captured and sent to Sentry.io.
+
+## Troubleshooting
+
+- **Error:** `"Unable to import module 'lambda_function': urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips 26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168"`
+
+ This error means that you have `urllib3>=2.0` in you dependencies. The Python runtime used in AWS Lambda is not compatible with urllib3 version 2, because it still uses OpenSSL 1.0.
+
+ **Solution:** There are two solutions for this error:
+
+ - Either use a newer Python runtime for your Lambda function. `urllib3` version 2+ is supported in AWS Lambda from the Python 3.9 Lambda runtime and newer.
+ - Or pin your dependency of urllib3 to `urllib3<1.27` to make it work with the Python runtime 3.7 and 3.8 used in AWS Lambda.
+
+## Supported Versions
+
+- Lambda Layer up to Version 63: Python 3.6, 3.7, 3.8, 3.9
+- Lambda Layer Version 64+: Python 3.9, 3.10, 3.11
+- Lambda Layer Version 77+: Python 3.7, 3.8, 3.9, 3.10, 3.11
diff --git a/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-add-layer.png b/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-add-layer.png
new file mode 100644
index 0000000000000..3829145328b97
Binary files /dev/null and b/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-add-layer.png differ
diff --git a/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-configuration.png b/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-configuration.png
new file mode 100644
index 0000000000000..21d7e548e5350
Binary files /dev/null and b/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-configuration.png differ
diff --git a/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-detail-layer.png b/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-detail-layer.png
new file mode 100644
index 0000000000000..b97a2e682739b
Binary files /dev/null and b/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-detail-layer.png differ
diff --git a/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-detail.png b/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-detail.png
new file mode 100644
index 0000000000000..07f6bfc88f8c8
Binary files /dev/null and b/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-detail.png differ
diff --git a/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-runtime-settings.png b/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-runtime-settings.png
new file mode 100644
index 0000000000000..e60ca488eca41
Binary files /dev/null and b/src/platforms/python/integrations/aws-lambda/manual-layer/lambda-function-runtime-settings.png differ
diff --git a/src/platforms/python/integrations/aws-lambda/manual-layer/runtime-settings-handler.png b/src/platforms/python/integrations/aws-lambda/manual-layer/runtime-settings-handler.png
new file mode 100644
index 0000000000000..9e2df0029ed0e
Binary files /dev/null and b/src/platforms/python/integrations/aws-lambda/manual-layer/runtime-settings-handler.png differ