Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Bu bölümde, API proxy akışları.
Hiyerarşi ve söz dizimi
Aşağıdaki örneklerde öğe hiyerarşisi ve akış yapılandırmasının söz dizimi gösterilmektedir öğeler:
Öğe Hiyerarşisi
Aşağıdaki örnekte,
<ProxyEndpoint>
ve <TargetEndpoint>
öğeleri:
<ProxyEndpoint | TargetEndpoint><PreFlow>
<Request>
<Step>
<Condition>
<Name>
<Response>
<Step>
<Condition>
<Name>
<Description>
<Flows>
<Flow>
<Description>
<Condition>
<Request>
<Step>
<Response>
<Step>
<Description>
<PostFlow>
<Request>
<Step>
<Response>
<Step>
<Description>
<PostClientFlow>
(<ProxyEndpoint> only)<Response>
<Description>
// Additional configuration elements </ProxyEndpoint | TargetEndpoint>
Söz dizimi
Aşağıdaki örnekte akış yapılandırma öğelerinin söz dizimi gösterilmektedir. Bunların her biri öğeleri aşağıdaki bölümlerde ayrıntılı olarak açıklanmıştır:
<!-- ProxyEndpoint flow configuration file --> <ProxyEndpoint ... > ... <PreFlow name="flow_name"> <Description>flow_description</Description> <Request> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Request> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </PreFlow> <Flows name="flow_name"> <Flow name="conditional_flow_name"> <Description>flow_description</Description> <Condition>property operator "value"</Condition> <Request> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Request> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </Flow> </Flows> <PostFlow name="flow_name"> <Description>flow_description</Description> <Request> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Request> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </PostFlow> <PostClientFlow name="flow_name"> <Description>flow_description</Description> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </PostClientFlow> ... </ProxyEndpoint> <!-- TargetEndpoint flow configuration file --> <TargetEndpoint ... > ... <PreFlow name="flow_name"> <Description>flow_description</Description> <Request> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Request> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </PreFlow> <Flows name="flow_name"> <Flow name="conditional_flow_name"> <Description>flow_description</Description> <Condition>property operator "value"</Condition> <Request> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Request> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </Flow> ... </Flows> <PostFlow name="flow_name"> <Description>flow_description</Description> <Request> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Request> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </PostFlow> ... </TargetEndpoint>
PreFlow, Koşullu Akışı, PostFlow ve PostClientFlow'u tanımlamak için bu öğeleri kullanırsınız birkaç adım var.
<Condition>
Çalışma zamanında işlenen bir ifadeyi tanımlar. İfade true ise koşulla ilişkili adım veya akış yürütülür. Öğe ifadesi yanlış olarak değerlendirilirse adım veya akış yok sayılır.
Tür | Dize |
Üst Öğeler | <Flow> <Step> |
Alt Öğeler | Yok |
Hangi ayarı kullandığınıza bağlı olarak, bir koşulu belirli bir adıma veya akışın tamamına uygulayabilirsiniz.
<Flow>
veya <Step>
öğesindeki öğe:
// Condition can apply to just one step: // Or to the flow:<Flows>
<Flows>
<Flow>
<Flow>
<Step>
<Condition>
<Condition>
<Step>
<Name>
<Name>
... ... ... ... ... ... </Flows> </Flows>
<Step>
içindeki bir koşul doğru olarak değerlendirilirse Edge bu adımı yürütür. Koşul
değeri yanlış olarak değerlendirilir. Edge, bu adımı atlar.
<Flow>
içindeki bir koşul doğru olarak değerlendirilirse Edge, akıştaki tüm adımları işler. Eğer
koşul yanlış olarak değerlendirilir. Edge, akışın tamamını atlar.
Söz dizimi
<Condition>
öğesi şu söz dizimini kullanır:
<Condition>property operator "value"</Condition>
Burada:
- property
- Reklam öğenizde kullanmak istediğiniz akış değişkeni özelliği
koşul. Örneğin,
request
akış değişkeni şu ada sahip özelliklere sahiptir:path
vecontent
. Bunları bir koşulda kullanmak için flow_variable[nokta]property_name:request.path request.content
Akış değişkenlerinin ve özelliklerinin tam listesi için Akış değişkenleri referansı.
- operator
- Koşulunuzun nasıl değerlendirildiğini tanımlayan bir yapı. Genel
operatörler şunları içerir:
> greater than <= less than or equal to < less than >= greater than or equal to = equals && and != not equals || or ~~ JavaRegex ~ Matches /~ MatchesPath
.Tam liste için bkz. Operatörler Koşullar referansı.
- "value"
- Akış değişkeni özelliğinin değerlendirildiği değer. Bu genellikle bir (tam sayı veya dize gibi temel bir tür olmalıdır). Örneğin, 200 veya "/kedi". Değer, kalıp eşleştirme için yıldız işaretleri ve diğer karakterler gibi joker karakterler ekleme şurada açıklandığı: Koşullarla kalıp eşleştirme.
1. Örnek
Aşağıdaki örnekte, request
akış değişkeninin verb
olup olmadığı kontrol edilir
özelliği "GET" şeklindedir:
<!-- api-platform/reference/examples/flow-segments/condition-1.xml --> <ProxyEndpoint name="default"> <PreFlow name="my-preFlows"> <Description>My first PreFlow</Description> <Request> <Step> <Condition>request.verb = "GET"</Condition> <Name>Log-Request-OK</Name> </Step> </Request> </PreFlow> ... </ProxyEndpoint>
İstek bir "GET" ise bu örnek, "Log-Request-OK"i yürütür politikası.
2. Örnek
Aşağıdaki örnekte yanıt kodu kontrol edilir:
<!-- api-platform/reference/examples/flow-segments/condition-2.xml --> <ProxyEndpoint name="default"> <PreFlow name="my-preFlows"> <Description>My first PreFlow</Description> <Response> <Step> <Condition>response.status.code LesserThanOrEquals 300</Condition> <Name>Log-Response-OK</Name> </Step> <Step> <Condition>response.status.code GreaterThan 300</Condition> <Name>Log-Response-NOT-OK</Name> </Step> </Response> </PreFlow> ... </ProxyEndpoint>
Kodun değerine bağlı olarak farklı bir politika yürütülür.
Özellikler
<Condition>
öğesinin özelliği yok.
Alt Öğeler
<Condition>
öğesinin alt öğesi yok.
<Description>
Akışı, kullanıcıların okuyabileceği şekilde açıklar. Bu öğeyi aktaracağım. Açıklama harici olarak gösterilmez.
Tür | Dize |
Üst Öğeler | <Flow> <PreFlow> <PostFlow> |
Alt Öğeler | Yok |
Söz dizimi
<Description>
öğesi şu söz dizimini kullanır:
<Description>flow_description</Description>
Örnek
Aşağıdaki örnekte<Description>
akış:
<!-- api-platform/reference/examples/flow-segments/description-1.xml --> <ProxyEndpoint name="default"> <Flows name="my-conditional-flows"> <Flow name="reports"> <Request> <Description>Based on the path suffix, determine which flow to use</Description> <Step> <Condition>proxy.pathsuffix MatchesPath "/reports"</Condition> <Name>XML-to-JSON-1</Name> </Step> <Step> <Condition>proxy.pathsuffix MatchesPath "/forecasts"</Condition> <Name>XML-to-JSON-1</Name> </Step> </Request> </Flow> </Flows> ... </ProxyEndpoint>
Özellikler
<Description>
öğesinin özelliği yok.
Alt Öğeler
<Description>
öğesinin alt öğesi yok.
<Flow>
Edge'in yürüttüğü özel bir adım grubu tanımlar.
Tür | Karmaşık nesne |
Üst Öğeler | <Flows> |
Alt Öğeler | <Condition> <Description> <Request> <Response> |
İsterseniz <Flow>
için bir <Condition>
belirtebilirsiniz. Bu durumda, Edge yalnızca
koşul doğru olarak değerlendirilirse akıştaki adımları içerir. Aksi takdirde, Edge
akışı sağlar.
Bir <Flows>
öğesi, her biri kendi koşuluna sahip birden fazla <Flow>
öğesi içerebilir
adım adım anlatılmıştır. Birden fazla <Flow>
öğesi olduğunda, Edge yalnızca içinde yer alan ilk öğeyi yürütür.
koşul yoktur veya koşul doğru olarak değerlendirilir.
Her zaman çalışan bir varsayılan akış tanımlayabilirsiniz (diğer koşullu akışların hiçbiri çalışmadıysa). API proxy'nizin nasıl yapılandırıldığına bağlı olarak bu, kötü amaçlı yazılımlara karşı koruma saldırılarını kapsamaktadır.
Söz dizimi
<Flow>
öğesi şu söz dizimini kullanır:
<Flow name="conditional_flow_name"> <Description>flow_description</Description> <Condition>property operator "value"</Condition> <Request> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Request> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </Flow>
<Flow>
öğesinin tüm alt öğeleri isteğe bağlıdır.
1. Örnek
Aşağıdaki örnekte her zaman "Log-Message-OK" yürütülen basit bir <Flow>
gösterilmektedir
politika:
<!-- api-platform/reference/examples/flow-segments/flow-1.xml --> <ProxyEndpoint name="default"> <Flows name="my-flow"> <Flow> <Request> <Step> <Name>Log-Message-OK</Name> </Step> </Request> </Flow> </Flows> ... </ProxyEndpoint>
2. Örnek
Aşağıdaki örnekte her biri kendi adıma sahip birden çok adım içeren bir <Flow>
gösterilmektedir
koşul:
<!-- api-platform/reference/examples/flow-segments/flow-2.xml --> <ProxyEndpoint name="default"> <Flows name="my-conditional-flows"> <Flow name="reports"> <Request> <Description>Based on the path suffix, determine which flow to use</Description> <Step> <Condition>proxy.pathsuffix MatchesPath "/reports"</Condition> <Name>XML-to-JSON-1</Name> </Step> <Step> <Condition>proxy.pathsuffix MatchesPath "/forecasts"</Condition> <Name>Verify-Auth-1</Name> </Step> </Request> </Flow> </Flows> ... </ProxyEndpoint>
3. Örnek
Aşağıdaki örnekte bir Koşullu Akıştaki birden fazla akış gösterilmektedir:
<!-- api-platform/reference/examples/flow-segments/flows-2.xml --> <ProxyEndpoint name="default"> <Flows> <Flow name="my-flow-1"> <Response> <Step> <Condition>response.status.code = 200</Condition> <Name>Assign-Message-1</Name> </Step> </Response> </Flow> <Flow name="my-flow-2"> <Response> <Step> <Condition>response.status.code >= 400</Condition> <Name>Assign-Message-2</Name> </Step> </Response> </Flow> <Flow name="my-flow-3"> <Response> <Step> <Condition>response.status.code >= 300</Condition> <Name>Assign-Message-3</Name> </Step> </Response> </Flow> </Flows> ... </ProxyEndpoint>
Edge, bir segmentte yalnızca bir akış yürütür. şuna sahip olmayan ilk akışı yürütür: durumu doğru olarak çözümlenen bir koşulu yoktur.
Özellikler
Aşağıdaki tabloda <Flow>
öğesinin özellikleri açıklanmaktadır:
Özellik | Tür | Açıklama |
---|---|---|
name |
Dize | (Gerekli) Akış için benzersiz bir kimlik. Örneğin, "My-Conditional-Flow-1". Ad, boşluk veya başka özel karakterler içeremez. |
Alt Öğeler
Aşağıdaki tabloda <Flow>
alt öğeleri açıklanmaktadır:
Alt Öğe | Tür | Açıklama |
---|---|---|
<Condition> |
Dize | Çalışma zamanında işlenen bir koşullu ifadeyi tanımlar. İfadede doğru değerine ayarlanırsa akış (ve tüm adımları) yürütülür. İfade false ise akış (ve tüm adımları) yoksayılır. |
<Description> |
Dize | Akışla ilgili kısa bir açıklama sağlar. Bu açıklama harici değil görünür. |
<Request> |
Karmaşık nesne | İstek segmenti için adımları ve koşulları belirtir. |
<Response> |
Karmaşık nesne | Yanıt segmenti için adımları ve koşulları belirtir. |
<Flows>
Sıfır veya daha fazla <Flow>
öğe içerir.
Tür | Karmaşık nesne |
Üst Öğeler | <ProxyEndpoint> <TargetEndpoint> |
Alt Öğeler | <Flow> |
<Flows>
içinde birden fazla <Flow>
öğesi varsa yalnızca bir <Flow>
yürütülür. Bu
<Condition>
içermeyen veya koşulu çözümlenen ilk akış olur
doğrudur.
Her zaman çalışan bir varsayılan akış tanımlayabilirsiniz (diğer akışlardan hiçbiri çalışmadıysa). API proxy'nizin nasıl yapılandırıldığına bağlı olarak bu, kötü amaçlı yazılımlara karşı koruma saldırılarını kapsamaktadır.
Söz dizimi
<Flows>
öğesi şu söz dizimini kullanır:
<Flows name="flow_name"> <Flow name="conditional_flow_name"> <Description>flow_description</Description> <Condition>property operator "value"</Condition> <Request> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Request> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </Flow> </Flows>
<Flows>
öğesinin tüm alt öğeleri isteğe bağlıdır.
1. Örnek
Aşağıdaki örnekte tek bir <Flow>
içeren basit bir <Flows>
öğesi gösterilmektedir:
<!-- api-platform/reference/examples/flow-segments/flows-1.xml --> <ProxyEndpoint name="default"> <Flows name="my-conditional-flows"> <Flow name="reports"> <Request> <Description>Based on the path suffix, determine which flow to use</Description> <Step> <Condition>proxy.pathsuffix MatchesPath "/reports"</Condition> <Name>XML-to-JSON-1</Name> </Step> <Step> <Condition>proxy.pathsuffix MatchesPath "/forecasts"</Condition> <Name>Verify-Auth-1</Name> </Step> </Request> </Flow> </Flows> ... </ProxyEndpoint>
Edge,
proxy
akış değişkeni. Yol soneki bu koşulların ikisiyle de eşleşmiyorsa
Edge bu akışı yürütmez.
2. Örnek
Aşağıdaki örnekte, <Flows>
içinde her biri kendine ait olan birden fazla <Flow>
öğesi gösterilmektedir
<Condition>
:
<!-- api-platform/reference/examples/flow-segments/flows-2.xml --> <ProxyEndpoint name="default"> <Flows> <Flow name="my-flow-1"> <Response> <Step> <Condition>response.status.code = 200</Condition> <Name>Assign-Message-1</Name> </Step> </Response> </Flow> <Flow name="my-flow-2"> <Response> <Step> <Condition>response.status.code >= 400</Condition> <Name>Assign-Message-2</Name> </Step> </Response> </Flow> <Flow name="my-flow-3"> <Response> <Step> <Condition>response.status.code >= 300</Condition> <Name>Assign-Message-3</Name> </Step> </Response> </Flow> </Flows> ... </ProxyEndpoint>
Edge, koşulu doğru olarak değerlendirilen bir segmentte yalnızca ilk akışı yürütür. Şu tarihten sonra: Böylece, Edge segmentteki kalan akışları atlar.
3. Örnek
Aşağıdaki örnekte bir "default" (varsayılan) değeri gösterilmektedir <Flow>
:
<!-- api-platform/reference/examples/flow-segments/flows-3.xml --> <ProxyEndpoint name="default"> <Flows> <Flow name="my-conditional-flow-1"> <Response> <Step> <Condition>response.status.code = 200</Condition> <Name>Assign-Message-1</Name> </Step> </Response> </Flow> <Flow name="my-conditional-flow-2"> <Response> <Step> <Condition>response.header.someheader = "42"</Condition> <Name>Assign-Message-2</Name> </Step> </Response> </Flow> <Flow name="my-default-flow"> <Response> <Step> <Name>Assign-Message-3</Name> </Step> </Response> </Flow> </Flows> ... </ProxyEndpoint>
Edge, koşulu doğru olarak değerlendirilen bir segmentte yalnızca ilk akışı yürütür. Eğer hiçbir koşullu akış yürütülmez, ardından bu örnekteki üçüncü akış (koşul olmadan) yürütülür.
Varsayılan akış, proje yönetiminde kötü amaçlı yazılımlara karşı koruma saldırılarını kapsamaktadır.
Özellikler
<Flows>
öğesinin özelliği yok.
Alt Öğeler
<Flows>
öğesi aşağıdaki alt öğelere sahiptir:
Alt Öğe | Tür | Açıklama |
---|---|---|
<Flow> |
Karmaşık nesne | Koşullu Akış içindeki olası bir adım grubunu tanımlayan akış. |
<Name>
<Flow>
içinde yürütülecek politikanın kimliğini belirtir.
Tür | Dize |
Üst Öğeler | <Step> |
Alt Öğeler | Yok |
Söz dizimi
<Name>
öğesi şu söz dizimini kullanır:
<Name>policy_name</Name>
Örnek
Aşağıdaki örnekte, akışlara adlarına göre eklenen iki politika gösterilmektedir:
<!-- api-platform/reference/examples/flow-segments/name-1.xml --> <ProxyEndpoint name="default"> <Flows name="my-conditional-flows"> <Flow name="reports"> <Request> <Description>Based on the path suffix, determine which flow to use</Description> <Step> <Condition>proxy.pathsuffix MatchesPath "/reports"</Condition> <Name>XML-to-JSON-1</Name> </Step> <Step> <Condition>proxy.pathsuffix MatchesPath "/forecasts"</Condition> <Name>Verify-Auth-1</Name> </Step> </Request> </Flow> </Flows> ... </ProxyEndpoint>
Özellikler
<Name>
öğesinin özelliği yok.
Alt Öğeler
<Name>
öğesinin alt öğesi yok.
<PostFlow>
İstek ve yanıtın PostFlow'da uygulanması gereken adımları tanımlar.
Tür | Karmaşık nesne |
Üst Öğeler | <ProxyEndpoint> <TargetEndpoint> |
Alt Öğeler | <Description> <Request> <Response> |
<PostFlow>
öğesi şu söz dizimini kullanır:
Söz dizimi
<PostFlow name="flow_name"> <Description>flow_description</Description> <Request> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Request> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </PostFlow>
Örnek
Aşağıdaki örnekte hem istek hem de yanıt için adımları içeren bir PostFlow gösterilmektedir tanımlanır:
<!-- api-platform/reference/examples/flow-segments/postflow-1.xml --> <ProxyEndpoint name="default"> <PostFlow name="my-postflows"> <Description>My first PostFlow</Description> <Request> <Step> <Condition>request.verb = "GET"</Condition> <Name>Log-Request-OK</Name> </Step> </Request> <Response> <Step> <Name>Set-Response-Headers</Name> </Step> </Response> </PostFlow> ... </ProxyEndpoint>
Özellikler
Aşağıdaki tabloda <PostFlow>
öğesinin özellikleri açıklanmaktadır:
Özellik | Tür | Açıklama |
---|---|---|
name |
Dize | Akış için benzersiz bir kimlik (uç nokta içinde benzersiz). Örneğin, "My-PostFlow-1". İlgili içeriği oluşturmak için kullanılan değeri boşluk veya başka özel karakterler içeremez. |
Alt Öğeler
Aşağıdaki tabloda <PostFlow>
alt öğeleri açıklanmaktadır:
Alt Öğe | Tür | Açıklama |
---|---|---|
<Description> |
Dize | Akışla ilgili kısa bir açıklama sağlar. |
<Request> |
Karmaşık nesne | İsteğin PostFlow'u sırasında yürütülecek politikaları tanımlar. |
<Response> |
Karmaşık nesne | Yanıtın PostFlow'u sırasında yürütülecek politikaları tanımlar. |
<PostClientFlow>
ProxyEndpoint'te yalnızca teslim edilir. Bu politikalar genellikle yanıtla ilgili mesajları günlüğe kaydeder.
Tür | Karmaşık nesne |
Üst Öğeler | <ProxyEndpoint> |
Alt Öğeler | <Description> <Response> |
Söz dizimi
<PostClientFlow>
öğesi şu söz dizimini kullanır:
<PostClientFlow name="flow_name"> <Description>flow_description</Description> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </PostClientFlow>
<PostClientFlow>
öğesinin tüm alt öğeleri isteğe bağlıdır.
Örnek
Aşağıdaki örnekte tek bir politika yürüten basit bir PostClientFlow gösterilmektedir:
<!-- api-platform/reference/examples/flow-segments/postclientflow-1.xml --> <ProxyEndpoint name="default"> <PostClientFlow name="my-postclientflows"> <Description>My first PostClientFlow. Processed after the response is sent back to the client.</Description> <Response> <Step> <Name>Message-Logging-OK</Name> </Step> </Response> </PostClientFlow> ... </ProxyEndpoint>
Özellikler
Aşağıdaki tabloda <PostClientFlow>
öğesinin özellikleri açıklanmaktadır:
Özellik | Tür | Açıklama |
---|---|---|
name |
Dize | Akış için benzersiz bir kimlik. Ad, boşluk veya başka özel bir alan içeremez karakteri ekleyin. Örneğin, "My-PostClientFlow-1". |
Alt Öğeler
Aşağıdaki tabloda <PostClientFlow>
alt öğeleri açıklanmaktadır:
Alt Öğe | Tür | Açıklama |
---|---|---|
<Description> |
Dize | Akışla ilgili kısa bir açıklama sağlar. |
<Response> |
Karmaşık nesne | Yanıtın PostFlow'u sırasında yürütülecek politikaları tanımlar. |
<PreFlow>
İstek ve yanıtın PreFlow'da yürütülecek politikaları tanımlar.
Tür | Karmaşık nesne |
Üst Öğeler | <ProxyEndpoint> <TargetEndpoint> |
Alt Öğeler | <Description> <Request> <Response> |
Söz dizimi
<PreFlow>
öğesi şu söz dizimini kullanır:
<PreFlow name="flow_name"> <Description>flow_description</Description> <Request> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Request> <Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response> </PreFlow>
<PreFlow>
öğesinin tüm alt öğeleri isteğe bağlıdır.
Örnek
Aşağıdaki örnekte, istek ve yanıt akışı tanımlanmış bir PreFlow gösterilmektedir:
<!-- api-platform/reference/examples/flow-segments/preflow-1.xml --> <ProxyEndpoint name="default"> <PreFlow name="my-preFlows"> <Description>My first PreFlow</Description> <Request> <Step> <Condition>request.verb = "GET"</Condition> <Name>Log-Request-OK</Name> </Step> </Request> <Response> <Step> <Condition>response.status.code LesserThanOrEquals 300</Condition> <Name>Log-Response-OK</Name> </Step> <Step> <Condition>response.status.code GreaterThan 300</Condition> <Name>Log-Response-NOT-OK</Name> </Step> </Response> </PreFlow> ... </ProxyEndpoint>
Özellikler
Aşağıdaki tabloda <PreFlow>
öğesinin özellikleri açıklanmaktadır:
Özellik | Tür | Açıklama |
---|---|---|
name |
Dize | Akış için benzersiz bir kimlik. Ad, boşluk veya başka özel bir alan içeremez karakteri ekleyin. Örneğin, "My-PreFlow-1". |
Alt Öğeler
Aşağıdaki tabloda <PreFlow>
alt öğeleri açıklanmaktadır:
Alt Öğe | Tür | Açıklama |
---|---|---|
<Description> |
Dize | Akışla ilgili kısa bir açıklama sağlar. |
<Request> |
Karmaşık nesne | İsteğin PreFlow'u sırasında yürütülecek politikaları tanımlar. |
<Response> |
Karmaşık nesne | Yanıtın PreFlow'u sırasında yürütülecek politikaları tanımlar. |
<Request>
Akışın istek segmenti sırasında yürütülecek politikaları tanımlar.
Tür | Karmaşık nesne |
Üst Öğeler | <Flow> <PreFlow> <PostFlow> |
Alt Öğeler | <Condition> <Step> |
Söz dizimi
<Request>
öğesi şu söz dizimini kullanır:
<Request> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Request>
<Request>
öğesinin tüm alt öğeleri isteğe bağlıdır.
Örnek
Aşağıdaki örnekte, istek için hem PreFlow hem de Akış Sonrası:
<!-- api-platform/reference/examples/flow-segments/request-1.xml --> <ProxyEndpoint name="default"> <PreFlow name="my-preFlows"> <Description>My first PreFlow</Description> <Request> <Step> <Condition>request.verb = "GET"</Condition> <Name>Log-Request-OK</Name> </Step> </Request> </PreFlow> <PostFlow name="my-postflows"> <Description>My first PostFlow</Description> <Request> <Step> <Condition>request.verb = "GET"</Condition> <Name>Log-Request-OK</Name> </Step> </Request> </PostFlow> ... </ProxyEndpoint>
Özellikler
<Request>
öğesinin özelliği yok.
Alt Öğeler
Aşağıdaki tabloda <Request>
alt öğeleri açıklanmaktadır:
Alt Öğe | Tür | Açıklama |
---|---|---|
<Condition> |
Karmaşık nesne | İstek segmentindeki adımların yürütülüp yürütülmeyeceğini belirler. |
<Step> |
Dize | İstek segmenti içinde yürütülecek bir politikayı belirtir. |
<Response>
Akışın yanıt segmenti sırasında yürütülecek politikaları tanımlar.
Tür | Karmaşık nesne |
Üst Öğeler | <Flow> <PreFlow> <PostClientFlow> <PostFlow> |
Alt Öğeler | <Condition> <Step> |
Söz dizimi
<Response>
öğesi şu söz dizimini kullanır:
<Response> <Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step> ... </Response>
<Response>
öğesinin tüm alt öğeleri isteğe bağlıdır.
Örnek
Aşağıdaki örnekte, hem PreFlow hem de Akış Sonrası:
<!-- api-platform/reference/examples/flow-segments/response-1.xml --> <ProxyEndpoint name="default"> <PreFlow name="my-preFlows"> <Description>My first PreFlow</Description> <Response> <Step> <Condition>response.status.code LesserThanOrEquals 300</Condition> <Name>Log-Response-OK</Name> </Step> <Step> <Condition>response.status.code GreaterThan 300</Condition> <Name>Log-Response-NOT-OK</Name> </Step> </Response> </PreFlow> <PostFlow name="my-postflows"> <Description>My first PostFlow</Description> <Response> <Step> <Name>Set-Response-Headers</Name> </Step> </Response> </PostFlow> ... </ProxyEndpoint>
Özellikler
<Response>
öğesinin özelliği yok.
Alt Öğeler
Aşağıdaki tabloda <Response>
alt öğeleri açıklanmaktadır:
Alt Öğe | Tür | Açıklama |
---|---|---|
<Condition> |
Dize | Yanıt segmentindeki adımların yürütülüp yürütülmeyeceğini belirler. |
<Step> |
Dize | Yanıt segmenti içinde yürütülecek bir politikayı belirtir. |
<Step>
Yürütülecek politikayı ve (isteğe bağlı olarak) yürütülüp yürütülmeyeceğini belirleyen bir koşulu belirtir bu politikayı izlemelisiniz.
Tür | Karmaşık nesne |
Üst Öğeler | <Request> <Response> |
Alt Öğeler | <Condition> <Name> |
Bir <Flow>
içinde birden fazla adım tanımlanmış olabilir ve adımlar,
akışın XML'sinde tanımlandıkları sıraya göre sıralayın.
Koşul içermeyen adımlar her zaman yürütülür. Koşul içeren adımlar yalnızca koşul doğru olarak değerlendirilir. Koşul yanlış olarak değerlendirilirse Edge bu adımı atlar.
Söz dizimi
<Step>
öğesi şu söz dizimini kullanır:
<Step> <Condition>property operator "value"</Condition> <Name>policy_name</Name> </Step>
Her <Step>
için yalnızca bir <Condition>
ve bir <Name>
olabilir, ancak
<Flow>
içine birden fazla adım atanabilir.
<Step>
öğesinin tüm alt öğeleri isteğe bağlıdır.
1. Örnek
Aşağıdaki örnekte koşul içeren bir adım ve koşul içermeyen bir adım gösterilmektedir:
<!-- api-platform/reference/examples/flow-segments/step-1.xml --> <ProxyEndpoint name="default"> <PostFlow name="my-postflows"> <Description>My first PostFlow</Description> <Request> <Step> <Condition>request.verb = "GET"</Condition> <Name>Log-Request-OK</Name> </Step> </Request> <Response> <Step> <Name>Set-Response-Headers</Name> </Step> </Response> </PostFlow> ... </ProxyEndpoint>
Koşul içermeyen adım, istek segmenti sırasında her seferinde yürütülür. Adım koşulu ile yalnızca istek bir "GET" olduğunda yürütülür yanıt sırasında bölümünü seçin.
2. Örnek
Aşağıdaki örnekte, tek bir segmentte birden çok adım gösterilmektedir:
<!-- api-platform/reference/examples/flow-segments/step-2.xml --> <ProxyEndpoint name="default"> <PostFlow name="PostFlow"> <Response> <Step> <Name>Assign-Message-1</Name> </Step> <Step> <Name>Assign-Message-2</Name> </Step> </Response> </PostFlow> ... </ProxyEndpoint>
Koşul içermeyen adımlar her zaman yürütülür.
Özellikler
<Step>
öğesinin özelliği yok.
Alt Öğeler
Aşağıdaki tabloda <Step>
alt öğeleri açıklanmaktadır:
Alt Öğe | Tür | Açıklama |
---|---|---|
<Condition> |
Dize | Çalışma zamanında işlenen adım için koşullu ifade tanımlar. Öğe ifadesi doğru olarak değerlendirilir, ardından Edge adımı yürütür. İfade değerini eklemezseniz Edge bu adımı atlar. |
<Name> |
Dize | Mevcut akışta yürütülecek politikanın kimliğini belirtir. |