आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
हमने मंगलवार, 30 अगस्त, 2016 को Apigee Edge for Public Cloud का नया वर्शन रिलीज़ किया था.
नई सुविधाएं और अपडेट
इस रिलीज़ में नई सुविधाएं और अपडेट शामिल किए गए हैं. इनके बारे में यहां बताया गया है.
Assign Message और Raise Fault में JSON पेलोड
इस बेहतर सुविधा की मदद से, JSON मैसेज को सही फ़ॉर्मैट में रखने के लिए किसी अन्य तरीके का इस्तेमाल करने की ज़रूरत नहीं होती. साथ ही, अमान्य JSON बनाए बिना घुंघराले ब्रैकेट का इस्तेमाल करके वैरिएबल तय किए जा सकते हैं. उदाहरण के लिए, यहां JSON मैसेज में message.content की वैल्यू डाली गई है:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
अगर आपने कोई अन्य तरीका इस्तेमाल किया है, तो आपका कोड पहले की तरह काम करता रहेगा. वैरिएबल दिखाने के लिए, कर्ली ब्रेसिज़ के बजाय variablePrefix और variableSuffix का इस्तेमाल भी किया जा सकता है.
Assign Message नीति और Raise Fault नीति के रेफ़रंस दस्तावेज़ों में, <Set><Payload> एलिमेंट देखें. (APIRT-1160)
नीति में XML से JSON में बदलने की सुविधा से जुड़े सुधार
XML से JSON में बदलने की नीति को इन सुविधाओं के साथ बेहतर बनाया गया है. नीति को इन कामों के लिए कॉन्फ़िगर किया जा सकता है:
- कन्वर्ज़न के दौरान, कुछ XML एलिमेंट को ऐरे के तौर पर माना जाता है. इससे JSON दस्तावेज़ में वैल्यू को स्क्वेयर ब्रैकेट '[ ]' में रखा जाता है.
- फ़ाइनल JSON दस्तावेज़ में, XML दस्तावेज़ के क्रम में मौजूद लेवल को हटाना या कम करना.
ज़्यादा जानकारी के लिए, XML से JSON में बदलने की नीति देखें. (APIRT-1144)
एपीआई प्रॉडक्ट के रिसॉर्स पाथ में एक से ज़्यादा वाइल्डकार्ड
एपीआई प्रॉडक्ट में संसाधन के पाथ तय करते समय, संसाधन के पाथ में एक से ज़्यादा जगहों पर वाइल्डकार्ड शामिल किए जा सकते हैं. उदाहरण के लिए, /team/*/invoices/** के बाद किसी भी वैल्यू और invoices/ के बाद किसी भी संसाधन के पाथ के साथ एपीआई कॉल करने की अनुमति देता है./team एपीआई कॉल पर अनुमति दिया गया यूआरआई proxyBasePath/team/finance/invoices/company/a होगा.
अगर इस रिलीज़ के बाद, आपके मौजूदा एपीआई प्रॉडक्ट के संसाधन पाथ उम्मीद के मुताबिक काम नहीं करते हैं, तो अपने संगठन के लिए यह प्रॉपर्टी सेट करें, ताकि पहले की तरह काम किया जा सके: features.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
JavaScript में क्रिप्टो फ़ंक्शन
ज़्यादा परफ़ॉर्मेंस देने वाले JavaScript crypto फ़ंक्शन का एक नया सेट उपलब्ध है. इसका इस्तेमाल, MD5, SHA-1, SHA256, SHA512 जैसे हैश ऑब्जेक्ट बनाने, पाने, और अपडेट करने के लिए किया जा सकता है.
crypto ऑब्जेक्ट की मदद से, तारीख को अलग-अलग फ़ॉर्मैट में भी पाया जा सकता है. ज़्यादा जानकारी के लिए, JavaScript ऑब्जेक्ट मॉडल देखें.
(APIRT-2886)
Java कॉलआउट JAR वर्शन की जांच करना
किसी एपीआई प्रॉक्सी में Java JAR संसाधन अपलोड करते समय, अगर Java संसाधन का वर्शन, Edge के साथ काम करने वाले Java के वर्शन के साथ काम नहीं करता है, तो HTTP 400 स्टेटस कोड दिखता है. यह कोड, 500 के बजाय दिखता है. Edge के साथ काम करने वाले Java के वर्शन की जानकारी, सपोर्ट किए गए सॉफ़्टवेयर और सपोर्ट किए गए वर्शन में दी गई है. (MGMT-3420)
एपीआई प्रॉक्सी रिसॉर्स की पुष्टि करना
अगर आपके पास एनवायरमेंट या संगठन के स्कोप में सेव की गई एपीआई प्रॉक्सी रिसॉर्स फ़ाइलें (जैसे कि JavaScript या Java JAR) हैं, तो पुष्टि करने वाले फ़्रेमवर्क को अब यह ज़रूरी नहीं है कि आप उन रिसॉर्स को एपीआई प्रॉक्सी लेवल पर भी शामिल करें. ऐसा इसलिए, ताकि इंपोर्ट करने के लिए प्रॉक्सी बंडल में पुष्टि की जा सके. अब संसाधन की पुष्टि, इंपोर्ट करने के समय नहीं, बल्कि डिप्लॉय करने के समय होती है. (MGMT-1430)
अलग-अलग एपीआई प्रॉक्सी के लिए टाइमआउट कॉन्फ़िगर करना
एपीआई प्रॉक्सी को कॉन्फ़िगर किया जा सकता है, ताकि वे तय समय के बाद टाइम आउट हो जाएं. ऐसा करने पर, 504 गेटवे टाइमआउट स्टेटस दिखेगा. इसका मुख्य इस्तेमाल Private Cloud के उन ग्राहकों के लिए है जिनके पास ऐसी एपीआई प्रॉक्सी हैं जिन्हें एक्ज़ीक्यूट होने में ज़्यादा समय लगता है. उदाहरण के लिए, मान लें कि आपको कुछ प्रॉक्सी के लिए टाइम आउट की अवधि तीन मिनट सेट करनी है. एपीआई प्रॉक्सी के कॉन्फ़िगरेशन में, नई api.timeout प्रॉपर्टी का इस्तेमाल किया जा सकता है. यहां तीन मिनट के उदाहरण के साथ, इसे करने का तरीका बताया गया है:
- सबसे पहले, लोड बैलेंसर, राऊटर, और मैसेज प्रोसेसर को तीन मिनट के बाद टाइम आउट होने के लिए कॉन्फ़िगर करें.
- इसके बाद, काम की प्रॉक्सी को तीन मिनट में टाइम आउट होने के लिए कॉन्फ़िगर करें. वैल्यू को मिलीसेकंड में डालें. उदाहरण के लिए:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ... - हालांकि, ध्यान दें कि सिस्टम के टाइमआउट को बढ़ाने से परफ़ॉर्मेंस से जुड़ी समस्याएं हो सकती हैं. ऐसा इसलिए होता है, क्योंकि api.timeout सेटिंग के बिना सभी प्रॉक्सी, नए और ज़्यादा लोड बैलेंसर, राऊटर, और मैसेज प्रोसेसर के टाइमआउट का इस्तेमाल करती हैं. इसलिए, उन एपीआई प्रॉक्सी को कॉन्फ़िगर करें जिनके लिए ज़्यादा समय की समयसीमा की ज़रूरत नहीं है, ताकि वे कम समयसीमा का इस्तेमाल कर सकें. उदाहरण के लिए, यहां एपीआई प्रॉक्सी को एक मिनट के बाद टाइम आउट होने के लिए सेट किया गया है:
<Property name="api.timeout">60000</Property>
क्लाउड ग्राहकों के पास Edge के टाइमआउट में बदलाव करने का विकल्प नहीं होता. हालांकि, वे एपीआई प्रॉक्सी के टाइमआउट को कॉन्फ़िगर कर सकते हैं. ऐसा तब तक किया जा सकता है, जब तक टाइमआउट, Edge के मैसेज प्रोसेसर के स्टैंडर्ड टाइमआउट (57 सेकंड) से कम हो.
वैरिएबल का इस्तेमाल करके वैल्यू नहीं भरी जा सकती. इस प्रॉपर्टी के बारे में एंडपॉइंट प्रॉपर्टी के रेफ़रंस में बताया गया है. (APIRT-1778)
मैसेज लॉग करने के लिए TLS/SSL नीति
<KeyStore> और <TrustStore> को मैसेज लॉगिंग की नीति के तहत SSLInfo कॉन्फ़िगरेशन में सेट किया जा सकता है. इससे लॉगिंग सेवा के साथ एक-तरफ़ा और दो-तरफ़ा टीएलएस/एसएसएल की अनुमति मिलती है. मैसेज लॉगिंग की नीति पर SSLInfo को उसी तरह कॉन्फ़िगर किया जाता है जिस तरह प्रॉक्सी
TargetEndpoint पर किया जाता है. हालांकि, मैसेज लॉगिंग टीएलएस/एसएसएल सिर्फ़ टीसीपी प्रोटोकॉल के साथ काम करता है.
(APIRT-1858)
गड़बड़ियां ठीक की गईं
इस रिलीज़ में इन बग को ठीक किया गया है. यह सूची मुख्य रूप से उन उपयोगकर्ताओं के लिए है जो यह देखना चाहते हैं कि उनके सहायता टिकट ठीक किए गए हैं या नहीं. इसे सभी उपयोगकर्ताओं के लिए, ज़्यादा जानकारी देने के लिए डिज़ाइन नहीं किया गया है.
| समस्या आईडी | ब्यौरा |
|---|---|
| SECENG-609 | भरोसेमंद स्टोर से जुड़े डेटा को मिटाने के दौरान या भरोसेमंद स्टोर में मौजूद मान्य सर्टिफ़िकेट को मिटाने के दौरान, रनटाइम कॉल फ़ेल नहीं होने चाहिए |
| MGMT-3404 | Node.js लॉग देखने/फिर से पाने और प्रॉक्सी डिप्लॉय करने की प्रोसेस बहुत धीमी है |
| MGMT-3400 | अगर कॉल करने वाले उपयोगकर्ता के नाम में "+" का निशान है, तो /userroles management API को कॉल नहीं किया जा सकता |
| MGMT-3368 | java.lang.ArrayIndexOutOfBoundsException: 1, when importing an API Proxy bundle that contains resources/node/resources directory |
| MGMT-3364 | OAuthV2: redirect_uri की जांच |
| MGMT-3319 | वॉल्ट में मौजूद उन एंट्री की सूची नहीं बनाई जा सकती जिनमें से किसी एक एंट्री में शून्य वैल्यू है. यह सुविधा, संगठनों (सीपीएस और नॉन-सीपीएस) के लिए काम नहीं करती |
| MGMT-3226 | संगठन/एनवायरमेंट लेवल पर क्वेरी करने से, पूरा डेटा नहीं दिखना चाहिए. ऐसा होने पर, एपीआई काम नहीं करेगा Release_160302 में एक बग था. इसमें, अगर संसाधनों का कुल साइज़ 16 एमबी से ज़्यादा है, तो संगठन-लेवल/एनवायरमेंट लेवल पर संसाधनों की लिस्टिंग नहीं हो पाती थी. इस समस्या को ठीक कर दिया गया है. |
| AXAPP-2429 | response_status_code का इस्तेमाल करने वाला Analytics API, डेटा ऐक्सेस करने से जुड़ी गड़बड़ी दिखाता है |
| AXAPP-2386 | Analytics की रोज़ की ईमेल रिपोर्ट में, कॉन्टेंट न दिखने की समस्या ठीक करना |
| AXAPP-2347 | Analytics की रोज़ की खास जानकारी वाले ईमेल नहीं मिल रहे हैं |
| APIRT-3141 | Java कॉलआउट, new ExecutionResult() को कॉल करते समय काम नहीं करते, क्योंकि कंस्ट्रक्टर को निजी बना दिया गया है |
| APIRT-3140 | HEAD API कॉल में ServiceCallout नीति काम नहीं कर रही है |
| APIRT-3131 | एपीआई प्रॉक्सी के लिए, createdBy फ़ील्ड में गलत वैल्यू दिखती है. ऐसा तब होता है, जब कमाई करने की सुविधा के साथ-साथ, बाहरी पुष्टि करने वाली कंपनी की सुविधा का इस्तेमाल किया जा रहा हो |
| APIRT-3121 | संगठन के संसाधन फ़ाइल में किए गए बदलाव पूरी तरह से लागू नहीं हुए हैं |
| APIRT-3117 | एमपी ने 100% सीपीयू का इस्तेमाल किया और ट्रैफ़िक दिखाना बंद कर दिया |
| APIRT-3016 | डप्लॉयमेंट पर राऊटर की "कॉल टाइम आउट हो गया" गड़बड़ियां |
| APIRT-2975 | सर्टिफ़िकेट बंडल अपलोड नहीं हो सका |
| APIRT-2955 | FHIR के मुताबिक कॉन्टेंट-टाइप हेडर 'application/json+fhir' के लिए, JSON रिस्पॉन्स डेटा के कुछ एट्रिब्यूट को मास्क नहीं किया जा सका |
| APIRT-2946 | OAuthV2-RefreshToken नीति में एट्रिब्यूट नहीं छिपाए जा रहे हैं, भले ही डिसप्ले को 'गलत है' पर सेट किया गया हो |
| APIRT-2908 | वर्चुअलहोस्ट पर TLS1.2 अपडेट होने के बाद, इंटरनल एपीआई कॉल के लिए TLS1.2 को लागू करना ज़रूरी है |
| APIRT-2901 | कैश मेमोरी से मिले Gzipped जवाबों को दो बार कंप्रेस किया जाता है |
| APIRT-2873 | MPs, प्रॉडक्ट/डेवलपर/प्रॉक्सी मिटाने के बाद VerifyAPIKey से जुड़ा NullPointerException देते हैं |
| APIRT-2871 | IOIntensive नीतियां, Trace में दो बार दिख रही हैं |
| APIRT-2825 | ऐक्सेसटोकन से जुड़ी गड़बड़ी के जवाब में व्याकरण की गड़बड़ी |
| APIRT-2750 | किसी खास संगठन में ट्रैफ़िक से जुड़ी समस्याएं ज़्यादा हैं |
| APIRT-2685 | अनजान गड़बड़ी की वजह से ट्रैफ़िक नहीं मिल रहा है |
| APIRT-2647 | "इनपुट स्ट्रीम से कोई डेटा नहीं मिला" गड़बड़ी, जिसमें nonprod/dev शामिल है |
| APIRT-2630 | कैश मेमोरी से वैल्यू पढ़ने की कोशिश करते समय, कुछ समय के लिए समस्याएं आना |
| APIRT-2620 | कुछ ब्लॉकिंग चरणों के लिए अलग थ्रेड पूल |
| APIRT-2610 | Response Cache नीति के साथ java.lang.ClassCastException |
| APIRT-2608 | रिस्पॉन्स कैश करने की नीतियों में Last-Modified हेडर को पार्स करने के दौरान हुई गड़बड़ी |
| APIRT-2605 | नीतियों के ज़रिए"संगठन" और "एनवायरमेंट" वैरिएबल को ओवरराइट करने की अनुमति नहीं होनी चाहिए |
| APIRT-2566 | OAuthV2 नीति, गलत फ़ॉर्मैट वाला WWW-Authenticate हेडर दिखाती है |
| APIRT-2491 | मैनेजमेंट और एमपीएस के बीच आरपीसी टाइमआउट की वजह से TargetServer अपडेट नहीं हो सका |
| APIRT-2386 | एपीआई प्रॉडक्ट में खाली स्ट्रिंग वाला स्कोप बनाया गया है. इसमें OAuth के लिए अनुमति वाले स्कोप खाली हैं |
| APIRT-2383 | XSL ट्रांसफ़ॉर्मेशन की नीतियां, गड़बड़ी होने पर कोई डेटा लॉग नहीं करती हैं |
| APIRT-2364 | गड़बड़ी होने पर, OAuth फ़ॉल्ट फ़्लो के वैरिएबल अपडेट नहीं हो रहे हैं |
| APIRT-2216 | सर्वर से भेजे गए इवेंट - प्रोडक्शन में इवेंट स्ट्रीम से जुड़ी समस्याएं |
| APIRT-2079 | टाइमआउट खत्म होने के बाद भी, बनाए गए सेशन के लिए cURL कॉल को डीबग करने की प्रोसेस बंद नहीं हो रही है |
| APIRT-1495 | एक्सएमएल की सुरक्षा से जुड़ी सुविधा, fhir Content-Type का पता नहीं लगा रही है |
| APIRT-347 | XSL नीति को इंपोर्ट करने पर, उसकी पुष्टि सही तरीके से नहीं की जाती. साथ ही, दस्तावेज़ में बताए गए तरीके के मुताबिक, आउटपुट वैरिएबल को नतीजे असाइन नहीं किए जाते |