1. खास जानकारी
कोडलैब की इस सीरीज़ में, डेवलपर को अपने ऐप्लिकेशन को डिप्लॉय करने के अलग-अलग विकल्पों के बारे में जानकारी दी गई है. यह सीरीज़, डेवलपर के हिसाब से अपनी गति से सीखने और सीखने के लिए उपलब्ध ट्यूटोरियल के तौर पर उपलब्ध है. इस कोडलैब में, आपको Python के साथ Google Cloud Translation API का इस्तेमाल करने का तरीका पता चलेगा. साथ ही, इसे स्थानीय तौर पर चलाने या Cloud के सर्वरलेस कंप्यूट प्लैटफ़ॉर्म (App Engine, Cloud Functions या Cloud Run) पर डिप्लॉय करने का तरीका भी पता चलेगा. इस ट्यूटोरियल के रिपॉज़िटरी में मौजूद सैंपल ऐप्लिकेशन को, कॉन्फ़िगरेशन में सिर्फ़ छोटे बदलाव करके, कम से कम आठ अलग-अलग तरीकों से डिप्लॉय किया जा सकता है:
- लोकल Flask सर्वर (Python 2)
- लोकल Flask सर्वर (Python 3)
- App Engine (Python 2)
- App Engine (Python 3)
- Cloud Functions (Python 3)
- Cloud Run (Docker के ज़रिए Python 2)
- Cloud Run (Docker के ज़रिए Python 3)
- Cloud Run (Cloud Buildpacks के ज़रिए Python 3)
इस कोडलैब में, ऊपर दिए गए बोल्ड किए गए प्लैटफ़ॉर्म पर इस ऐप्लिकेशन को डिप्लॉय करने के बारे में बताया गया है.
आपको इनके बारे में जानकारी मिलेगी
- Google Cloud API का इस्तेमाल करना. खास तौर पर, Cloud Translation API (ऐडवांस/v3)
- किसी बुनियादी वेब ऐप्लिकेशन को स्थानीय तौर पर चलाएं या Cloud के बिना सर्वर वाले कंप्यूट प्लैटफ़ॉर्म पर डिप्लॉय करें
आपको इन चीज़ों की ज़रूरत होगी
- Google Cloud प्रोजेक्ट, जिसमें चालू Cloud Billing खाता हो
- स्थानीय तौर पर चलाने के लिए इंस्टॉल किया गया Flask या क्लाउड पर डिप्लॉयमेंट के लिए चालू किया गया Cloud Serverless Compute Platform
- Python की बुनियादी स्किल
- ऑपरेटिंग सिस्टम के बुनियादी कमांड के बारे में जानकारी
सर्वे
इस ट्यूटोरियल का इस्तेमाल कैसे किया जाएगा?
Python के साथ अपने अनुभव को लेकर, 1 से 5 के स्केल पर आप किस हद तक संतुष्ट हैं?
Google Cloud की सेवाओं को इस्तेमाल करने के अपने अनुभव को क्या रेटिंग देंगे?
2. सेटअप और ज़रूरी शर्तें
अपने हिसाब से एनवायरमेंट सेट अप करना
- Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से कोई Gmail या Google Workspace खाता नहीं है, तो आपको एक खाता बनाना होगा.
- प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों के लिए डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करते. इसे किसी भी समय अपडेट किया जा सकता है.
- प्रोजेक्ट आईडी, सभी Google Cloud प्रोजेक्ट में यूनीक होना चाहिए. साथ ही, इसे सेट करने के बाद बदला नहीं जा सकता. Cloud Console, अपने-आप एक यूनीक स्ट्रिंग जनरेट करता है. आम तौर पर, आपको यह जानने की ज़रूरत नहीं होती कि यह स्ट्रिंग क्या है. ज़्यादातर कोडलैब में, आपको प्रोजेक्ट आईडी का रेफ़रंस देना होगा. आम तौर पर, इसे
PROJECT_ID
के तौर पर पहचाना जाता है. इसलिए, अगर आपको यह पसंद नहीं है, तो कोई और स्ट्रिंग जनरेट करें या अपनी स्ट्रिंग आज़माकर देखें कि वह उपलब्ध है या नहीं. इसके बाद, प्रोजेक्ट बनाने के बाद इसे "फ़्रीज़" कर दिया जाता है. - तीसरी वैल्यू, प्रोजेक्ट नंबर है. इसका इस्तेमाल कुछ एपीआई करते हैं. दस्तावेज़ में इन तीनों वैल्यू के बारे में ज़्यादा जानें.
- इसके बाद, आपको Cloud के संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग की सुविधा चालू करनी होगी. इस कोडलैब को चलाने में ज़्यादा खर्च नहीं आता. इस ट्यूटोरियल के बाद, आपसे कोई शुल्क न लिया जाए, इसके लिए संसाधनों को बंद करें. इसके लिए, कोडलैब के आखिर में दिए गए "क्लीन-अप" निर्देशों का पालन करें. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त ट्रायल वाले कार्यक्रम में शामिल हो सकते हैं.
3. Translation API चालू करना
इस सेक्शन में, आपको Google API को सामान्य तौर पर चालू करने का तरीका पता चलेगा. हमारे सैंपल ऐप्लिकेशन के लिए, आपको Cloud Translation API और Cloud Functions सेवा चालू करनी होगी.
शुरुआती जानकारी
आपके ऐप्लिकेशन में किसी भी 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 में, एपीआई मैनेजर पर जाएं और लाइब्रेरी चुनें.
अगर आपको Cloud Vision API को चालू करना है, तो खोज बार में "vision" टाइप करें. इसके बाद, आपको खोज के नतीजों में वह सब दिखेगा जो आपके टाइप किए गए शब्द से मेल खाता है:
वह एपीआई चुनें जिसे आपको चालू करना है और चालू करें पर क्लिक करें:
लागत
Google के कई एपीआई बिना किसी शुल्क के इस्तेमाल किए जा सकते हैं. हालांकि, Google Cloud के प्रॉडक्ट और एपीआई का इस्तेमाल बिना शुल्क के नहीं किया जा सकता. Cloud API चालू करते समय, आपसे किसी चालू बिलिंग खाते का अनुरोध किया जा सकता है. हालांकि, यह ध्यान रखना ज़रूरी है कि Google Cloud के कुछ प्रॉडक्ट में "हमेशा मुफ़्त" टीयर (रोज़/महीने) की सुविधा होती है. बिलिंग शुल्क चुकाने के लिए, आपको इस टीयर से ज़्यादा खर्च करना होगा. ऐसा न करने पर, आपके क्रेडिट कार्ड (या तय किए गए बिलिंग इंस्ट्रूमेंट) से शुल्क नहीं लिया जाएगा.
उपयोगकर्ताओं को किसी भी एपीआई को चालू करने से पहले, उसकी कीमत की जानकारी देखनी चाहिए. खास तौर पर, यह देखना चाहिए कि उसमें कोई मुफ़्त टीयर है या नहीं. अगर है, तो वह क्या है. अगर आपको Cloud Vision API चालू करना है, तो आपको उसकी कीमत की जानकारी वाला पेज देखना होगा. Cloud Vision में बिना किसी शुल्क के इस्तेमाल करने के लिए कोटा तय है. जब तक आपके इस्तेमाल की कुल संख्या, हर महीने तय की गई सीमा के अंदर रहती है, तब तक आपसे कोई शुल्क नहीं लिया जाएगा.
Google के अलग-अलग एपीआई के लिए, कीमतें और बिना शुल्क वाले टीयर अलग-अलग होते हैं. उदाहरण:
- Google Cloud/GCP — हर प्रॉडक्ट के लिए अलग-अलग तरीके से बिलिंग की जाती है. आम तौर पर, हर vCPU साइकल, स्टोरेज कंज्यूमर, मेमोरी के इस्तेमाल या हर इस्तेमाल के हिसाब से पैसे चुकाए जाते हैं. बिना शुल्क वाले टीयर की जानकारी ऊपर दी गई है.
- Google Maps — इसमें एपीआई का एक सुइट होता है. साथ ही, यह उपयोगकर्ताओं को हर महीने 200 डॉलर का मुफ़्त क्रेडिट देता है.
- Google Workspace (पहले इसे G Suite कहा जाता था) के एपीआई — Workspace की सदस्यता के लिए हर महीने लिया जाने वाला शुल्क, कुछ सीमाओं तक एपीआई का मुफ़्त इस्तेमाल करने की सुविधा देता है. इसलिए, Gmail, Google Drive, Calendar, Docs, Sheets, और Slides के एपीआई का इस्तेमाल करने के लिए, सीधे तौर पर बिलिंग नहीं की जाती.
Google के अलग-अलग प्रॉडक्ट के लिए अलग-अलग तरीके से बिलिंग की जाती है. इसलिए, इस जानकारी के लिए अपने एपीआई के दस्तावेज़ का रेफ़रंस ज़रूर लें.
खास जानकारी
अब आपको Google के एपीआई को सामान्य तौर पर चालू करने का तरीका पता है. इसलिए, कृपया एपीआई मैनेजर पर जाएं और Cloud Translation API और Cloud Functions सेवा, दोनों को चालू करें. अगर आपने पहले से ऐसा नहीं किया है, तो ऐसा करें. Cloud Functions को इसलिए चालू करें, क्योंकि हमारा ऐप्लिकेशन इसका इस्तेमाल करेगा और Cloud Translation API को इसलिए, क्योंकि आपने Cloud फ़ंक्शन डिप्लॉय किया है. अगर आपको कमांड-लाइन से ऐसा करना है, तो यह कमांड दें:
gcloud services enable cloudfunctions.googleapis.com translate.googleapis.com
"हमेशा मुफ़्त" टीयर की खास जानकारी वाले पेज पर, हर महीने के कोटे की जानकारी नहीं दी गई है. हालांकि, Translation API के शुल्क वाले पेज पर बताया गया है कि सभी उपयोगकर्ताओं को हर महीने अनुवाद किए गए वर्णों की तय संख्या मिलती है. अगर आपका ट्रैफ़िक इस थ्रेशोल्ड से कम है, तो आपको एपीआई से कोई शुल्क नहीं देना होगा. अगर Google Cloud से जुड़ा कोई अन्य शुल्क है, तो इसकी जानकारी "साफ़ करें" सेक्शन में दी जाएगी.
4. ऐप्लिकेशन का सैंपल कोड पाना
रिपो में कोड को स्थानीय तौर पर या Cloud Shell में git clone
कमांड का इस्तेमाल करके क्लोन करें. इसके अलावा, नीचे दिए गए स्क्रीनशॉट में दिखाए गए ग्रीन कोड बटन से ZIP फ़ाइल डाउनलोड करें:
अब आपके पास सब कुछ है. इस ट्यूटोरियल को करने के लिए, फ़ोल्डर की पूरी कॉपी बनाएं, क्योंकि इसमें फ़ाइलों को मिटाना या उनमें बदलाव करना पड़ सकता है. अगर आपको किसी दूसरे डिप्लॉयमेंट की ज़रूरत है, तो ओरिजनल को कॉपी करके फिर से शुरू किया जा सकता है. इससे आपको उसे फिर से क्लोन या डाउनलोड नहीं करना पड़ेगा.
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)))
- इंपोर्ट करने पर, Flask की सुविधा,
google.auth
मॉड्यूल, और Cloud Translation API क्लाइंट लाइब्रेरी मिलती है. - ग्लोबल वैरिएबल, Flask ऐप्लिकेशन, Cloud प्रोजेक्ट आईडी, Translation API क्लाइंट, Translation API कॉल के लिए पैरंट "लोकेशन पाथ", और सोर्स और टारगेट भाषाओं को दिखाते हैं. इस मामले में, ये वैल्यू अंग्रेज़ी (
en
) और स्पैनिश (es
) हैं. हालांकि, इन वैल्यू को Cloud Translation API के साथ काम करने वाली अन्य भाषाओं के कोड में बदला जा सकता है. - सबसे नीचे मौजूद बड़े
if
ब्लॉक का इस्तेमाल, इस ऐप्लिकेशन को स्थानीय तौर पर चलाने के ट्यूटोरियल में किया जाता है. यह हमारे ऐप्लिकेशन को दिखाने के लिए, Flask डेवलपमेंट सर्वर का इस्तेमाल करता है. यह सेक्शन, Cloud Run डिप्लॉयमेंट ट्यूटोरियल के लिए भी यहां मौजूद है. ऐसा तब होता है, जब वेब सर्वर को कंटेनर में बंडल नहीं किया जाता. आपसे कंटेनर में सर्वर को बंडल करने के लिए कहा जाता है. हालांकि, अगर आपने इस बात को अनदेखा किया, तो ऐप्लिकेशन कोड, Flask डेवलपमेंट सर्वर का इस्तेमाल करेगा. (यह 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 को कॉल करके, ज़्यादा काम करता है. चलिए, इस बारे में ज़्यादा जानते हैं:
- देखें कि
local_request
वैरिएबल का इस्तेमाल करके, Cloud Functions से अनुरोध आ रहे हैं या नहीं. Cloud Functions, अपना Flask अनुरोध ऑब्जेक्ट भेजता है. वहीं, अन्य सभी (स्थानीय तौर पर चलने वाले या App Engine या Cloud Run पर डिप्लॉय किए गए) को सीधे Flask से अनुरोध ऑब्जेक्ट मिलेगा. - फ़ॉर्म के लिए बुनियादी वैरिएबल रीसेट करें. यह मुख्य रूप से जीईटी अनुरोधों के लिए है, क्योंकि पोस्ट अनुरोधों में ऐसा डेटा होगा जो इनकी जगह ले लेगा.
- अगर यह POST है, तो अनुवाद करने के लिए टेक्स्ट लें और एपीआई मेटाडेटा की ज़रूरी शर्तों को दिखाने वाला JSON स्ट्रक्चर बनाएं. इसके बाद, एपीआई को कॉल करें. अगर उपयोगकर्ता किसी पुरानी लाइब्रेरी का इस्तेमाल कर रहा है, तो एपीआई के पिछले वर्शन का इस्तेमाल करें.
- भले ही, असल नतीजों (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. सेवा को डिप्लॉय करना
अनुवाद सेवा को (Python 3) Cloud Functions में डिप्लॉय करने के लिए, यह कमांड चलाएं:
gcloud functions deploy translate --runtime python37 --trigger-http --allow-unauthenticated
आउटपुट कुछ ऐसा दिखेगा. साथ ही, अगले चरणों के लिए कुछ प्रॉम्प्ट भी दिखेंगे:
$ gcloud functions deploy translate --runtime python37 --trigger-http --allow-unauthenticated Deploying function (may take a while - up to 2 minutes)...⠹ For Cloud Build Stackdriver Logs, visit: https://console.cloud.google.com/logs/viewer?project=PROJECT_ID&advancedFilter=resource.type%3Dbuild%0Aresource.labels.build_id%3D7e32429d-ec36-422c-8a8b-43c4d661a15c%0AlogName%3Dprojects%2FPROJECT_ID%2Flogs%2Fcloudbuild Deploying function (may take a while - up to 2 minutes)...done. availableMemoryMb: 256 buildId: 7e32429d-ec36-422c-8a8b-43c4d661a15 entryPoint: translate httpsTrigger: securityLevel: SECURE_OPTIONAL url: https://REGION-PROJECT_ID.cloudfunctions.net/translate ingressSettings: ALLOW_ALL labels: deployment-tool: cli-gcloud name: projects/PROJECT_ID/locations/REGION/functions/translate runtime: python37 serviceAccountEmail: PROJECT_ID@appspot.gserviceaccount.com sourceUploadUrl: https://storage.googleapis.com/gcf-upload-REGION-873f8448-838f-4eb2-beda-3e200a1420d/cb1cbdca-34eb-41d0-88d6-c276d5205fb.zip?GoogleAccessId=service-104690130103@gcf-admin-robot.iam.gserviceaccount.com&Expires=1619139674 status: ACTIVE timeout: 60s updateTime: '2021-04-23T00:32:58.065Z' versionId: '3'
अब आपका ऐप्लिकेशन दुनिया भर में उपलब्ध है. इसलिए, डिप्लॉयमेंट आउटपुट में दिखाए गए यूआरएल पर जाकर, उस ऐप्लिकेशन को ऐक्सेस किया जा सकता है. यूआरएल कुछ ऐसा दिखेगा: https://
REGION
-
PROJECT_ID
.cloudfunctions.net/translate
. यह इस बात पर निर्भर करता है कि आपने किस इलाके को चुना है. साथ ही, यह आपके Cloud प्रोजेक्ट आईडी के हिसाब से भी अलग-अलग हो सकता है.
इसे काम करते हुए देखने के लिए, कुछ अनुवाद करें!
7. नतीजा
बधाई हो! आपने Cloud Translation API को चालू करने, ज़रूरी क्रेडेंशियल पाने, और Cloud Functions में एक आसान वेब ऐप्लिकेशन को डिप्लॉय करने का तरीका जाना! इस डिप्लॉयमेंट के बारे में ज़्यादा जानने के लिए, रिपो में मौजूद इस टेबल पर जाएं.
व्यवस्थित करें
Cloud Translation API की मदद से, हर महीने बिना किसी शुल्क के तय संख्या में वर्णों का अनुवाद किया जा सकता है. App Engine के लिए भी मुफ़्त कोटा उपलब्ध है. यह बात Cloud Functions और Cloud Run के लिए भी लागू होती है. इनमें से किसी भी सीमा को पार करने पर, आपसे शुल्क लिया जाएगा. अगर आपको अगले कोडलैब पर जाना है, तो आपको अपना ऐप्लिकेशन बंद करने की ज़रूरत नहीं है.
हालांकि, अगर आप अगले ट्यूटोरियल पर जाने के लिए तैयार नहीं हैं या आपको लगता है कि इंटरनेट पर आपके हाल ही में डिप्लॉय किए गए ऐप्लिकेशन का पता चल सकता है, तो शुल्क से बचने के लिए अपना App Engine ऐप्लिकेशन बंद करें, अपना Cloud फ़ंक्शन मिटाएं या अपनी Cloud Run सेवा बंद करें. जब आप अगले कोडलैब पर जाने के लिए तैयार हों, तो इसे फिर से चालू किया जा सकता है. दूसरी ओर, अगर आपको इस ऐप्लिकेशन या अन्य कोडलैब का इस्तेमाल नहीं करना है और आपको सब कुछ पूरी तरह से मिटाना है, तो अपना प्रोजेक्ट बंद करें.
साथ ही, Google Cloud के सर्वरलेस कंप्यूट प्लैटफ़ॉर्म पर डिप्लॉय करने पर, बिल्ड और स्टोरेज के लिए थोड़ी सी कीमत चुकानी पड़ती है. Cloud Build और Cloud Storage, दोनों के लिए मुफ़्त में इस्तेमाल किए जा सकने वाले स्टोरेज का कोटा अलग-अलग होता है. ज़्यादा पारदर्शिता के लिए, Cloud Build आपके ऐप्लिकेशन की इमेज बनाता है. इसके बाद, उसे Cloud Container Registry या इसके बाद के वर्शन Artifact Registry में से किसी एक में सेव किया जाता है. उस इमेज को सेव करने पर, उस कोटे का कुछ हिस्सा खर्च हो जाता है. साथ ही, उस इमेज को सेवा में ट्रांसफ़र करने पर, नेटवर्क से बाहर भेजे जाने वाले डेटा की वजह से भी कोटा खर्च होता है. हालांकि, हो सकता है कि आप किसी ऐसे इलाके में हों जहां यह मुफ़्त टीयर उपलब्ध न हो. इसलिए, संभावित खर्च को कम करने के लिए, अपने स्टोरेज के इस्तेमाल पर नज़र रखें.
8. अन्य संसाधन
नीचे दिए गए सेक्शन में, आपको पढ़ने के लिए और भी कॉन्टेंट मिल सकता है. साथ ही, इस ट्यूटोरियल से मिली जानकारी को बेहतर बनाने के लिए, सुझाई गई गतिविधियां भी मिल सकती हैं.
अतिरिक्त स्टडी
अब आपके पास Translation API का कुछ अनुभव है. अपनी स्किल को और बेहतर बनाने के लिए, कुछ और एक्सरसाइज़ करते हैं. लर्निंग पाथ जारी रखने के लिए, हमारे सैंपल ऐप्लिकेशन में बदलाव करके ये काम करें:
- स्थानीय तौर पर चलाने या Google Cloud के सर्वरलेस कंप्यूट प्लैटफ़ॉर्म पर डिप्लॉय करने के लिए, इस कोडलैब के सभी अन्य वर्शन पूरे करें. ज़्यादा जानकारी के लिए, रिपो README देखें.
- किसी दूसरी प्रोग्रामिंग भाषा का इस्तेमाल करके, यह ट्यूटोरियल पूरा करें.
- इस ऐप्लिकेशन को अलग-अलग सोर्स या टारगेट भाषाओं के साथ काम करने के लिए बदलें.
- टेक्स्ट को एक से ज़्यादा भाषाओं में अनुवाद करने के लिए, इस ऐप्लिकेशन को अपग्रेड करें. साथ ही, टारगेट की गई उन भाषाओं का एक ड्रॉप-डाउन मेन्यू बनाने के लिए टेंप्लेट फ़ाइल में बदलाव करें जिनमें अनुवाद किया जा सकता है.
ज़्यादा जानें
Google App Engine
- App Engine का होम पेज
- App Engine का दस्तावेज़
- Python 3 App Engine के साथ काम करने का तरीका
- App Engine के लिए डिफ़ॉल्ट सेवा खाते
- Python 2 App Engine (स्टैंडर्ड) रनटाइम
- Python 3 App Engine (स्टैंडर्ड) रनटाइम
- Python 2 और 3 App Engine (स्टैंडर्ड) के रनटाइम के बीच अंतर
- Python 2 से 3 App Engine (स्टैंडर्ड) माइग्रेशन गाइड
Google Cloud Functions
- Cloud Functions का होम पेज
- Cloud Functions का दस्तावेज़
- Python Cloud Functions का क्विकस्टार्ट
- Cloud Functions के लिए डिफ़ॉल्ट सेवा खाते
Google Cloud Run
- Cloud Run का होम पेज
- Cloud Run का दस्तावेज़
- Python Cloud Run के बारे में खास जानकारी
- Cloud Run के लिए डिफ़ॉल्ट सेवा खाते
Google Cloud Buildpacks, Container Registry, Artifact Registry
- Cloud Buildpacks की सूचना
- Cloud Buildpacks का रिपॉज़िटरी
- Cloud Artifact Registry का होम पेज
- Cloud Artifact Registry का दस्तावेज़
- Cloud Container Registry का होम पेज
- Cloud Container Registry के दस्तावेज़
Google Cloud Translation और Google ML Kit
- Cloud Translation का होम पेज
- Cloud Translation से जुड़ा दस्तावेज़
- Translation API की कीमत वाला पेज
- Cloud के सभी एआई/एमएल "बिल्डिंग ब्लॉक" एपीआई
- Google ML Kit (मोबाइल के लिए Cloud के एआई/एमएल एपीआई का सबसेट)
- Google ML Kit Translation API
Google Cloud के अन्य प्रॉडक्ट/पेज
- Google Cloud Python सहायता
- Google Cloud क्लाइंट लाइब्रेरी
- Google Cloud का "हमेशा मुफ़्त" टीयर
- Google Cloud के सभी दस्तावेज़
Python और Flask
लाइसेंस
इस ट्यूटोरियल के लिए, Creative Commons Attribution 2.0 जनरल लाइसेंस का इस्तेमाल किया गया है. वहीं, इस रिपॉज़िटरी के सोर्स कोड के लिए Apache 2 लाइसेंस का इस्तेमाल किया गया है.