Supabase: Backend as a Service · पाठ

बाहरी सेवाओं के साथ एकीकरण

अपनी एप्लिकेशन की क्षमताएँ बढ़ाने के लिए अपने Supabase बैकएंड को तृतीय-पक्ष API और सेवाओं से जोड़ने के तरीके सीखें

पाठ 1, कुल 3 में से12 चरण

बाहरी सेवाओं के साथ एकीकरण, CoddyKit पर Supabase: Backend as a Service का एक निःशुल्क पाठ है। यह 3 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Supabase: Backend as a Service सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Supabase: Backend as a Service पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

बाहरी सेवाएँ क्यों?

आपके ऐप को अक्सर Supabase में केवल डेटा प्रबंधित करने से अधिक काम करने की आवश्यकता होती है। ईमेल भेजने, भुगतान संसाधित करने या AI टूल को एकीकृत करने के बारे में सोचिए।

यहीं बाहरी सेवाओं के साथ एकीकरण काम आता है! इससे आपका Supabase बैकएंड अन्य API और प्लेटफ़ॉर्म से संचार कर सकता है और आपके ऐप की क्षमताओं का विस्तार कर सकता है।

एकीकरण की सामान्य ज़रूरतें

ऐप की कई सामान्य सुविधाएँ बाहरी सेवाओं पर निर्भर करती हैं:

  • भुगतान गेटवे: लेन-देन के लिए Stripe, PayPal।
  • ईमेल/SMS: सूचनाओं के लिए SendGrid, Twilio।
  • AI/ML API: उन्नत सुविधाओं के लिए OpenAI, Google Cloud AI।
  • भू-स्थान: मानचित्र सेवाओं के लिए Google Maps, Mapbox।
  • विश्लेषण: उपयोगकर्ता के व्यवहार पर नज़र रखने के लिए Mixpanel, Segment।

Supabase की भूमिका: Edge Functions

हालाँकि आपका क्लाइंट-साइड ऐप बाहरी API को सीधे कॉल कर सकता है, लेकिन सुरक्षित और बैकएंड-आधारित एकीकरण के लिए Supabase Edge Functions आपके लिए सबसे उपयोगी हैं।

Edge Functions सर्वररहित बैकएंड तर्क के रूप में काम करते हैं और आपके उपयोगकर्ताओं के निकट चलते हैं। वे संवेदनशील जानकारी को आपके क्लाइंट-साइड कोड में सीधे उजागर किए बिना किसी भी बाहरी API को HTTP अनुरोध भेज सकते हैं।

Deno के साथ API कॉल करना

Supabase Edge Functions Deno पर आधारित हैं, जो नेटवर्क अनुरोध करने के लिए ब्राउज़र के समान मानक fetch API का उपयोग करता है। इससे बाहरी सेवाओं के साथ काम करना आसान हो जाता है।

प्रवाह इस प्रकार है: आपका क्लाइंट एक Edge Function को कॉल करता है, जो फिर बाहरी API को अनुरोध भेजता है, प्रतिक्रिया को संसाधित करता है और उसे आपके क्लाइंट को वापस भेज देता है।

कोड प्रदर्शन: बाहरी डेटा प्राप्त करना

यह एक सरल Edge Function है, जो किसी सार्वजनिक API (JSONPlaceholder) से एक यादृच्छिक 'todo' आइटम प्राप्त करता है। ध्यान दें कि हम फ़ंक्शन के प्रवेश-बिंदु के रूप में Deno.serve का उपयोग करते हैं।

import { serve } from 'https://deno.land/std@0.177.0/http/server.ts'

Deno.serve(async (req) => {
  const { name } = await req.json()

  try {
    const response = await fetch('https://jsonplaceholder.typicode.com/todos/1')
    const data = await response.json()

    return new Response(JSON.stringify({
      message: `Hello ${name}! Here's a todo: ${data.title}`,
    }), {
      headers: { 'Content-Type': 'application/json' },
      status: 200,
    })
  } catch (error) {
    return new Response(JSON.stringify({
      error: error.message,
    }), {
      headers: { 'Content-Type': 'application/json' },
      status: 500,
    })
  }
})

Edge Function को कॉल करना

परिनियोजन के बाद, आपका क्लाइंट-साइड अनुप्रयोग Supabase क्लाइंट लाइब्रेरी का उपयोग करके इस Edge Function को कॉल कर सकता है। यहाँ फ़ंक्शन का नाम, उदाहरण के लिए, 'fetch-todo' होगा।

invoke विधि आपके फ़ंक्शन को डेटा भेजने और उसकी प्रतिक्रिया प्राप्त करने का काम संभालती है।

// Client-side JavaScript
async function getTodoFromEdgeFunction() {
  try {
    const { data, error } = await supabase.functions.invoke('fetch-todo', {
      body: { name: 'CoddyKit User' },
    })

    if (error) {
      console.error('Function error:', error)
    } else {
      console.log('Function response:', data)
    }
  } catch (err) {
    console.error('Invocation error:', err)
  }
}

// Call the function (e.g., on button click)
// getTodoFromEdgeFunction();

Supabase Secrets से API कुंजियों को सुरक्षित करना

API कुंजियों को सीधे अपने Edge Function कोड में लिख देना सुरक्षा जोखिम है। यदि आपका कोड कभी उजागर हो गया, तो आपकी कुंजियाँ भी असुरक्षित हो जाएँगी।

Supabase आपके Edge Functions के लिए पर्यावरण चर सुरक्षित रूप से संग्रहीत करने हेतु Secrets उपलब्ध कराता है। ये आपके कोडबेस का हिस्सा नहीं होते और चलने के समय जोड़े जाते हैं।

Edge Functions में Secrets का उपयोग

