सामान्य "Google अनुवाद" Python 2 Cloud Run (Docker) पर ऐप्लिकेशन

1. खास जानकारी

कोडलैब (अपने हिसाब से इस्तेमाल किए जाने वाले टूल) की इस सीरीज़ का मकसद, डेवलपर की मदद करना है, ताकि वे अपने ऐप्लिकेशन को डिप्लॉय करते समय मौजूद कई विकल्पों को समझ सकें. इस कोडलैब में, आपको Python के साथ Google Cloud Translation API को इस्तेमाल करने का तरीका पता चलेगा. साथ ही, यह भी पता चलेगा कि इसे स्थानीय तौर पर कैसे चलाया जाए या बिना सर्वर वाले कंप्यूट प्लैटफ़ॉर्म (App Engine, Cloud Functions या Cloud Run) पर डिप्लॉय किया जाए. इस ट्यूटोरियल के रेपो में, सैंपल ऐप्लिकेशन को कॉन्फ़िगरेशन में मामूली बदलाव करके, कम से कम आठ अलग-अलग तरीकों से डिप्लॉय किया जा सकता है:

  1. लोकल फ़्लास्क सर्वर (Python 2)
  2. लोकल फ़्लास्क सर्वर (Python 3)
  3. App Engine (Python 2)
  4. App Engine (Python 3)
  5. Cloud Functions (Python 3)
  6. Cloud Run (Docker के ज़रिए Python 2)
  7. Cloud Run (Docker के ज़रिए Python 3)
  8. Cloud Run (Cloud Buildpacks के ज़रिए Python 3)

यह कोडलैब इस ऐप्लिकेशन को ऊपर दिए गए बोल्ड प्लैटफ़ॉर्म पर डिप्लॉय करने पर फ़ोकस करता है.

आपको इनके बारे में जानकारी मिलेगी

आपको इन चीज़ों की ज़रूरत होगी

  • Google Cloud प्रोजेक्ट, जिसमें चालू क्लाउड बिलिंग खाता हो
  • डिवाइस पर इस्तेमाल करने के लिए फ़्लास्क इंस्टॉल किया गया या क्लाउड-आधारित डिप्लॉयमेंट के लिए, ऐसा क्लाउड सीवरलेस कंप्यूट प्लैटफ़ॉर्म जो चालू हो
  • Python के बुनियादी हुनर
  • ऑपरेटिंग सिस्टम के बुनियादी निर्देशों के बारे में काम करने की जानकारी

सर्वे

इस ट्यूटोरियल का इस्तेमाल कैसे किया जाएगा?

इसे पढ़ें और कसरतों को पूरा करें इसे सिर्फ़ पढ़ें

Python के साथ अपने अनुभव को आप कितनी रेटिंग देंगे?

शुरुआती इंटरमीडिएट कुशल

Google Cloud की सेवाएं इस्तेमाल करने का आपका अनुभव कैसा रहा?

शुरुआती इंटरमीडिएट कुशल

2. सेटअप और ज़रूरी शर्तें

अपने हिसाब से एनवायरमेंट सेटअप करना

  1. Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से Gmail या Google Workspace खाता नहीं है, तो आपको नया खाता बनाना होगा.

96a9c957bc475304.png

b9a10ebdf5b5a448.png

