मुख्य विशेषताएँ:
- रीयल-टाइम डेटा डिलीवरी: अपने नियमों से मेल खाने वाला डेटा लगभग रीयल-टाइम में प्राप्त करें।
- सटीक फ़िल्टरिंग: 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)
3. नियम प्राप्त करें (GET /rules)
4. PowerStream (GET /stream)
stream=True का उपयोग करें। विश्वसनीयता के लिए पुनःकनेक्शन लॉजिक लागू करें।
स्थानीय डेटासेंटर समर्थन
?localDcOnly=true जोड़ें (उदाहरण के लिए, /2/powerstream?localDcOnly=true)। आप जिस डेटासेंटर से जुड़े हैं, उसका संकेत stream के initial data payload में भी और रिस्पॉन्स में HTTP header के रूप में भी दिया जाएगा।
कोड में उपयोग करने के लिए:
localDcOnly पैरामीटर सक्षम है, तो स्ट्रीम के पहली बार कनेक्ट होने पर उसमें निम्नलिखित रिस्पॉन्स हेडर शामिल होंगे, जो यह दर्शाते हैं कि कौन-सा स्थानीय डेटासेंटर उपयोग में है:
सुझाव: विलंबता को बेहतर बनाने के लिए, अलग-अलग भौगोलिक स्थानों से कनेक्शन सेट अप करें (उदाहरण के लिए, एक US East Coast पर Atlanta के पास और दूसरा US West Coast पर Portland के पास) और प्रत्येक के लिए
localDcOnly=true सक्षम करें। इससे हर संबंधित डेटासेंटर से पोस्ट्स तक तेज़ पहुंच मिलती है। cross-datacenter डेटा को मिलाने के लिए, अपनी तरफ़ streams को एग्रीगेट करें।ऑपरेटर
फ़ील्ड-आधारित ऑपरेटर
उपयोगकर्ता ऑपरेटर
| ऑपरेटर | सारांश | उदाहरण |
|---|---|---|
from: | किसी खास उपयोगकर्ता की पोस्ट्स से मेल खाता है | from:xdevelopers या from:123456 |
to: | किसी खास उपयोगकर्ता को संबोधित पोस्ट्स से मेल खाता है | to:jvaleski |
retweets_of: | किसी खास उपयोगकर्ता के रीपोस्ट्स से मेल खाता है | retweets_of:xdevelopers |
कंटेंट ऑपरेटर्स
| ऑपरेटर | सारांश | उदाहरण |
|---|---|---|
contains: | विशिष्ट टेक्स्ट/कीवर्ड वाली पोस्ट्स से मेल खाता है | contains:hello or contains:-2345.432 |
url_contains: | उन पोस्ट्स से मेल खाता है जिनके URL में विशिष्ट टेक्स्ट हो | url_contains:"com/willplayforfood" |
lang: | विशिष्ट भाषाओं की पोस्ट्स से मेल खाता है | lang:en |
एंटिटी ऑपरेटर
| ऑपरेटर | सारांश | उदाहरण |
|---|---|---|
has: | विशिष्ट एंटिटी वाले पोस्ट्स से मेल खाता है (विकल्प: mentions, geo, links, media, lang, symbols, images, videos) | has:images, has:geo, has:mentions |
is: | विशिष्ट प्रकार के या विशिष्ट गुणों वाले पोस्ट्स से मेल खाता है (विकल्प: retweet, reply) | is:retweet, is:reply |
स्थान ऑपरेटर
| ऑपरेटर | सारांश | उदाहरण |
|---|---|---|
place: | विशिष्ट स्थानों से पोस्ट्स का मिलान करता है | place:"Belmont Central", place:02763fa2a7611cf3 |
bounding_box: | किसी भौगोलिक बाउंडिंग बॉक्स के भीतर की पोस्ट्स का मिलान करता है | bounding_box:[-112.424083 42.355283 -112.409111 42.792311] |
point_radius: | किसी बिंदु के चारों ओर दी गई त्रिज्या के भीतर की पोस्ट्स का मिलान करता है | point_radius:[-111.464973 46.371179 25mi], point_radius:[-111.464973 46.371179 15km] |
उन्नत/कंटेंट ऑपरेटर
| ऑपरेटर | सारांश | उदाहरण |
|---|---|---|
bio: | विशिष्ट बायो सामग्री वाले उपयोगकर्ताओं के पोस्ट्स से मेल खाता है (वाक्यांश मिलान का उपयोग करता है) | लागू नहीं |
bio_name: | बायो में विशिष्ट नाम वाले उपयोगकर्ताओं के पोस्ट्स से मेल खाता है (वाक्यांश मिलान का उपयोग करता है) | लागू नहीं |
अतिरिक्त ऑपरेटर
| ऑपरेटर | सारांश | उदाहरण |
|---|---|---|
retweets_of_status_id: | विशिष्ट पोस्ट्स के रीपोस्ट से मेल खाता है | retweets_of_status_id:1234567890123456789 |
in_reply_to_status_id: | विशिष्ट पोस्ट्स के जवाबों से मेल खाता है | in_reply_to_status_id:1234567890123456789 |
फ़ील्ड-रहित ऑपरेटर
विशेष सिंटैक्स ऑपरेटर
| ऑपरेटर | सारांश | उदाहरण |
|---|---|---|
@ | मेंशन ऑपरेटर | @username |
| वाक्यांश मिलान | सटीक वाक्यांशों का मिलान करता है | "exact phrase" |
तार्किक ऑपरेटर
| ऑपरेटर | Summary | Example |
|---|---|---|
OR | अभिव्यक्तियों के बीच तार्किक OR | x OR facebook |
| Space/AND | अभिव्यक्तियों के बीच तार्किक AND | x facebook (दोनों शब्द मौजूद होने चाहिए) |
() | जटिल अभिव्यक्तियों के लिए समूहबद्ध करना | (x OR facebook) iphone |
- | निषेध/बहिष्करण | x -facebook (x, लेकिन facebook नहीं) |
रिस्पॉन्स
सीमाएँ और सर्वोत्तम प्रथाएँ
- रेट लिमिट्स: नियम प्रबंधन के लिए 50 अनुरोध/24h; स्ट्रीम्स पर कोई सीमा नहीं है (लेकिन कनेक्शन सीमाएँ लागू होती हैं)।
- रीकनेक्शन: डिस्कनेक्ट होने पर एक्सपोनेंशियल बैकऑफ़।
- निगरानी:
Connection: keep-aliveहेडर्स का उपयोग करें।