1. परिचय
पिछली बार अपडेट किए जाने की तारीख: 11-05-2021
Cloud SQL क्या है?
Cloud SQL पूरी तरह से मैनेज की गई डेटाबेस सेवा है. इसकी मदद से, Google Cloud Platform पर आपके मिलते-जुलते डेटाबेस को आसानी से सेट अप किया जा सकता है. साथ ही, उन्हें बनाए रखने, मैनेज करने, और सही तरीके से चलाने में भी मदद मिलती है.
Cloud Functions क्या है?
Cloud Functions, डेवलपर के लिए लाइटवेट कंप्यूट सलूशन है. इसकी मदद से डेवलपर, अकेले काम करने वाले ऐसे फ़ंक्शन बना सकते हैं जो क्लाउड इवेंट को जवाब देते हैं. इसके लिए, सर्वर या रनटाइम एनवायरमेंट को मैनेज करने की ज़रूरत नहीं होती.
आपको क्या बनाना होगा
इस कोडलैब में, आपको Python में Cloud Function लिखना होगा. फ़ंक्शन:
- Cloud SQL डेटाबेस इंस्टेंस से कनेक्ट करता है.
- डेटाबेस में किसी टेबल में इंसर्ट स्टेटमेंट भेजता है.
आपको इनके बारे में जानकारी मिलेगी
- Google Cloud Console में Cloud Functions के वेब यूज़र इंटरफ़ेस (यूआई) को ऐक्सेस करने का तरीका.
- Cloud फ़ंक्शन बनाने का तरीका.
- Cloud फ़ंक्शन की जांच करने का तरीका.
- Python का इस्तेमाल करके, Cloud SQL के डेटाबेस इंस्टेंस (MySQL या PostgreSQL) से कनेक्ट करने का तरीका.
- Python का इस्तेमाल करके, Cloud SQL डेटाबेस में लिखने का तरीका.
2. ज़रूरी शर्तें
- Chrome या Firefox जैसा ब्राउज़र.
- Google Cloud Platform प्रोजेक्ट, जिसमें आपका Cloud SQL इंस्टेंस शामिल है.
- अगर आपके पास पहले से कोई ट्रैकिंग कोड नहीं है, तो MySQL या PostgreSQL के लिए Quickstart में दिए गए निर्देशों का पालन करें. स्टोरेज खाली करने के अलावा, बाकी सभी चरण पूरे करें.
- आपके इंस्टेंस में, टेबल के साथ MySQL या PostgreSQL डेटाबेस शामिल है.
- आपके इंस्टेंस कनेक्शन का नाम, डेटाबेस और टेबल के नाम, डेटाबेस का उपयोगकर्ता नाम, और उपयोगकर्ता का पासवर्ड.
- Cloud SQL क्लाइंट की भूमिका वाला सेवा खाता.
3. कोड तैयार करना और फ़ंक्शन बनाना
कोड तैयार करना
Cloud SQL के डेटाबेस से कनेक्ट करने के लिए, Cloud Function कोड यहां दिया गया है. कुछ वैरिएबल वैल्यू इस बात पर निर्भर करती हैं कि Cloud SQL का डेटाबेस MySQL है या PostgreSQL. ये वैल्यू आपके डेटाबेस की जानकारी पर निर्भर करती हैं.
Cloud Console के Cloud Functions यूज़र इंटरफ़ेस (यूआई) में एक टेक्स्ट एडिटर शामिल होता है. कोड को कॉपी करके वहां चिपकाया जा सकता है. साथ ही, उसमें बदलाव भी किया जा सकता है. इसके अलावा, कोड में बदलाव करने के बाद, उसे कॉपी करके यूज़र इंटरफ़ेस (यूआई) में चिपकाया जा सकता है.
requirements.txt
# This file tells Python which modules it needs to import
SQLAlchemy==1.3.12
# If your database is MySQL, uncomment the following line:
#PyMySQL==0.9.3
# If your database is PostgreSQL, uncomment the following line:
#pg8000==1.13.2
main.py
# This file contains all the code used in the codelab.
import sqlalchemy
# Depending on which database you are using, you'll set some variables differently.
# In this code we are inserting only one field with one value.
# Feel free to change the insert statement as needed for your own table's requirements.
# Uncomment and set the following variables depending on your specific instance and database:
#connection_name = ""
#table_name = ""
#table_field = ""
#table_field_value = ""
#db_name = ""
#db_user = ""
#db_password = ""
# If your database is MySQL, uncomment the following two lines:
#driver_name = 'mysql+pymysql'
#query_string = dict({"unix_socket": "/cloudsql/{}".format(connection_name)})
# If your database is PostgreSQL, uncomment the following two lines:
#driver_name = 'postgres+pg8000'
#query_string = dict({"unix_sock": "/cloudsql/{}/.s.PGSQL.5432".format(connection_name)})
# If the type of your table_field value is a string, surround it with double quotes.
def insert(request):
request_json = request.get_json()
stmt = sqlalchemy.text('insert into {} ({}) values ({})'.format(table_name, table_field, table_field_value))
db = sqlalchemy.create_engine(
sqlalchemy.engine.url.URL(
drivername=driver_name,
username=db_user,
password=db_password,
database=db_name,
query=query_string,
),
pool_size=5,
max_overflow=2,
pool_timeout=30,
pool_recycle=1800
)
try:
with db.connect() as conn:
conn.execute(stmt)
except Exception as e:
return 'Error: {}'.format(str(e))
return 'ok'
फ़ंक्शन बनाना
- ब्राउज़र में, Google Cloud Platform Console के यूज़र इंटरफ़ेस (यूआई) पर जाएं.
- नेविगेशन मेन्यू से Cloud Functions चुनें.
- बटन बार पर, फ़ंक्शन बनाएं पर क्लिक करें.
- फ़ंक्शन के लिए कोई नाम डालें.
- एचटीटीपी ट्रिगर चुनें. (ट्रिगर आइटम के नीचे दिखाए गए यूआरएल को एक नोट में लिखें. यह इस फ़ॉर्मैट में होगा: https://REGION-PROJECT_ID.cloudfunctions.net/FUNCTION_NAME)
- पुष्टि करें में जाकर, फ़ंक्शन को सार्वजनिक करने के लिए, बिना पुष्टि वाले उन अनुरोधों को अनुमति दें चुनें.
- रनटाइम, बिल्ड, और कनेक्शन की सेटिंग को बड़ा करें. रनटाइम सेवा खाते में, वह सेवा खाता चुनें जिसमें Cloud SQL क्लाइंट की भूमिका हो.
- आगे बढ़ें बटन पर क्लिक करें.
- रनटाइम विकल्प के लिए, Python 3.7 को चुनें.
- सोर्स कोड विकल्प के लिए, इनलाइन एडिटर चुनें.
- सोर्स कोड एडिटर विंडो में, requirements.txt और main.py, दोनों के मौजूदा कॉन्टेंट को मिटाएं. इसके बाद, उन्हें ऊपर दिए गए कोड के बदले गए वर्शन से बदलें.
- एंट्री पॉइंट के नाम के तौर पर insert डालें.
- डिप्लॉय करें पर क्लिक करें और फ़ंक्शन बनने तक इंतज़ार करें. जब फ़ंक्शन इस्तेमाल के लिए तैयार हो जाता है, तो स्पिनर घूमना बंद हो जाता है और अगले पेज पर हरे रंग का सही का निशान दिखने लगता है.
4. फ़ंक्शन की जांच करें
- ब्राउज़र में, Google Cloud Platform Console के यूज़र इंटरफ़ेस (यूआई) पर जाएं.
- नेविगेशन मेन्यू से Cloud Functions चुनें.
- उस फ़ंक्शन के नाम पर क्लिक करें जिसे आपने पहले बनाया था.
- पेज के बीच में टेस्टिंग लिंक चुनें.
- फ़ंक्शन की जांच करें को चुनें.
- नतीजा यह दिखना चाहिए: ठीक है (अगर जांच नहीं हो पाती, तो आपको डीबग करने में मदद के लिए एक स्टैक ट्रेस दिखेगा.)
- ब्राउज़र में, उस यूआरएल पर जाएं जिसे आपने फ़ंक्शन बनाते समय पहले सेव किया था. अगर आपको यूआरएल सेव नहीं करना है, तो ट्रिगर लिंक पर जाएं.
- ok नतीजा, ब्राउज़र में भी दिखना चाहिए.
5. व्यवस्थित करें
इस कोडलैब में इस्तेमाल किए जाने वाले संसाधनों के लिए, आपके Google Cloud खाते पर शुल्क न लगे, इसके लिए यह तरीका अपनाएं.
Cloud SQL इंस्टेंस मिटाना
- Google Cloud Console में, Cloud SQL के इंस्टेंस पेज पर जाएं.
- इंस्टेंस की जानकारी वाला पेज खोलने के लिए, आपने जो इंस्टेंस बनाया है उसे चुनें.
- पेज पर सबसे ऊपर मौजूद आइकॉन बार में, मिटाएं पर क्लिक करें.
- इंस्टेंस मिटाएं विंडो में, अपने इंस्टेंस का नाम लिखें. इसके बाद, इंस्टेंस को मिटाने के लिए मिटाएं पर क्लिक करें. किसी इंस्टेंस को मिटाने के बाद, सात दिनों तक उसका नाम दोबारा इस्तेमाल नहीं किया जा सकता.
क्लाउड फ़ंक्शन मिटाना
- Google Cloud Console में Cloud Functions पेज पर जाएं.
- अपने फ़ंक्शन के लिए कार्रवाइयां के तहत तीन बिंदुओं को चुनें और मिटाएं चुनें.
- मिटाएं बटन पर क्लिक करके, मिटाने की पुष्टि करें.
6. बधाई हो
बधाई हो, आपने Cloud SQL के साथ काम करने वाला Cloud Function बना लिया है.
खास तौर पर, आपने ऐसा Cloud Function बनाया है जो Cloud SQL डेटाबेस इंस्टेंस से कनेक्ट करता है और लिखता है.
7. आगे क्या करना है?
इनमें से कुछ कोडलैब देखें...
- Cloud SQL से कनेक्ट करना: Compute Engine, निजी आईपी, और Cloud SQL प्रॉक्सी
- Cloud SQL Insights के बारे में जानकारी