a1e3c01a38fa61c2.png

  • प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों का डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करता. साथ ही, आप इसे किसी भी समय अपडेट कर सकते हैं.
  • प्रोजेक्ट आईडी, Google Cloud के सभी प्रोजेक्ट के लिए यूनीक होना चाहिए. साथ ही, आईडी को बदला नहीं जा सकता. सेट अप के बाद इसे बदला नहीं जा सकता. Cloud Console, एक यूनीक स्ट्रिंग अपने-आप जनरेट करता है; आम तौर पर, आपको उसके होने की कोई परवाह नहीं होती. ज़्यादातर कोडलैब में, आपको प्रोजेक्ट आईडी का रेफ़रंस देना पड़ता है और आम तौर पर इसकी पहचान PROJECT_ID के रूप में की जाती है. इसलिए, अगर आपको यह पसंद नहीं आता है, तो कोई भी कोड जनरेट करें. इसके अलावा, खुद का भी कोड बनाकर देखा जा सकता है कि वह उपलब्ध है या नहीं. फिर यह "फ़्रोज़न" होता है प्रोजेक्ट बनने के बाद.
  • तीसरी वैल्यू, प्रोजेक्ट नंबर है, जिसका इस्तेमाल कुछ एपीआई करते हैं. दस्तावेज़ में इन तीनों वैल्यू के बारे में ज़्यादा जानें.
  1. इसके बाद, आपको क्लाउड संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग की सुविधा चालू करनी होगी. इस कोडलैब का इस्तेमाल करने पर, आपको ज़्यादा पैसे नहीं चुकाने होंगे. इस ट्यूटोरियल के अलावा किसी अन्य प्लैटफ़ॉर्म पर बिलिंग न करने के लिए, संसाधनों को बंद करने के लिए, "साफ़-सफ़ाई" का पालन करें कोडलैब के आखिर में दिए गए निर्देश देखें. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त ट्रायल वाले प्रोग्राम में हिस्सा ले सकते हैं.

3. Translation API चालू करें

Cloud API चालू करना

इस सेक्शन में, आपको Google API को चालू करने का तरीका बताया जाएगा. सैंपल के तौर पर उपलब्ध हमारे ऐप्लिकेशन के लिए, आपको Cloud Translation API, Cloud Run, और Cloud Artifact Registry की सुविधा चालू करनी होगी.

शुरुआती जानकारी

आप अपने ऐप्लिकेशन में चाहे जिस Google API का इस्तेमाल करना चाहते हों वह चालू होना चाहिए. यहां दिए गए उदाहरण में, Cloud Vision API को चालू करने के दो तरीके बताए गए हैं. एक Cloud API को चालू करने का तरीका जानने के बाद, अन्य एपीआई चालू किए जा सकते हैं, क्योंकि प्रोसेस एक जैसी है.

पहला विकल्प: Cloud Shell या अपने कमांड-लाइन इंटरफ़ेस से

हालांकि, Cloud Console से एपीआई चालू करना सामान्य बात है, लेकिन कुछ डेवलपर कमांड लाइन से ही सारे काम करना पसंद करते हैं. ऐसा करने के लिए, आपको एपीआई की "सेवा का नाम" खोजना होगा. यह यूआरएल जैसा लग रहा है: SERVICE_NAME.googleapis.com. इन्हें इस्तेमाल किए जा सकने वाले प्रॉडक्ट के चार्ट में देखा जा सकता है. इसके अलावा, Google Discovery API की मदद से, प्रोग्राम बनाकर इनके लिए क्वेरी की जा सकती है.

Cloud Shell का इस्तेमाल करके या gcloud कमांड-लाइन टूल इंस्टॉल किए हुए आपके लोकल डेवलपमेंट एनवायरमेंट का इस्तेमाल करके), इस जानकारी के साथ एपीआई को चालू किया जा सकता है. इसके लिए, यह तरीका अपनाएं:

gcloud services enable SERVICE_NAME.googleapis.com

उदाहरण के लिए, यह निर्देश Cloud Vision API को चालू करता है:

gcloud services enable vision.googleapis.com

यह निर्देश App Engine को चालू करता है:

gcloud services enable appengine.googleapis.com

एक अनुरोध करके, कई एपीआई भी चालू किए जा सकते हैं. उदाहरण के लिए, यह कमांड लाइन Cloud Run, Cloud Artifact Registry, और Cloud Translation API को चालू करती है:

gcloud services enable artifactregistry.googleapis.com run.googleapis.com translate.googleapis.com

दूसरा विकल्प: Cloud Console में जाकर

एपीआई मैनेजर में जाकर भी Vision API को चालू किया जा सकता है. Cloud Console में, एपीआई मैनेजर पर जाएं और लाइब्रेरी चुनें.

fb0f1d315f122d4a.png

अगर आपको Cloud Vision API को चालू करना है, तो "विज़न" डालें और आपके द्वारा अभी तक डाले गए शब्दों से मेल खाने वाली कोई भी चीज़ दिखाई देगी:

