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ışında erişildiği noktaya bağlıdır. Bu özellik tüm bağlamlarda kullanılabilirken request veya response gibi bazı nesneler kullanılamaz.
Kullanım alanları
message akış değişkeninin temel kullanım alanı, proxy'nizin hata akışına girdiği zamandır. request ve response akış değişkenleri kapsam dışındadır.
Örneğin, hata akışında response nesnesi kullanılamaz. Hata akışındaysanız JavaScript politikası ile 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 JavaScript politikasından yanıt başlıklarını ayarlamak veya akış değişkenlerini kullanabilen diğer politikalarda erişmek için kullanılabilir.
Üstbilgiler gibi değerleri yanıt nesnesine atamak için AssignMessage politikasını kullanabilirsiniz. Assign Message, istek/yanıt akışından hata akışına geçişi otomatik olarak yönetir.
message değişkeninin bir diğer kullanım alanı da MessageLogging politikası ile PostClientFlow'da yanıt verilerini kaydetmektir. message nesnesini kullanıyorsanız hem başarı hem de hata koşullarının ardından yanıt bilgilerini proxy'de sorunsuz bir şekilde günlüğe kaydedebilirsiniz.
Örnekler
Bir hata akışında, error veya message kullanarak bir 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 çalışmaz:
context.setVariable('response.header.FOO-3', 'response_header');Bu durumda, response değişkeni hata akışının kapsamı dışındadır. (İzleme işleminde bunun, üzerinde eğik çizgi olan eşittir işaretiyle gösterilen değişkenlerle görsel olarak belirtildiğini unutmayın.)
Tek bir politikada hem başarı hem de hata akışları için yanıt üstbilgilerini ayarlamak üzere JavaScript politikası içinde message kullanabilirsiniz. Ö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 üstbilgisini ayarlar:
context.setVariable('message.header.FOO-1', 'the header value');Bu politikayı normal ProxyResponse akışında yeniden kullanabilirsiniz. message tüm bağlamlarda kullanılabilir olduğundan bu işlem başarılı olur.