mesaj akışı değişkeni

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

message akış değişkenine ve özelliklerine erişim, API Proxy Akışı içinde erişildiği noktaya bağlıdır. Tüm bağlamlarda kullanılabilir. Ancak request veya response gibi bazı nesnelerde kullanılamaz.

Kullanım alanları

message akış değişkeninin temel kullanım alanı, proxy'nizin hata akışına girmesidir: request ve response akış değişkenleri kapsam dışındadır.

Örneğin, hata akışında response nesnesi bulunmaz. Hata akışındaysanız JavaScript politikasıyla response nesnesinde yanıt başlıkları ayarlayamazsınız. Bunun yerine, aşağıdakilerden birini kullanabilirsiniz:

Bu nesnelerin her ikisi de hata akışında kullanılabilir ve bir JavaScript politikası içinden yanıt başlıkları ayarlamak veya akış değişkenlerini kullanabilen diğer politikalardan bunlara erişmek için kullanılabilir.

assignMessage politikasını kullanarak üstbilgiler gibi değerleri yanıt nesnesine atayabilirsiniz. Mesajlar, istek/yanıt akışından hata akışına geçişi bağlam içinde otomatik olarak işler.

message değişkeninin bir başka kullanım alanı da MessageLogging politikasıyla PostClientFlow'da yanıt verilerinin günlüğe kaydedilmesidir. message nesnesini kullanırsanız proxy'de hem başarı hem de hata koşullarını takip ederek yanıt bilgilerini sorunsuz bir şekilde günlüğe kaydedebilirsiniz.

Örnekler

Hata akışında error veya message kullanarak JavaScript politikasından yanıt başlığı ayarlayabilirsiniz. Örneğin:

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

VEYA

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

Ancak aşağıdaki ifade kullanılamaz:

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

Bu durumda, response değişkeni hata akışında kapsam dışındadır. (Bir izde, bunun görsel olarak üzerinden eğik çizgiyle eşittir işaretiyle gösterilen değişkenlerle belirtildiğini unutmayın.)

Tek bir politikada hem başarılı hem de hata akışları için yanıt başlıkları ayarlamak üzere JavaScript politikasında message kullanılabilir. Örneğin:

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

Politikada aşağıdaki gibi bir kod, herhangi bir akış bağlamında hata/yanıt başlığını ayarlar:

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

Bu politikayı normal ProxyResponse akışında yeniden kullanabilirsiniz. message tüm bağlamlarda kullanılabildiğinden başarılı olur.