Skip to content

Commit cc3547c

Browse files
author
Michael Brewer
committed
docs(data-classes): add missing ALBEvent docs
1 parent e5a6b25 commit cc3547c

File tree

1 file changed

+32
-12
lines changed

1 file changed

+32
-12
lines changed

docs/utilities/data_classes.md

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ For example, if your Lambda function is being triggered by an API Gateway proxy
3232
```python hl_lines="1 4"
3333
from aws_lambda_powertools.utilities.data_classes import APIGatewayProxyEvent
3434

35-
def lambda_handler(event, context):
35+
def lambda_handler(event: dict, context):
3636
event = APIGatewayProxyEvent(event)
3737
if 'helloworld' in event.path and event.http_method == 'GET':
3838
do_something_with(event.body, user)
3939
```
4040

41-
=== "app_using_decorator.py"
41+
=== "app.py using event_source decorator"
4242

4343
```python hl_lines="1 3"
4444
from aws_lambda_powertools.utilities.data_classes import event_source, APIGatewayProxyEvent
@@ -60,7 +60,8 @@ For example, if your Lambda function is being triggered by an API Gateway proxy
6060
Event Source | Data_class
6161
------------------------------------------------- | ---------------------------------------------------------------------------------
6262
[API Gateway Proxy](#api-gateway-proxy) | `APIGatewayProxyEvent`
63-
[API Gateway Proxy event v2](#api-gateway-proxy-v2) | `APIGatewayProxyEventV2`
63+
[API Gateway Proxy V2](#api-gateway-proxy-v2) | `APIGatewayProxyEventV2`
64+
[Application Load Balancer](#application-load-balancer) | `ALBEvent`
6465
[AppSync Resolver](#appsync-resolver) | `AppSyncResolverEvent`
6566
[CloudWatch Logs](#cloudwatch-logs) | `CloudWatchLogsEvent`
6667
[CodePipeline Job Event](#codepipeline-job) | `CodePipelineJobEvent`
@@ -100,7 +101,9 @@ def lambda_handler(event: APIGatewayProxyEvent, context):
100101
do_something_with(event.json_body, user)
101102
```
102103

103-
### API Gateway Proxy v2
104+
### API Gateway Proxy V2
105+
106+
It is used for HTTP API using v2 proxy event.
104107

105108
=== "app.py"
106109

@@ -113,6 +116,21 @@ def lambda_handler(event: APIGatewayProxyEventV2, context):
113116
do_something_with(event.json_body, event.query_string_parameters)
114117
```
115118

119+
### Application Load Balancer
120+
121+
Is it used for Application load balancer event.
122+
123+
=== "app.py"
124+
125+
```python
126+
from aws_lambda_powertools.utilities.data_classes import event_source, ALBEvent
127+
128+
@event_source(data_class=ALBEvent)
129+
def lambda_handler(event: ALBEvent, context):
130+
if "helloworld" in event.path and event.http_method == "POST":
131+
do_something_with(event.json_body, event.query_string_parameters)
132+
```
133+
116134
### AppSync Resolver
117135

118136
> New in 1.12.0
@@ -478,10 +496,11 @@ This example is based on the AWS Cognito docs for [Create Auth Challenge Lambda
478496
=== "app.py"
479497

480498
```python
499+
from aws_lambda_powertools.utilities.data_classes import event_source
481500
from aws_lambda_powertools.utilities.data_classes.cognito_user_pool_event import CreateAuthChallengeTriggerEvent
482501

483-
def handler(event: dict, context) -> dict:
484-
event: CreateAuthChallengeTriggerEvent = CreateAuthChallengeTriggerEvent(event)
502+
@event_source(data_class=CreateAuthChallengeTriggerEvent)
503+
def handler(event: CreateAuthChallengeTriggerEvent, context) -> dict:
485504
if event.request.challenge_name == "CUSTOM_CHALLENGE":
486505
event.response.public_challenge_parameters = {"captchaUrl": "url/123.jpg"}
487506
event.response.private_challenge_parameters = {"answer": "5"}
@@ -496,10 +515,11 @@ This example is based on the AWS Cognito docs for [Verify Auth Challenge Respons
496515
=== "app.py"
497516

498517
```python
518+
from aws_lambda_powertools.utilities.data_classes import event_source
499519
from aws_lambda_powertools.utilities.data_classes.cognito_user_pool_event import VerifyAuthChallengeResponseTriggerEvent
500520

501-
def handler(event: dict, context) -> dict:
502-
event: VerifyAuthChallengeResponseTriggerEvent = VerifyAuthChallengeResponseTriggerEvent(event)
521+
@event_source(data_class=VerifyAuthChallengeResponseTriggerEvent)
522+
def handler(event: VerifyAuthChallengeResponseTriggerEvent, context) -> dict:
503523
event.response.answer_correct = (
504524
event.request.private_challenge_parameters.get("answer") == event.request.challenge_answer
505525
)
@@ -594,17 +614,17 @@ def lambda_handler(event: KinesisStreamEvent, context):
594614

595615
```python
596616
from urllib.parse import unquote_plus
597-
from aws_lambda_powertools.utilities.data_classes import S3Event
617+
from aws_lambda_powertools.utilities.data_classes import event_source, S3Event
598618

599-
def lambda_handler(event, context):
600-
event: S3Event = S3Event(event)
619+
@event_source(data_class=S3Event)
620+
def lambda_handler(event: S3Event, context):
601621
bucket_name = event.bucket_name
602622

603623
# Multiple records can be delivered in a single event
604624
for record in event.records:
605625
object_key = unquote_plus(record.s3.get_object.key)
606626

607-
do_something_with(f'{bucket_name}/{object_key}')
627+
do_something_with(f"{bucket_name}/{object_key}")
608628
```
609629

610630
### S3 Object Lambda

0 commit comments

Comments
 (0)