मैं एक ईसी 2 या लाइटसैल इंस्टेंस में चलने वाला टाइमस्केल डेटाबेस रखने की योजना बना रहा हूं। मैं डेटा डालने और डीबी से डेटा पढ़ने के लिए लैम्ब्डा फ़ंक्शन से इस टाइमस्केल डेटाबेस पर प्रश्नों को कनेक्ट करने और चलाने में सक्षम होना चाहता हूं।

मुझे पता है कि टाइमस्केलडीबी एक पोस्टग्रेस प्लगइन है और लैम्ब्डा से एडब्ल्यूएस आरडीएस के अंदर चल रहे पोस्टग्रेस डीबी से कनेक्ट होने की प्रक्रिया को दस्तावेज करने के लिए ऑनलाइन बहुत सारे लेख हैं, लेकिन मुझे ऐसा कोई वर्णन नहीं मिल रहा है कि मैं एक रनिंग से कैसे जुड़ूंगा एक EC2 या लाइटसैल उदाहरण।

प्रश्न: मैं लैम्ब्डा फ़ंक्शन से ईसी 2 या लाइटसेल इंस्टेंस में चल रहे टाइमस्केल डीबी से कैसे जुड़ूं?

1
DrkStr 30 अगस्त 2019, 07:12

1 उत्तर

सबसे बढ़िया उत्तर

मैं कहूंगा कि इसका उत्तर आरडीएस से कनेक्ट करने के तरीके के समान है, जैसा कि यहां दस्तावेज है:

https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds.html

यह उत्तर एक अच्छा उदाहरण भी देता है कि किसी से कैसे कनेक्ट किया जाए PostgreSQL RDS, लेकिन rds_config का उपयोग करने के बजाय, आपको होस्टनाम/आईपी को इस तरह निर्दिष्ट करना होगा कि वे आपके EC2 उदाहरण को इंगित करें।

अंतर यह है कि आपको ईसी2 इंस्टेंस को इंगित करने के लिए होस्टनाम/आईपी और अन्य कनेक्शन विवरण निर्दिष्ट करने की आवश्यकता होगी। उदाहरण के लिए, यदि आपका EC2 उदाहरण

import sys, logging, psycopg2

host = "ec2-3-14-229-184.us-east-2.compute.amazonaws.com"
name = "demo_user"
password = "p@assword"
db_name = "demo"

try:
    conn = psycopg2.connect(host=host,
                        database=db_name,
                        user=name,
                        password=password)
    cur = conn.cursor()

except:
    logger.error("ERROR: Unexpected error: Could not connect to Postgresql instance.")
    sys.exit()
0
Feike Steenbergen 30 अगस्त 2019, 08:47