पहले, आप Supabase CLI का उपयोग करके एक सीक्रेट सेट करेंगे: supabase secrets set MY_EXTERNAL_API_KEY=your_key_here। फिर, अपने Edge Function में इसे Deno.env.get('MY_EXTERNAL_API_KEY') के माध्यम से प्राप्त करेंगे।

इससे आपकी संवेदनशील प्रमाण-पत्र संबंधी जानकारी सुरक्षित रहती है और संस्करण नियंत्रण से बाहर रहती है।

import { serve } from 'https://deno.land/std@0.177.0/http/server.ts'

Deno.serve(async (req) => {
  // Access the secret environment variable
  const apiKey = Deno.env.get('MY_EXTERNAL_API_KEY') || 'NO_KEY_SET'

  // Example: Use the apiKey in a header for an external API call
  // const response = await fetch('https://api.example.com/data', {
  //   headers: { 'Authorization': `Bearer ${apiKey}` },
  // })

  return new Response(JSON.stringify({
    message: `API Key accessed: ${apiKey.substring(0, 5)}...`,
  }), {
    headers: { 'Content-Type': 'application/json' },
    status: 200,
  })
})

प्रतिक्रियाओं और त्रुटियों को मज़बूती से संभालना

बाहरी सेवाओं को एकीकृत करते समय हमेशा सफलता और विफलता, दोनों के लिए तैयार रहें। API की प्रतिक्रिया को सही ढंग से पार्स करें (अक्सर JSON में) और संभावित त्रुटियों को संभालें।

  • HTTP स्थिति जाँचें: सभी 2xx प्रतिक्रियाएँ सफल नहीं होतीं; कुछ API व्यावसायिक तर्क संबंधी त्रुटियों के लिए 4xx का उपयोग करते हैं।
  • Try-Catch ब्लॉक: नेटवर्क त्रुटियों या प्रतिक्रिया पार्स करने में आने वाली समस्याओं के लिए आवश्यक हैं।
  • अर्थपूर्ण त्रुटि संदेश: आंतरिक API विवरण उजागर किए बिना क्लाइंट को स्पष्ट त्रुटि संदेश लौटाएँ।

एकीकरण के लिए सर्वोत्तम अभ्यास

मज़बूत और विस्तार योग्य एकीकरण सुनिश्चित करने के लिए:

  • दर सीमित करना: बाहरी API की दर सीमाओं का सम्मान करें, ताकि आपका अनुरोध अवरुद्ध न हो।
  • पुनः प्रयास: अस्थायी नेटवर्क समस्याओं के लिए क्रमशः बढ़ते विलंब वाला बैकऑफ़ लागू करें।
  • समय-सीमाएँ: बाहरी अनुरोधों के लिए उचित समय-सीमाएँ निर्धारित करें, ताकि वे अनिश्चित समय तक न अटकें।
  • लॉगिंग: डीबगिंग के लिए अनुरोधों और प्रतिक्रियाओं (विशेषकर त्रुटियों) का लॉग रखें।
  • इडेम्पोटेंसी: भुगतान जैसे कार्यों के लिए अपने फ़ंक्शनों को इस तरह डिज़ाइन करें कि वे दोहराए गए अनुरोधों को भी सुचारु रूप से संभाल सकें।

एकीकरण पर त्वरित जाँच

आप एक बाहरी ईमेल API का उपयोग करके ईमेल भेजने वाला Edge Function बना रहे हैं। आपको अपने ईमेल सेवा की API कुंजी शामिल करनी होगी।

पुनरावलोकन: बाहरी सेवाओं का एकीकरण

आपने बाहरी API और सेवाओं के साथ एकीकरण करके अपने Supabase अनुप्रयोग की क्षमताओं का विस्तार करना सीख लिया है।

  • सुरक्षित बैकएंड-से-बाहरी-सेवा संचार के लिए Edge Functions आदर्श हैं।
  • HTTP अनुरोध करने के लिए Deno Edge Functions में fetch का उपयोग करें।
  • API कुंजियों जैसी संवेदनशील प्रमाण-पत्र संबंधी जानकारी को हमेशा Supabase Secrets से सुरक्षित रखें।
  • विश्वसनीय एकीकरण के लिए मज़बूत त्रुटि-प्रबंधन लागू करें और सर्वोत्तम अभ्यासों का पालन करें।

इससे शक्तिशाली और सुविधाओं से भरपूर अनुप्रयोग बनाने की अनगिनत संभावनाएँ खुलती हैं!

शुरुआत निःशुल्क

एआई शिक्षक के साथ Supabase: Backend as a Service सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
11
पाठ
40

अक्सर पूछे जाने वाले प्रश्न

क्या “बाहरी सेवाओं के साथ एकीकरण” पाठ निःशुल्क है?

हाँ—“बाहरी सेवाओं के साथ एकीकरण” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Supabase: Backend as a Service पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Supabase: Backend as a Service पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

“बाहरी सेवाओं के साथ एकीकरण” में मैं क्या सीखूँगा?

अपनी एप्लिकेशन की क्षमताएँ बढ़ाने के लिए अपने Supabase बैकएंड को तृतीय-पक्ष API और सेवाओं से जोड़ने के तरीके सीखें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Supabase: Backend as a Service का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Supabase: Backend as a Service शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Supabase: Backend as a Service शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 1वाँ पाठ है।

“बाहरी सेवाओं के साथ एकीकरण” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Supabase: Backend as a Service पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Supabase: Backend as a Service पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. बाहरी सेवाओं के साथ एकीकरण
  2. Supabase और वर्कर्स के साथ कार्य कतारें
  3. pg_cron के साथ आवर्ती कार्य निर्धारित करना
← Supabase: Backend as a Service पर वापस जाएँ