-
Notifications
You must be signed in to change notification settings - Fork 0
/
IoT-II-2023-api-ws-lambda-yaira
43 lines (34 loc) · 1.1 KB
/
IoT-II-2023-api-ws-lambda-yaira
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import json
import boto3
def lambda_handler(event, context):
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('ws_connection_id')
if event['requestContext']['routeKey']=='$connect':
connectionId = event['requestContext']['connectionId']
print(event)
response = table.get_item(
Key={'id_key': "connectionid"}
)
if 'Item' in response:
response = table.update_item(
Key={
'id_key': "connectionid"
},
UpdateExpression="set id=:id",
ExpressionAttributeValues={
':id': connectionId
},
ReturnValues="UPDATED_NEW"
)
else:
table.put_item(
Item={'id_key': "connectionid",'id':connectionId}
)
if event['requestContext']['routeKey']=='$disconnect':
response = table.delete_item(
Key={'id_key': "connectionid"}
)
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}