2275786a24f8f204.png

वह एपीआई चुनें जिसे आपको चालू करना है और चालू करें पर क्लिक करें:

2556f923b628e31.png

लागत

कई Google API का इस्तेमाल बिना किसी शुल्क के किया जा सकता है. हालांकि, Google Cloud के प्रॉडक्ट और एपीआई मुफ़्त नहीं हैं. Cloud API चालू करते समय, आपसे कोई चालू बिलिंग खाता बनाने के लिए कहा जा सकता है. हालांकि, यह ध्यान रखना ज़रूरी है कि Google Cloud के कुछ प्रॉडक्ट में "हमेशा मुफ़्त" सुविधा मिलती है टियर (रोज़/महीने) से कम का पेमेंट हो सकता है. इसे बिलिंग शुल्क लागू करने के लिए पार करना ज़रूरी है; ऐसा न होने पर, आपके क्रेडिट कार्ड (या चुने गए बिलिंग तरीके) से शुल्क नहीं लिया जाएगा.

किसी भी एपीआई को चालू करने से पहले, उपयोगकर्ताओं को उसके शुल्क की जानकारी देख लेनी चाहिए. खास तौर पर ध्यान रखें कि क्या इसमें फ़्री टीयर है और अगर उपलब्ध है, तो यह क्या है. अगर Cloud Vision API को चालू किया जा रहा था, तो आपको इसकी कीमत की जानकारी वाला पेज देखना होगा. Cloud Vision का मुफ़्त कोटा है. अगर आपको इसकी सीमा में रहकर (हर महीने) में कोई शुल्क नहीं देना है, तो आपसे कोई शुल्क नहीं लिया जाएगा.

Google API के हिसाब से, शुल्क और मुफ़्त टियर अलग-अलग होते हैं. उदाहरण:

  • Google Cloud/GCP — हर प्रॉडक्ट का बिल अलग तरीके से लिया जाता है और उनके लिए आम तौर पर हर vCPU साइकल, स्टोरेज के इस्तेमाल से जुड़े उपभोक्ता, मेमोरी के इस्तेमाल या हर बार इस्तेमाल के हिसाब से पैसे चुकाने होते हैं; ऊपर फ़्री टियर की जानकारी देखें.
  • Google Maps — इसमें एपीआई का एक सुइट है और उपयोगकर्ताओं को हर महीने 200 डॉलर का मुफ़्त क्रेडिट दिया जाता है.
  • Google Workspace (पहले इसे G Suite के नाम से जाना जाता था) API — इसमें Workspace के हर महीने के सदस्यता शुल्क के तहत बिना किसी शुल्क के इस्तेमाल की सुविधा मिलती है. हालांकि, इसके लिए कोई सीमा तय नहीं होती है. इसमें Gmail, Google Drive, Calendar, Docs, Sheets, और Slides के एपीआई के इस्तेमाल के लिए, डायरेक्ट बिलिंग की सुविधा नहीं है.

Google के अलग-अलग प्रॉडक्ट के लिए, अलग-अलग तरीके से बिल भेजा जाता है. इसलिए, उस जानकारी के लिए अपने एपीआई के दस्तावेज़ ज़रूर देखें.

खास जानकारी

अब आपको पता है कि Google API को आम तौर पर कैसे चालू किया जाता है, तो API Manager पर जाएं और Cloud Translation API, Cloud Run, और Cloud Artifact Registry चालू करें (अगर आपने पहले से ऐसा नहीं किया है). आपने पूर्व कुंजी को सक्षम किया है क्योंकि हमारा ऐप्लिकेशन उसका उपयोग करता है. बाद वाले विकल्प को चालू किया जा सकता है, क्योंकि हमारे कंटेनर इमेज को Cloud Run सेवा शुरू करने के लिए डिप्लॉय किए जाने से पहले, यहां सेव किया जाता है. इसलिए, आपको इसे चालू करना होगा. अगर आपको उन सभी को gcloud टूल की मदद से चालू करना है, तो अपने टर्मिनल से यह निर्देश जारी करें:

gcloud services enable artifactregistry.googleapis.com run.googleapis.com translate.googleapis.com

