आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस पेज पर जाएं
Apigee X दस्तावेज़. जानकारी
Node.js के किस वर्शन का इस्तेमाल किया जा सकता है Apigee Edge?
फ़िलहाल, Edge पर Node.js 0.10.32 का इस्तेमाल किया जा सकता है.
कौनसे स्टैंडर्ड Node.js मॉड्यूल क्या यह Edge पर काम करता है?
इस टेबल का इस्तेमाल करके तय करें कि कौनसे स्टैंडर्ड Node.js मॉड्यूल हैं Edge पर शामिल किए गए हैं. कुछ मामलों में, शामिल किए गए मॉड्यूल पूरी तरह से काम नहीं करते हैं. ये मॉड्यूल हैं जो Node.js में पहले से मौजूद हैं.मॉड्यूल | स्थिति | नोट |
---|---|---|
assert |
इनकी अनुमति है | |
buffer |
इनकी अनुमति है | |
child_process |
सभी देशों/इलाकों में उपलब्ध नहीं है | अगर कोई सब-प्रोसेस शुरू करने की कोशिश की जाती है, तो उसे अपवाद माना जाएगा. हालांकि, "फ़ोर्क" सब-स्क्रिप्ट को लिखने के लिए इसका इस्तेमाल किया जा सकता है. |
cluster |
बंद है | प्रक्रिया cluster.isMaster हमेशा सही लौटाता है और अन्य विधियां लागू नहीं की जाती हैं. हर Node.js स्क्रिप्ट की एक कॉपी, Edge मैसेज प्रोसेसर पर डिप्लॉय की जाती है. |
crypto |
इनकी अनुमति है | |
dns |
इनकी अनुमति है | |
domain |
इनकी अनुमति है | |
dgram |
सभी देशों/इलाकों में उपलब्ध नहीं है | Apigee एनवायरमेंट में मौजूद Node.js ऐप्लिकेशन, इन सेवाओं को ऐक्सेस नहीं कर पाएंगे हमारे नेटवर्क आर्किटेक्चर की वजह से, UDP के ज़रिए इंटरनेट की पहुंच बढ़ाने में मदद मिलती है. |
events |
इनकी अनुमति है | |
fs |
सभी देशों/इलाकों में उपलब्ध नहीं है | फ़ाइल सिस्टम का ऐक्सेस सिर्फ़ उस डायरेक्ट्री तक सीमित है जहां से स्क्रिप्ट लॉन्च की गई थी:
/resources/node डायरेक्ट्री. Node.js स्क्रिप्ट के अंदर ही फ़ाइलें पढ़ और लिखी जा सकती हैं
के लिए होगा, उदाहरण के लिए, अस्थायी स्क्रैच क्षेत्र के रूप में, लेकिन इसकी कोई गारंटी नहीं है कि
फ़ाइलें कब तक सेव रहेंगी. |
http |
इनकी अनुमति है | इनकमिंग अनुरोधों के लिए वर्चुअल होस्ट और पाथ को एपीआई प्रॉक्सी में तय किया गया है, न कि इसके ज़रिए एचटीटीपी मॉड्यूल में सबमिट किया जाएगा. "http और https के लिए समर्थन को समझना मॉड्यूल" हमारा वीडियो देखें. |
https |
इनकी अनुमति है | "https" बनाना सर्वर "http" की तरह काम करता है सर्वर. "एचटीटीपी और एचटीटीपीएस मॉड्यूल के साथ काम करना" देखें ज़्यादा के लिए जानकारी. |
module |
इनकी अनुमति है | |
net |
सभी देशों/इलाकों में उपलब्ध नहीं है | आने वाले टीसीपी कनेक्शन को सुनने की कोशिश को अपवाद माना जाएगा. |
path |
इनकी अनुमति है | |
module |
इनकी अनुमति है | |
process |
कुछ हद तक सहायता | यूज़र आईडी, ग्रुप की सदस्यता, और काम करने वाली डायरेक्ट्री में हेर-फेर करने की सुविधा समर्थित हैं. |
punycode |
इनकी अनुमति है | |
querystring |
इनकी अनुमति है | |
readline |
बंद है | Apigee Edge पर चल रही स्क्रिप्ट के लिए, कोई स्टैंडर्ड इनपुट नहीं है. |
repl |
बंद है | Apigee Edge पर चल रही स्क्रिप्ट के लिए, कोई स्टैंडर्ड इनपुट नहीं है. |
module |
शामिल है | |
STDIO |
इनकी अनुमति है |
स्टैंडर्ड आउटपुट और गड़बड़ियों को Apigee Edge में लॉग फ़ाइल में रूट किया जाता है किया जा सकता है. Node.js लॉग पर क्लिक करके ये लॉग देखे जा सकते हैं एपीआई प्रॉक्सी के लिए, Apigee Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) और बटन में. Apigee Edge पर चल रही स्क्रिप्ट के लिए, कोई स्टैंडर्ड इनपुट नहीं है. हालांकि, आपके पास TargetEndpoint के ScriptTarget एलिमेंट का इस्तेमाल करके आर्ग्युमेंट. इसके लिए Advanced ScriptTarget कॉन्फ़िगरेशन देखें ज़्यादा जानकारी देखें. |
stream |
इनकी अनुमति है | |
string_decoder |
इनकी अनुमति है | |
timers |
शामिल है | |
tls |
इनकी अनुमति है | ट्रांसपोर्ट लेयर सिक्योरिटी (TLS) पैरामीटर, बुनियादी तौर पर उसी तरह काम करते हैं जैसे वे काम करते हैं सामान्य Node.js Apigee Edge पर TLS (एसएसएल) Node.js मॉड्यूल का इस्तेमाल करना देखें देखें. |
tty |
बंद है | Apigee Edge पर चल रही स्क्रिप्ट के लिए, कोई स्टैंडर्ड इनपुट नहीं है. |
url |
इनकी अनुमति है | |
util |
इनकी अनुमति है | |
vm |
इनकी अनुमति है | |
zlib |
इनकी अनुमति है |
इस्तेमाल किए जा सकने वाले अन्य मॉड्यूल
इस सेक्शन में ऐसे दूसरे मॉड्यूल की सूची दी गई है जो स्टैंडर्ड Node.js पर काम नहीं करते, लेकिन यह Apigee Edge पर चलने वाले Trireme और Trireme के साथ काम करता है. Trireme एक ओपन सोर्स Node.js कंटेनर है, जो Apigee Edge. इसे Java वर्चुअल मशीन (JVM) में Node.js स्क्रिप्ट को चलाने के लिए डिज़ाइन किया गया है. सभी ये मॉड्यूल NPM पर उपलब्ध हैं.
मॉड्यूल | ब्यौरा |
---|---|
apigee-access | यह Apigee Edge प्लैटफ़ॉर्म पर चलने वाले Node.js ऐप्लिकेशन को, ऐक्सेस करने की अनुमति देता है Apigee से जुड़ी खास सुविधाएं. इस मॉड्यूल का इस्तेमाल इन कामों के लिए किया जा सकता है: फ़्लो को ऐक्सेस करना और उसमें बदलाव करना वैरिएबल के लिए, सुरक्षित स्टोर से डेटा वापस पाएं और एज कैश, कोटा, और OAuth का इस्तेमाल करें सेवाओं. यह भी देखें जिनका इस्तेमाल किया जा रहा है apigee-access मॉड्यूल. |
trireme-support | Node.js ऐप्लिकेशन को Trireme की खास सुविधाओं का फ़ायदा लेने देता है. इस समय इसमें सिर्फ़ एक ही सुविधा काम करती है -- Java में बने Node.js मॉड्यूल को लोड किया जा रहा है. ध्यान दें: Edge Cloud पर loadJars काम नहीं करता. |
trireme-xslt | XLST प्रोसेसिंग के बारे में जानकारी दिखाता है. इसे ख़ास तौर पर Trireme के लिए डिज़ाइन किया गया है Node.js ऐप्लिकेशन के चलने पर XSLT की कुशल प्रोसेसिंग की अनुमति देने वाला प्लैटफ़ॉर्म Java. |
trireme-jdbc | Node.js से JDBC के लिए ऐक्सेस देता है. ध्यान दें: Edge Cloud के साथ काम नहीं करता. Edge Private के लिए क्लाउड है, तो आप JDPC JAR फ़ाइलों को क्लास पाथ में रख सकते हैं और इस मॉड्यूल का इस्तेमाल कर सकते हैं. |
आम तौर पर इस्तेमाल होने वाले Node.js मॉड्यूल के लिए सहायता
Node.js स्क्रिप्ट पर पाबंदियां
ध्यान रखें कि Edge, Node.js स्क्रिप्ट पर कुछ पाबंदियां लागू करता है, जैसे कि फ़ॉलो किया जा रहा है:
- Apigee Edge एनवायरमेंट में मौजूद Node.js ऐप्लिकेशन, इंटरनेट पर सेवाओं को ऐक्सेस नहीं कर सकते को ऐक्सेस किया जा सकता है. ऐसा एज नेटवर्क आर्किटेक्चर की वजह से होता है.
- फ़ाइल सिस्टम का ऐक्सेस उस डायरेक्ट्री तक सीमित है जहां Node.js स्क्रिप्ट को लॉन्च किया गया था: /resources/नोड डायरेक्ट्री पर क्लिक करें. Node.js स्क्रिप्ट का उदाहरण कुछ समय के लिए है, लेकिन इसकी कोई गारंटी नहीं है कि फ़ाइल कितने समय तक बने रहें.
- आने वाले टीसीपी कनेक्शन को सुनने की कोशिश करने से अपवाद जनरेट होता है.
- यूज़र आईडी, ग्रुप की सदस्यता, और काम करने वाली डायरेक्ट्री में हेर-फेर करने की सुविधा समर्थित हैं.
- स्टैंडर्ड इनपुट के लिए, ScriptTarget का इस्तेमाल करके सिर्फ़ आर्ग्युमेंट भेजे जा सकते हैं
TargetEndpoint का एलिमेंट. ऐडवांस सेटिंग देखें
ScriptTarget कॉन्फ़िगरेशन पर क्लिक करें.
- स्टैंडर्ड आउटपुट के लिए, Edge में Node.js के लॉग बटन का इस्तेमाल करें
आपके प्रॉक्सी के लिए प्रबंधन UI. "apigeetool getlogs" का इस्तेमाल भी किया जा सकता है आदेश. ज़्यादा के लिए
जानकारी, डिप्लॉयमेंट सेक्शन में
एक स्टैंडअलोन Node.js ऐप्लिकेशन.
- नेटिव कोड पर आधारित मॉड्यूल इस्तेमाल नहीं किए जा सकते.
- वे मॉड्यूल जो EcmaScript 6 की सुविधाओं पर निर्भर करते हैं, जैसे कि Promises और Generators
समर्थित हैं.
- Node.js रनटाइम फ़्लैग, जैसे कि "harmony-proxies" समर्थित नहीं हैं.
आईपी कनेक्शन से जुड़ी पाबंदियां सेट करना प्राइवेट क्लाउड के लिए Edge पर
Edge for Private Cloud, Node.js कोड को आईपी पते ऐक्सेस करने से रोक सकता है “10.", "192.168" और localhost शामिल है. इन आईपी पतों को ऐक्सेस करने की कोशिश करने पर, आपको फ़ॉर्म में कोई गड़बड़ी दिखती है:
{ [Error: connect EINVAL] message: 'connect EINVAL', code: 'EINVAL', errno: 'EINVAL', syscall: 'connect' }
इन पाबंदियों में बदलाव करने के लिए, conf_nodejs_connect.ranges.denied प्रॉपर्टी पर सेट करें message-processors.properties को फ़ाइल अपलोड करता है. डिफ़ॉल्ट रूप से, इस प्रॉपर्टी का मान यह होता है:
- Edge 4.17.05 और इससे पहले के वर्शन: conf_nodejs_connect.ranges.denied=10.0.0.0/8,192.168.0.0/16,127.0.0.1/32
- Edge 4.17.09 और इसके बाद के वर्शन: conf_nodejs_connect.ranges.denied= (मतलब) कोई प्रतिबंध नहीं)
इस प्रॉपर्टी को सेट करने के लिए:
- message-processor.properties फ़ाइल को
Editor. अगर फ़ाइल मौजूद नहीं है, तो इसे बनाएं:
> vi /<inst_root>/apigee/customer/application/message-processor.properties - प्रॉपर्टी को अपने हिसाब से सेट करें. उदाहरण के लिए, सिर्फ़ लोकल होस्ट का ऐक्सेस न देने के लिए:
conf_nodejs_connect.ranges.denied=127.0.0.1/32 - बदलावों को सेव करें.
- पक्का करें कि प्रॉपर्टी फ़ाइल का मालिकाना हक 'apigee' के पास हो उपयोगकर्ता:
> chown apigee:apigee /<inst_root>/apigee/customer/application/message-processor.property - मैसेज प्रोसेसर को रीस्टार्ट करें:
> /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-message-प्रोसेसर रीस्टार्ट करो
एचटीटीपी और एचटीटीपीएस मॉड्यूल के साथ काम करने की जानकारी
Apigee Edge में चल रहे सभी Node.js ऐप्लिकेशन को http
या
आने वाले अनुरोधों को सुनने के लिए https
मॉड्यूल. अगर आपको कोई ऐसी स्क्रिप्ट डिप्लॉय करनी होती, जो
आने वाले अनुरोधों को नहीं सुनता. यह बस एक्ज़ीक्यूट होता है और बाहर निकल जाता है.
इसमें http
और https
मॉड्यूल की listen
तरीका
Node.js के लिए पोर्ट नंबर को पैरामीटर के तौर पर इस्तेमाल होता है. उदाहरण के लिए:
svr.listen(process.env.PORT || 9000, function() { console.log('The server is running.'); });
यह "पोर्ट" Node.js में आर्ग्युमेंट होना ज़रूरी है. हालांकि, Apigee Edge इस पैरामीटर को अनदेखा करता है. इसके बजाय, जिस एपीआई प्रॉक्सी में Node.js स्क्रिप्ट चलती है वह "वर्चुअल होस्ट" के बारे में बताता है जिस पर यह सुनता है, और Node.js ऐप्लिकेशन, किसी भी दूसरे Apigee Edge की तरह ही उन वर्चुअल होस्ट का इस्तेमाल करता है प्रॉक्सी.
Apigee के हर एनवायरमेंट में कम से कम एक वर्चुअल होस्ट होता है. वर्चुअल होस्ट, एचटीटीपी को तय करता है
Apigee संगठन से कनेक्ट करने के लिए सेटिंग. किसी एनवायरमेंट में मौजूद सभी एपीआई प्रॉक्सी
एक ही वर्चुअल होस्ट. डिफ़ॉल्ट रूप से, हर एनवायरमेंट के लिए दो वर्चुअल होस्ट उपलब्ध होते हैं:
default
और secure
. अधिक जानकारी के लिए, देखें
वर्चुअल होस्ट और एपीआई पाएं
डेवलपमेंट लाइफ़साइकल होना चाहिए.
apigeetool deploynodeapp
निर्देश से, Apigee Edge प्रॉक्सी रैपर जनरेट होता है
Node.js ऐप्लिकेशन के साथ इंटिग्रेट करता है. डिप्लॉय किए जाने पर, Node.js ऐप्लिकेशन डिफ़ॉल्ट तौर पर डेटा को सुनता है
वातावरण के लिए तय किया गया वर्चुअल होस्ट. Node.js ऐप्लिकेशन का यूआरएल हमेशा
http://{org_name}-{env_name}.apigee.net
.
इनकमिंग कॉल मैनेज करना अनुरोध
अन्य Apigee Edge ऐप्लिकेशन की तरह, अगर प्रॉक्सी ऐप्लिकेशन को
secure
वर्चुअल होस्ट, इसके बाद यह एचटीटीपीएस का इस्तेमाल करके आने वाले अनुरोधों को स्वीकार करेगा.
आउटगोइंग हैंडलिंग अनुरोध
ट्रैफ़िक पाने के अलावा, Apigee Edge में मौजूद Node.js ऐप्लिकेशन,
किसी भी दूसरे Node.js की तरह आउटबाउंड अनुरोध करने के लिए, http
और https
मॉड्यूल
का इस्तेमाल करें. ये मॉड्यूल ठीक उसी तरह काम करते हैं जैसे वे हमेशा Node.js के साथ करते हैं.
इन सुविधाओं के लिए सहायता tls मॉड्यूल
Apigee Edge, Node.js tls मॉड्यूल के साथ काम करता है.
यह मॉड्यूल ट्रांसपोर्ट लेयर सिक्योरिटी (TLS) और/या सिक्योर सॉकेट लेयर उपलब्ध कराने के लिए, OpenSSL का इस्तेमाल करता है
(SSL) एन्क्रिप्ट किया गया स्ट्रीम कम्यूनिकेशन. सुरक्षा कुंजी बनाने के लिए, tls
मॉड्यूल का इस्तेमाल किया जा सकता है
Edge पर चल रहे Node.js ऐप्लिकेशन से बैकएंड सेवाओं के कनेक्शन की जानकारी देते हैं.
यह समझने के लिए कि Apigee Edge पर tls
मॉड्यूल कैसे काम करता है, ज़रूरी है कि
यह समझना कि Apigee Edge पर virtual hosts
का इस्तेमाल कैसे किया जाता है. Apigee में मौजूद हर एनवायरमेंट
में कम से कम एक वर्चुअल होस्ट हो. वर्चुअल होस्ट
Apigee संगठन. किसी एनवायरमेंट में सभी एपीआई प्रॉक्सी एक ही वर्चुअल होस्ट शेयर करते हैं. डिफ़ॉल्ट रूप से,
हर एनवायरमेंट के लिए दो वर्चुअल होस्ट उपलब्ध हैं: default
और
secure
. वर्चुअल होस्ट के बारे में ज़्यादा जानकारी के लिए,
वर्चुअल होस्ट और एपीआई पाएं
डेवलपमेंट लाइफ़साइकल होना चाहिए.
अब देखते हैं कि Apigee Edge, टीएलएस (एसएसएल) कम्यूनिकेशन को किस तरह हैंडल करता है, ताकि उपयोगकर्ता को इनकमिंग और आउटगोइंग दोनों के लिए इस्तेमाल किया जा सके Node.js ऐप्लिकेशन पर अनुरोध:
इनकमिंग कॉल मैनेज करना अनुरोध
आपके संगठन के लिए वर्चुअल होस्ट कैसे कॉन्फ़िगर किए जाते हैं, इसके आधार पर Edge ये सेवाएं देता है विकल्प:
- अगर एपीआई प्रॉक्सी को
default
वर्चुअल होस्ट पर सुनने के लिए कॉन्फ़िगर किया गया है, तो वह एचटीटीपी पर अनुरोध स्वीकार करता है. - अगर एपीआई प्रॉक्सी को
secure
वर्चुअल होस्ट पर सुनने के लिए कॉन्फ़िगर किया गया है, तो वह एचटीटीपीएस पर अनुरोध स्वीकार करता है. यह यूआरएलapigee.net
डोमेन के अंदर होगा और*.apigee.net
के लिए वाइल्डकार्ड एसएसएल सर्टिफ़िकेट का इस्तेमाल किया जाएगा. जब तक कि ऐप्लिकेशन कोapigee.net
डोमेन से कनेक्ट करने का अनुरोध करेगा, तो एसएसएल सर्टिफ़िकेट सामान्य रूप से.
आउटगोइंग हैंडलिंग अनुरोध
tls
मॉड्यूल से, आउटगोइंग अनुरोध उसी तरह किए जा सकते हैं जैसे वे करते हैं
सामान्य तौर पर Node.js में बुनियादी तौर पर, आपको क्लाइंट-साइड कुंजियां और सर्टिफ़िकेट जोड़ने होंगे
(.pem
फ़ाइलें) resources/node
डायरेक्ट्री में जोड़ें और उन्हें अपने
स्क्रिप्ट. tls
मॉड्यूल और इसकी विधियों का इस्तेमाल करने के बारे में जानकारी के लिए, यहां देखें
Node.js tls मॉड्यूल दस्तावेज़.
बेहतर ScriptTarget कॉन्फ़िगरेशन
<TargetEndpoint name="default"> <ScriptTarget> <ResourceURL>node://hello.js</ResourceURL> <EnvironmentVariables> <EnvironmentVariable name="NAME">VALUE</EnvironmentVariable> </EnvironmentVariables> <Arguments> <Argument>ARG</Argument> </Arguments> </ScriptTarget> </TargetEndpoint>