Skip to content

Commit fa72167

Browse files
author
Michael Brewer
committed
docs(data-classes): Clean up docs for review
1 parent 32f845b commit fa72167

File tree

1 file changed

+40
-11
lines changed

1 file changed

+40
-11
lines changed

docs/utilities/data_classes.md

Lines changed: 40 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ Event Source | Data_class
7070

7171
### API Gateway Proxy
7272

73-
Typically used for API Gateway REST API or HTTP API using v1 proxy event.
73+
Typically, used for API Gateway REST API or HTTP API using v1 proxy event.
7474

7575
=== "lambda_app.py"
7676

@@ -105,12 +105,12 @@ Typically used for API Gateway REST API or HTTP API using v1 proxy event.
105105

106106
### AppSync Resolver
107107

108-
Used when building a Lambda GraphQL Resolvers with [Amplify GraphQL Transform Library](https://docs.amplify.aws/cli/graphql-transformer/function)
109-
and can also be used for AppSync Direct Lambda Resolvers.
108+
Used when building a Lambda GraphQL Resolvers with [Amplify GraphQL Transform Library](https://docs.amplify.aws/cli/graphql-transformer/function){target="_blank"}
109+
and can also be used for [AppSync Direct Lambda Resolvers](https://aws.amazon.com/blogs/mobile/appsync-direct-lambda/){target="_blank"}.
110110

111111
=== "lambda_app.py"
112112

113-
```python
113+
```python hl_lines="2-5 12 14 19 21 29-30"
114114
from aws_lambda_powertools.logging import Logger, correlation_paths
115115
from aws_lambda_powertools.utilities.data_classes.appsync_resolver_event import (
116116
AppSyncResolverEvent,
@@ -121,11 +121,10 @@ and can also be used for AppSync Direct Lambda Resolvers.
121121

122122
def get_locations(name: str = None, size: int = 0, page: int = 0):
123123
"""Your resolver logic here"""
124-
pass
125124

126125
@logger.inject_lambda_context(correlation_id_path=correlation_paths.APPSYNC_RESOLVER)
127126
def lambda_handler(event, context):
128-
event = AppSyncResolverEvent(event)
127+
event: AppSyncResolverEvent = AppSyncResolverEvent(event)
129128

130129
# Case insensitive look up of request headers
131130
x_forwarded_for = event.get_header_value("x-forwarded-for")
@@ -146,14 +145,44 @@ and can also be used for AppSync Direct Lambda Resolvers.
146145
raise ValueError(f"Unsupported field resolver: {event.field_name}")
147146

148147
```
149-
=== "CloudWatch Log"
148+
=== "Example AppSync Event"
149+
150+
```json hl_lines="2-8 14 19 20"
151+
{
152+
"typeName": "Merchant",
153+
"fieldName": "locations",
154+
"arguments": {
155+
"page": 2,
156+
"size": 1,
157+
"name": "value"
158+
},
159+
"identity": {
160+
"claims": {
161+
"iat": 1615366261
162+
...
163+
},
164+
"username": "mike",
165+
...
166+
},
167+
"request": {
168+
"headers": {
169+
"x-amzn-trace-id": "Root=1-60488877-0b0c4e6727ab2a1c545babd0",
170+
"x-forwarded-for": "127.0.0.1"
171+
...
172+
}
173+
},
174+
...
175+
}
176+
```
150177

151-
```json
178+
=== "Example CloudWatch Log"
179+
180+
```json hl_lines="5 6 16"
152181
{
153182
"level":"DEBUG",
154183
"location":"lambda_handler:22",
155184
"message":{
156-
"x-forwarded-for":"11.215.2.22, 64.44.173.11",
185+
"x-forwarded-for":"127.0.0.1",
157186
"username":"mike"
158187
},
159188
"timestamp":"2021-03-10 12:38:40,062",
@@ -285,7 +314,6 @@ or plain text, depending on the original payload.
285314
```python
286315
from aws_lambda_powertools.utilities.data_classes import KinesisStreamEvent
287316

288-
289317
def lambda_handler(event, context):
290318
event: KinesisStreamEvent = KinesisStreamEvent(event)
291319
kinesis_record = next(event.records).kinesis
@@ -304,6 +332,7 @@ or plain text, depending on the original payload.
304332
=== "lambda_app.py"
305333

306334
```python
335+
from urllib.parse import unquote_plus
307336
from aws_lambda_powertools.utilities.data_classes import S3Event
308337

309338
def lambda_handler(event, context):
@@ -312,7 +341,7 @@ or plain text, depending on the original payload.
312341

313342
# Multiple records can be delivered in a single event
314343
for record in event.records:
315-
object_key = record.s3.get_object.key
344+
object_key = unquote_plus(record.s3.get_object.key)
316345

317346
do_something_with(f'{bucket_name}/{object_key}')
318347
```

0 commit comments

Comments
 (0)