aws-genai-llm-chatbot
34 строки · 993.0 Байт
1import boto3
2import os
3import json
4from datetime import datetime
5from aws_lambda_powertools import Logger, Tracer
6from aws_lambda_powertools.utilities.typing import LambdaContext
7
8tracer = Tracer()
9logger = Logger(log_uncaught_exceptions=True)
10
11sns = boto3.client("sns")
12TOPIC_ARN=os.environ.get("SNS_TOPIC_ARN", "")
13
14@tracer.capture_lambda_handler
15@logger.inject_lambda_context(log_event=True)
16def handler(event, context: LambdaContext):
17print(event["arguments"]["data"])
18print(event["identity"])
19request = json.loads(event["arguments"]["data"])
20message = {
21"action": request["action"],
22"modelInterface": request["modelInterface"],
23"direction": "IN",
24"timestamp": str(int(round(datetime.now().timestamp()))),
25"userId": event["identity"]["sub"],
26"data": request.get("data", {}),
27}
28print(message)
29
30response = sns.publish(
31TopicArn=TOPIC_ARN, Message=json.dumps(message)
32)
33
34return response
35