Spaces:
Configuration error
Configuration error
import json | |
import requests | |
import boto3 | |
import uuid | |
from datetime import datetime | |
from init import dynamodb_service | |
def send_data_to_dynamodb(user_data): | |
try: | |
lambda_url = 'https://n0u3bakgmf.execute-api.us-east-1.amazonaws.com/dev/post-item' | |
headers = { | |
'Content-Type': 'application/json' | |
} | |
response = requests.post(lambda_url, data=json.dumps(user_data), headers=headers) | |
if response.status_code == 200: | |
print("Data sent to DynamoDB successfully!") | |
return response.json() | |
else: | |
print(f"Error: {response.status_code}, {response.text}") | |
return None | |
except Exception as e: | |
print(f"An error occurred while sending data: {str(e)}") | |
return None | |
def lambda_handler(event, context): | |
try: | |
body = json.loads(event['body']) | |
title = body.get('title') | |
keywords = body.get('keywords') | |
if not title or not keywords: | |
return { | |
'statusCode': 400, | |
'body': json.dumps({ | |
'message': 'Missing title or keywords' | |
}) | |
} | |
item_id = str(uuid.uuid4()) | |
timestamp = datetime.now().isoformat() | |
response = dynamodb_service.put_item( | |
Item={ | |
'id': item_id, | |
'title': title, | |
'keywords': keywords, | |
'createdAt': timestamp | |
} | |
) | |
return { | |
'statusCode': 200, | |
'body': json.dumps({ | |
'message': 'Data successfully inserted', | |
'itemId': item_id | |
}) | |
} | |
except Exception as e: | |
return { | |
'statusCode': 500, | |
'body': json.dumps({ | |
'message': 'An error occurred', | |
'error': str(e) | |
}) | |
} | |