Skip to main content
Powerstream सार्वजनिक X डेटा तक पहुँचने के लिए हमारा सबसे तेज़, रियल-टाइम स्ट्रीमिंग API है। पुराने GNIP Powetrack API की तरह, यह कीवर्ड, ऑपरेटर और मेटाडेटा के आधार पर पोस्ट्स को फ़िल्टर करने के लिए नियमों का उपयोग करता है। Powerstream endpoint के साथ एक स्थायी HTTP कनेक्शन स्थापित होने के बाद, आप लगभग रियल-टाइम में मेल खाने वाले पोस्ट्स प्राप्त करना शुरू कर सकते हैं। फ़िलहाल, Powerstream अधिकतम 1,000 नियमों का समर्थन करता है, और प्रत्येक नियम 2048 वर्णों तक का हो सकता है।

मुख्य विशेषताएँ:

  • रीयल-टाइम डेटा डिलीवरी: अपने नियमों से मेल खाने वाला डेटा लगभग रीयल-टाइम में प्राप्त करें।
  • सटीक फ़िल्टरिंग: operators के साथ Boolean queries का उपयोग करके ठीक वही डेटा फ़िल्टर करें, जिसकी आप तलाश कर रहे हैं।
  • डिलीवरी: HTTP/1.1 chunked transfer encoding पर JSON रिस्पॉन्स।
  • स्थानीय डेटासेंटर समर्थन: replication lag से बचकर latency कम करने के लिए पोस्ट्स को केवल स्थानीय डेटासेंटर से फ़ेच करें।
Powerstream API एक प्रीमियम पेशकश है, जो चुनिंदा Enterprise plans के अंतर्गत उपलब्ध है।अगर आप Powerstream का एक्सेस प्राप्त करना चाहते हैं या हमारी Enterprise पेशकशों के बारे में अधिक जानना चाहते हैं, तो कृपया Enterprise Request Form सबमिट करके हमारी Sales team से संपर्क करें। हमें यह बताने में खुशी होगी कि Powerstream आपकी ज़रूरतों को कैसे पूरा कर सकता है।

त्वरित शुरुआत

इस अनुभाग में दिखाया गया है कि requests लाइब्रेरी के साथ Python का उपयोग करके PowerStream endpoints के साथ जल्दी शुरुआत कैसे करें। इसे pip install requests के ज़रिए इंस्टॉल करें। सभी उदाहरण OAuth 2.0 बेयरर टोकन प्रमाणीकरण का उपयोग करते हैं। YOUR_BEARER_TOKEN को अपने वास्तविक टोकन से बदलें (इसे सुरक्षित रूप से संग्रहीत करें, उदाहरण के लिए os.getenv('BEARER_TOKEN') के ज़रिए)। हम हर endpoint कोड स्निपेट्स के साथ समझाएँगे। मान लें कि सबसे ऊपर ये imports हैं:

सेटअप

1. नियम बनाएँ (POST /rules)

अपनी स्ट्रीम को फ़िल्टर करने के लिए नियम जोड़ें।

2. नियम हटाएं (POST /rules)

ID (अनुशंसित) या मान के आधार पर नियम हटाएं।
सुझाव: सभी नियमों को हटाने के लिए, पहले उन्हें GET करें, उनके id निकालें, फिर उन्हें एक साथ हटाएँ।

3. नियम प्राप्त करें (GET /rules)

सभी सक्रिय नियम प्राप्त करें।

4. PowerStream (GET /stream)

रियल-टाइम पोस्ट्स के लिए स्ट्रीम से कनेक्ट करें। पंक्ति-दर-पंक्ति पढ़ने के लिए stream=True का उपयोग करें। विश्वसनीयता के लिए पुनःकनेक्शन लॉजिक लागू करें।

स्थानीय डेटासेंटर समर्थन

विलंबता को अनुकूलित करने के लिए, Powerstream केवल उन पोस्ट्स को फ़ेच करने का विकल्प देता है जो उसी स्थानीय डेटासेंटर में उत्पन्न या बनाई गई हों जहाँ कनेक्शन स्थापित है। इससे replication lag से बचाव होता है, जिसके परिणामस्वरूप दूसरे डेटासेंटर्स की पोस्ट्स की तुलना में डिलीवरी तेज़ होती है। इसे सक्षम करने के लिए, stream endpoint में query parameter ?localDcOnly=true जोड़ें (उदाहरण के लिए, /2/powerstream?localDcOnly=true)। आप जिस डेटासेंटर से जुड़े हैं, उसका संकेत stream के initial data payload में भी और रिस्पॉन्स में HTTP header के रूप में भी दिया जाएगा। कोड में उपयोग करने के लिए:
यदि localDcOnly पैरामीटर सक्षम है, तो स्ट्रीम के पहली बार कनेक्ट होने पर उसमें निम्नलिखित रिस्पॉन्स हेडर शामिल होंगे, जो यह दर्शाते हैं कि कौन-सा स्थानीय डेटासेंटर उपयोग में है:
इसके अतिरिक्त, यह डेटासेंटर निर्दिष्ट करने वाला एक शुरुआती payload भी भेजेगा:
सुझाव: विलंबता को बेहतर बनाने के लिए, अलग-अलग भौगोलिक स्थानों से कनेक्शन सेट अप करें (उदाहरण के लिए, एक US East Coast पर Atlanta के पास और दूसरा US West Coast पर Portland के पास) और प्रत्येक के लिए localDcOnly=true सक्षम करें। इससे हर संबंधित डेटासेंटर से पोस्ट्स तक तेज़ पहुंच मिलती है। cross-datacenter डेटा को मिलाने के लिए, अपनी तरफ़ streams को एग्रीगेट करें।

ऑपरेटर

फ़िल्टरिंग के लिए नियम सेट करने हेतु, आप कीवर्ड और ऑपरेटरों का उपयोग कर सकते हैं। नीचे उपलब्ध ऑपरेटरों की सूची देखें।

फ़ील्ड-आधारित ऑपरेटर

उपयोगकर्ता ऑपरेटर

कंटेंट ऑपरेटर्स

एंटिटी ऑपरेटर

स्थान ऑपरेटर

उन्नत/कंटेंट ऑपरेटर

अतिरिक्त ऑपरेटर

फ़ील्ड-रहित ऑपरेटर

विशेष सिंटैक्स ऑपरेटर

तार्किक ऑपरेटर

रिस्पॉन्स

Powestream API का payload, legacy GNIP Powertrack API के समान फ़ॉर्मैट में होता है। एक नमूना json रिस्पॉन्स इस तरह दिखता है:

सीमाएँ और सर्वोत्तम प्रथाएँ

  • रेट लिमिट्स: नियम प्रबंधन के लिए 50 अनुरोध/24h; स्ट्रीम्स पर कोई सीमा नहीं है (लेकिन कनेक्शन सीमाएँ लागू होती हैं)।
  • रीकनेक्शन: डिस्कनेक्ट होने पर एक्सपोनेंशियल बैकऑफ़।
  • निगरानी: Connection: keep-alive हेडर्स का उपयोग करें।