हालांकि, इसका हर महीने का कोटा कुल "हमेशा मुफ़्त" सूची में शामिल नहीं है" टीयर की खास जानकारी वाले पेज पर दिखता है, तो Translation API के कीमत तय करने वाले पेज पर यह जानकारी मिलती है कि सभी उपयोगकर्ताओं को हर महीने तय संख्या में अनुवाद किए गए वर्ण मिलते हैं. इस थ्रेशोल्ड से नीचे रहने पर, एपीआई से कोई शुल्क नहीं लिया जाएगा. अगर Google Cloud से जुड़े अन्य शुल्क हैं, तो उनके बारे में "क्लीन अप करें" सेक्शन के आखिर में इस बारे में बताया गया होगा सेक्शन में जाएं.

4. सैंपल ऐप्लिकेशन कोड पाएं

रेपो के कोड को स्थानीय तौर पर या Cloud Shell में (git clone निर्देश का इस्तेमाल करके) क्लोन करें. इसके अलावा, यहां दिए गए स्क्रीनशॉट में दिखाए गए तरीके से, ZIP फ़ाइल को उसके हरे रंग के कोड बटन से डाउनलोड करें:

5cd6110c4414cf65.png

अब आपके पास सब कुछ है, तो इस खास ट्यूटोरियल को करने के लिए फ़ोल्डर की पूरी कॉपी बनाएं, क्योंकि इसमें फ़ाइलों को मिटाना या बदलना शामिल हो सकता है. अगर आपको अलग से कोई डिप्लॉयमेंट करना है, तो ओरिजनल फ़ाइल को कॉपी करके फिर से शुरू करें. इससे आपको उसका क्लोन बनाने या उसे दोबारा डाउनलोड करने की ज़रूरत नहीं पड़ेगी.

5. सैंपल ऐप्लिकेशन के बारे में जानकारी

यह सैंपल ऐप्लिकेशन, Google Translate से जुड़ा एक आसान टूल है. यह उपयोगकर्ताओं को अंग्रेज़ी में टेक्स्ट डालने और उसके बराबर अनुवाद स्पैनिश में पाने के लिए कहता है. अब main.py फ़ाइल खोलें, ताकि हम देख सकें कि यह कैसे काम करती है. लाइसेंस के बारे में टिप्पणी की गई लाइनों को हटाने पर, सबसे ऊपर और सबसे नीचे ऐसा दिखता है:

from flask import Flask, render_template, request
import google.auth
from google.cloud import translate

app = Flask(__name__)
_, PROJECT_ID = google.auth.default()
TRANSLATE = translate.TranslationServiceClient()
PARENT = 'projects/{}'.format(PROJECT_ID)
SOURCE, TARGET = ('en', 'English'), ('es', 'Spanish')

# . . . [translate() function definition] . . .

if __name__ == '__main__':
    import os
    app.run(debug=True, threaded=True, host='0.0.0.0',
            port=int(os.environ.get('PORT', 8080)))
  1. इंपोर्ट से फ़्लास्क फ़ंक्शन, google.auth मॉड्यूल, और Cloud Translation API क्लाइंट लाइब्रेरी मिलती है.
  2. ग्लोबल वैरिएबल, फ़्लास्क ऐप्लिकेशन, क्लाउड प्रोजेक्ट आईडी, Translation API क्लाइंट, पैरंट "जगह का पाथ" दिखाते हैं के साथ-साथ अनुवाद API कॉल के लिए भी उपलब्ध हैं. इस मामले में, यह अंग्रेज़ी (en) और स्पैनिश (es) है. हालांकि, इन वैल्यू को बेझिझक Cloud Translation API में इस्तेमाल होने वाले अन्य भाषा कोड में भी बदला जा सकता है.
  3. नीचे दिए गए बड़े if ब्लॉक का इस्तेमाल इस ऐप्लिकेशन को स्थानीय तौर पर चलाने के लिए ट्यूटोरियल में किया गया है—यह हमारे ऐप्लिकेशन को चलाने के लिए फ़्लास्क डेवलपमेंट सर्वर का इस्तेमाल करता है. अगर वेब सर्वर को कंटेनर में बंडल नहीं किया गया है, तो यह सेक्शन Cloud Run डिप्लॉयमेंट के ट्यूटोरियल के लिए भी उपलब्ध है. आपसे कंटेनर में सर्वर को बंडल करने की सुविधा चालू करने के लिए कहा जाता है. हालांकि, अगर आप इसे नज़रअंदाज़ कर देते हैं, तो ऐप्लिकेशन कोड, फ़्लास्क डेवलपमेंट सर्वर का इस्तेमाल करने लगता है. (इसमें App Engine या Cloud Functions से जुड़ी समस्या नहीं है, क्योंकि वे सोर्स पर आधारित प्लैटफ़ॉर्म हैं. इसका मतलब है कि Google Cloud डिफ़ॉल्ट वेब सर्वर उपलब्ध कराता है और उसे चलाता है.)

