Spaces:
Configuration error

chat / database.py
yonkasoft's picture
Update database.py
9887605 verified
raw
history blame
2.07 kB
import boto3
from pymongo import MongoClient
import os
# AWS DynamoDB ve MongoDB bağlantıları için gerekli ayarlar
dynamodb = boto3.resource('dynamodb')
MONGO_URI = os.getenv('MONGO_URI', 'mongodb://localhost:27017')
REFERENCE_DB = os.getenv('REFERENCE_DB', 'EgitimDatabase')
INPUT_DB = os.getenv('INPUT_DB', 'InputDatabase')
DYNAMO_TABLE = os.getenv('DYNAMO_TABLE', 'UserInputs')
def connect_to_mongodb():
"""MongoDB'ye bağlan."""
client = MongoClient(MONGO_URI)
return client
def get_reference_data():
"""Reference database'den verileri al."""
client = connect_to_mongodb()
db = client[REFERENCE_DB]
collection = db['test'] #test koleksiyonu içerisinde
data = collection.find({}, {"title": 1, "keywords": 1, "text": 1, "_id": 0})
return list(data)
def insert_data_into_input_db(data):
"""Input database'e veri ekle."""
client = connect_to_mongodb()
db = client[INPUT_DB]
collection = db['input'] #kullanıcıdan alınacak verilerin saklandığı koleksiyon adı
collection.insert_many(data)
def insert_data_into_dynamodb(data):
"""Kullanıcıdan alınan verileri DynamoDB'ye ekle."""
table = dynamodb.Table(input_to_users)
for item in data:
table.put_item(Item=item)
def get_user_input():
"""Kullanıcıdan veri al."""
# Lambda fonksiyonu ile kullanıcıdan gelen veriyi alın
user_input = [
{"title": "Sample Title", "keywords": ["keyword1", "keyword2","keyword3","keyword4","keyword5"], "text": "Sample text."}
]
return user_input
def main():
"""Ana fonksiyon."""
client = connect_to_mongodb()
# Referans veriyi MongoDB'den alın
reference_data = get_reference_data()
# Kullanıcıdan veri alın (Lambda aracılığıyla alınacak)
user_data = get_user_input()
# Kullanıcı verilerini DynamoDB'ye ekle
insert_data_into_dynamodb(user_data)
# Kullanıcı verilerini MongoDB'deki input database'e ekle
insert_data_into_input_db(user_data)
client.close()
if __name__ == "__main__":
main()