मैसेज फ़्लो वैरिएबल

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

message फ़्लो वैरिएबल और उसकी प्रॉपर्टी का ऐक्सेस, एपीआई प्रॉक्सी फ़्लो में उस पॉइंट पर निर्भर करता है जहां इसे ऐक्सेस किया जाता है. यह सभी कॉन्टेक्स्ट में उपलब्ध है, जबकि कुछ ऑब्जेक्ट, जैसे कि request या response उपलब्ध नहीं हैं.

उपयोग के उदाहरण

message फ़्लो वैरिएबल का मुख्य इस्तेमाल तब होता है, जब आपका प्रॉक्सी, गड़बड़ी वाले फ़्लो में शामिल होता है. इस स्थिति में, request और response फ़्लो वैरिएबल का इस्तेमाल नहीं किया जा सकता.

उदाहरण के लिए, गड़बड़ी वाले फ़्लो में response ऑब्जेक्ट उपलब्ध नहीं है. अगर आप गड़बड़ी वाले फ़्लो में हैं, तो JavaScript नीति का इस्तेमाल करके, response ऑब्जेक्ट पर रिस्पॉन्स हेडर सेट नहीं किए जा सकेंगे. इसके बजाय, इनमें से किसी एक का इस्तेमाल किया जा सकता है:

ये दोनों ऑब्जेक्ट, गड़बड़ी वाले फ़्लो में उपलब्ध होते हैं. इनका इस्तेमाल, JavaScript नीति के तहत रिस्पॉन्स हेडर सेट करने के लिए किया जा सकता है. साथ ही, इन्हें उन अन्य नीतियों में ऐक्सेस किया जा सकता है जो फ़्लो वैरिएबल का इस्तेमाल कर सकती हैं.

response ऑब्जेक्ट को हेडर जैसी वैल्यू असाइन करने के लिए, AssignMessage नीति का इस्तेमाल किया जा सकता है. Assign Message, अनुरोध/जवाब के फ़्लो से गड़बड़ी के फ़्लो में कॉन्टेक्स्ट को अपने-आप स्विच कर देता है.

message वैरिएबल का एक और इस्तेमाल, MessageLogging नीति के साथ PostClientFlow में रिस्पॉन्स डेटा को लॉग करना है. message ऑब्जेक्ट का इस्तेमाल करने पर, प्रॉक्सी में सफलता और गड़बड़ी, दोनों स्थितियों में जवाब की जानकारी आसानी से लॉग की जा सकती है.

उदाहरण

गड़बड़ी वाले फ़्लो में, error या message का इस्तेमाल करके, JavaScript नीति से रिस्पॉन्स हेडर सेट किया जा सकता है. उदाहरण के लिए:

context.setVariable('error.header.FOO-1', 'error_header');

या

context.setVariable('message.header.FOO-2', 'message_header');

हालांकि, यह एक्सप्रेशन काम नहीं करेगा:

context.setVariable('response.header.FOO-3', 'response_header');

इस मामले में, गड़बड़ी के फ़्लो में response वैरिएबल का इस्तेमाल नहीं किया जा सकता. (ध्यान दें कि ट्रेस में, इसे विज़ुअल तौर पर ऐसे वैरिएबल से दिखाया जाता है जिनके साथ बराबर का निशान होता है और उस पर स्लैश होता है.)

एक ही नीति में सफलता और गड़बड़ी, दोनों फ़्लो के लिए रिस्पॉन्स हेडर सेट करने के लिए, JavaScript नीति में message का इस्तेमाल किया जा सकता है. उदाहरण के लिए:

<faultrules>
  <faultrule name="invalid_key_rule">
    <step>
      <name>SetResponseHeaders</name>
    </step>
    <condition>(fault.name = "InvalidApiKey")</condition>
  </faultrule>
</faultrules>

नीति में, इस तरह का कोड किसी भी फ़्लो कॉन्टेक्स्ट में गड़बड़ी/रिस्पॉन्स हेडर सेट करता है:

context.setVariable('message.header.FOO-1', 'the header value');

इस नीति का इस्तेमाल, सामान्य ProxyResponse फ़्लो पर भी किया जा सकता है. यह नीति लागू हो जाएगी, क्योंकि message सभी कॉन्टेक्स्ट में उपलब्ध है.