आखिर में, main.py के बीच में ऐप्लिकेशन का मुख्य बिंदु है, translate() फ़ंक्शन:

@app.route('/', methods=['GET', 'POST'])
def translate(gcf_request=None):
    """
    main handler - show form and possibly previous translation
    """

    # Flask Request object passed in for Cloud Functions
    # (use gcf_request for GCF but flask.request otherwise)
    local_request = gcf_request if gcf_request else request

    # reset all variables (GET)
    text = translated = None

    # if there is data to process (POST)
    if local_request.method == 'POST':
        text = local_request.form['text']
        data = {
            'contents': [text],
            'parent': PARENT,
            'target_language_code': TARGET[0],
        }
        # handle older call for backwards-compatibility
        try:
            rsp = TRANSLATE.translate_text(request=data)
        except TypeError:
            rsp = TRANSLATE.translate_text(**data)
        translated = rsp.translations[0].translated_text

    # create context & render template
    context = {
        'orig':  {'text': text, 'lc': SOURCE},
        'trans': {'text': translated, 'lc': TARGET},
    }
    return render_template('index.html', **context)

मुख्य फ़ंक्शन, उपयोगकर्ता से इनपुट लेने का काम करता है और काम को बेहतर बनाने के लिए Translation API को कॉल करता है. आइए, इसके बारे में जानते हैं:

  1. यह देखने के लिए कि अनुरोध, local_request वैरिएबल का इस्तेमाल करके Cloud Functions से आ रहे हैं या नहीं. Cloud Functions, अपने फ़्लास्क रिक्वेस्ट ऑब्जेक्ट में भेजता है, जबकि दूसरे सभी (स्थानीय तौर पर चल रहे या App Engine या Cloud Run पर डिप्लॉय कर रहे) को सीधे फ़्लास्क से अनुरोध ऑब्जेक्ट मिलेगा.
  2. फ़ॉर्म के बेसिक वैरिएबल को रीसेट करें. यह मुख्य रूप से जीईटी अनुरोधों के लिए है, क्योंकि पोस्ट अनुरोधों में ऐसा डेटा होगा जो इनकी जगह ले लेगा.
  3. अगर यह एक पीओएसटी है, तो अनुवाद करने के लिए टेक्स्ट लें और एपीआई मेटाडेटा की ज़रूरी शर्तों के बारे में बताने वाली JSON संरचना बनाएं. इसके बाद, अगर उपयोगकर्ता किसी पुरानी लाइब्रेरी का इस्तेमाल कर रहा है, तो एपीआई के पिछले वर्शन पर जाकर एपीआई को कॉल करें.
  4. इसके बावजूद, टेंप्लेट के कॉन्टेक्स्ट में असल नतीजों (POST) या कोई डेटा नहीं (GET) फ़ॉर्मैट करें और रेंडर करें.

ऐप्लिकेशन का विज़ुअल हिस्सा, टेंप्लेट index.html फ़ाइल में है. इसमें, पहले अनुवाद किए गए सभी नतीजे दिखते हैं. अगर ऐसा नहीं है, तो किसी फ़ॉर्म के बाद उसका अनुवाद करने के लिए कहा जाता है:

<!doctype html>
<html><head><title>My Google Translate 1990s</title><body>
<h2>My Google Translate (1990s edition)</h2>

{% if trans['text'] %}
    <h4>Previous translation</h4>
    <li><b>Original</b>:   {{ orig['text'] }}  (<i>{{ orig['lc'][0] }}</i>)</li>
    <li><b>Translated</b>: {{ trans['text'] }} (<i>{{ trans['lc'][0] }}</i>)</li>
{% endif %}

<h4>Enter <i>{{ orig['lc'][1] }}</i> text to translate to <i>{{ trans['lc'][1] }}</i>:</h4>
<form method="POST"><input name="text"><input type="submit"></form>
</body></html>

6. सेवा को डिप्लॉय करें

अब आप इस आदेश को चलाकर अपनी अनुवाद सेवा को Cloud Run पर डिप्लॉय करने के लिए तैयार हैं:

gcloud run deploy translate --source . --allow-unauthenticated --platform managed

आउटपुट ऐसा दिखना चाहिए. साथ ही, अगले चरणों के बारे में कुछ निर्देश दें:

$ gcloud run deploy translate --source . --allow-unauthenticated --platform managed
Please specify a region:
 [1] asia-east1
 [2] asia-east2
. . . (other regions) . . .
 [28] us-west4
 [29] cancel
Please enter your numeric choice:  REGION_CHOICE

To make this the default region, run `gcloud config set run/region REGION`.

Deploying from source requires an Artifact Registry repository to
store build artifacts. A repository named [cloud-run-source-deploy] in
 region [REGION] will be created.

Do you want to continue (Y/n)?

This command is equivalent to running "gcloud builds submit --pack image=[IMAGE] ." and "gcloud run deploy translate --image [IMAGE]"

Building . . . and deploying container to Cloud Run service [translate] in project [PROJECT_ID] region [REGION]
✓ Building and deploying... Done.
  ✓ Creating Container Repository...
  ✓ Uploading sources...
  ✓ Building Container... Logs are available at [https://console.cloud.google.com/cloud-build/builds/60e1b
  9bb-b991-4b4e-8d8a-HASH?project=PROJECT_NUMBER].
  ✓ Creating Revision...
  ✓ Routing traffic...
  ✓ Setting IAM Policy...
Done.
Service [translate] revision [translate-00001-xyz] has been deployed and is serving 100 percent of traffic.
Service URL: https://SVC_NAME-HASH-REG_ABBR.a.run.app

अब आपका ऐप्लिकेशन दुनिया भर में उपलब्ध है, इसलिए आपको अपने प्रोजेक्ट आईडी वाले यूआरएल से इस ऐप्लिकेशन को ऐक्सेस करना होगा, जैसा कि डिप्लॉयमेंट आउटपुट में दिखाया गया है:

169f6edf5f7d2068.अंग्रेज़ी

यह देखने के लिए कि कोई चीज़ काम कर रही है, उसका अनुवाद करें!

31554e71cb80f1b4.png

7. नतीजा

बधाई हो! आपने Cloud Translation API को चालू करने, ज़रूरी क्रेडेंशियल पाने, और Python 2 Cloud Run पर एक आसान वेब ऐप्लिकेशन डिप्लॉय करने का तरीका सीखा है! इस डिप्लॉयमेंट के बारे में ज़्यादा जानने के लिए, रेपो में मौजूद इस टेबल पर जाएं.

व्यवस्थित करें

Cloud Translation API की मदद से, हर महीने अनुवाद किए गए वर्णों की संख्या तय की जा सकती है. इसके लिए, कोई शुल्क नहीं चुकाना पड़ता. App Engine का एक मुफ़्त कोटा भी है. ऐसा Cloud Functions और Cloud Run के लिए भी किया जाता है. दोनों में से कोई भी सीमा पार होने पर आपको शुल्क देना होगा. अगर आपको अगले कोडलैब का इस्तेमाल जारी रखना है, तो आपको अपना ऐप्लिकेशन बंद करने की ज़रूरत नहीं है.

हालांकि, अगर आप अभी अगले ट्यूटोरियल पर जाने के लिए तैयार नहीं हैं या आपको इस बात की चिंता है कि इंटरनेट ने उस ऐप्लिकेशन को खोज लिया है जिसे आपने अभी-अभी डिप्लॉय किया है, तो अपना App Engine ऐप्लिकेशन बंद करें, अपना Cloud Function मिटाएं या अपनी Cloud Run सेवा को बंद करें. जब आप अगले कोडलैब पर जाने के लिए तैयार हों, तो उसे फिर से चालू किया जा सकता है. दूसरी ओर, अगर आपको इस ऐप्लिकेशन या अन्य कोडलैब का इस्तेमाल नहीं करना है और सब कुछ पूरी तरह से मिटाना है, तो अपना प्रोजेक्ट बंद करें.

साथ ही, Google Cloud के बिना सर्वर वाले कंप्यूट प्लैटफ़ॉर्म पर डिप्लॉय करने पर, मामूली बिल्ड और स्टोरेज का खर्च उठाना पड़ता है. Cloud Storage की तरह Cloud Build का अपना अलग कोटा होता है. ज़्यादा पारदर्शिता के लिए, Cloud Build आपके ऐप्लिकेशन की इमेज बनाता है. इसके बाद, इस इमेज को Cloud Container Registry या Artifact Registry में सेव कर दिया जाता है. जब इमेज को सेवा में ट्रांसफ़र किया जाता है, तो नेटवर्क इग्रेस डेटा ट्रैफ़िक के लिए उस इमेज को सेव करने के लिए, तय कोटे का कुछ हिस्सा इस्तेमाल होता है. हालांकि, हो सकता है कि आप किसी ऐसे क्षेत्र में हों जहां ऐसा कोई फ़्री टीयर उपलब्ध न हो. इसलिए, संभावित लागत को कम करने के लिए, अपने स्टोरेज के इस्तेमाल को ध्यान में रखें.

8. अन्य संसाधन

यहां दिए गए सेक्शन में, पढ़ने के लिए अतिरिक्त कॉन्टेंट के साथ-साथ सुझाए गए एक्सरसाइज़ भी दिए गए हैं. इनकी मदद से, इस ट्यूटोरियल को पूरा करने के बाद मिली जानकारी को बेहतर बनाया जा सकता है.

अतिरिक्त स्टडी

अब आपको Translation API का थोड़ा-बहुत अनुभव है. अब आपके हुनर को बेहतर बनाने के लिए हम कुछ और काम करने जा रहे हैं. अपना लर्निंग पाथ जारी रखने के लिए, हमारे सैंपल ऐप्लिकेशन में बदलाव करें, ताकि ये काम किए जा सकें:

  1. कोडलैब के इस मॉड्यूल के अन्य सभी वर्शन को ऐप्लिकेशन में काम करने या Google Cloud के बिना सर्वर वाले कंप्यूट प्लैटफ़ॉर्म पर डिप्लॉय करने के लिए पूरा करें. ज़्यादा जानने के लिए, रेपो README देखें.
  2. इस ट्यूटोरियल को पूरा करने के लिए, प्रोग्रामिंग की किसी दूसरी भाषा का इस्तेमाल करें.
  3. अलग-अलग स्रोत या लक्षित भाषाओं का समर्थन करने के लिए इस ऐप्लिकेशन को बदलें.
  4. लेख का एक से ज़्यादा भाषाओं में अनुवाद करने के लिए इस ऐप्लिकेशन को अपग्रेड करें; समर्थित लक्ष्य भाषाओं के पुलडाउन के लिए टेम्प्लेट फ़ाइल को बदल सकते हैं.

ज़्यादा जानें

Google App Engine

Google Cloud के फ़ंक्शन

Google क्लाउड रन

Google Cloud Buildpack, कंटेनर रजिस्ट्री, Artifact Registry

Google Cloud Translation और Google ML Kit

Google Cloud के अन्य प्रॉडक्ट/पेज

Python और फ़्लास्क

लाइसेंस

इस ट्यूटोरियल को क्रिएटिव कॉमंस एट्रिब्यूशन 2.0 जेनरिक लाइसेंस के तहत लाइसेंस मिला है. वहीं, रेपो में मौजूद सोर्स कोड को Apache 2 के तहत लाइसेंस मिला है.