Akışları yapılandırma

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

Akışlar, API proxy'lerinin temel yapı taşlarıdır. Akışlar, API proxy'si tarafından politikaların ve kodun yürütülme sırasını yapılandırmanıza olanak tanıyarak bir API'nin davranışını programlamanıza olanak tanır.

Akışlara kavramsal bir genel bakış için Akışlarla bir proxy'nin nasıl yürütüleceğini kontrol etme başlıklı makaleyi inceleyin.

Bu konuda, koşullu akışların nasıl oluşturulacağı ve akışlara üst düzeyde mantık (politikalar) ekleme işlemi açıklanmaktadır. Koşul oluşturma sanatı, bu konuda ele alınanlardan daha ayrıntılıdır. Bu ayrıntı için Akış değişkenlerine genel bakış ve Akış değişkenli koşullar bölümlerine bakın.

Akışlara politika ekleme

Edge, güvenliği uygulamak, trafiği yönetmek ve mesajları değiştirmek için birçok farklı türde önceden tanımlanmış politikayla birlikte gelir. Ayrıca politikalar, mesaj işlemeyi tamamen özelleştirmek için kendi özel kodunuzu eklemenize olanak tanır.

Örneğin:

  • OAuth güvenlik politikasını ProxyEndpoint'in istek PreFlow'una ekleyin. ProxyEndpoint'in istek PreFlow'u, ardışık düzendeki ilk akış olduğundan güvenlik politikalarınızı ihlal eden bir isteği hemen reddedebilirsiniz.
  • Bir yanıtı JSON'dan XML'ye dönüştürmek için hedef uç noktanın yanıt PostFlow'una bir JSON'dan XML'ye dönüştürme politikası ekleyin.
  • İsteği işlemek için JavaScript kodunu yürütmek üzere JavaScript politikasını ProxyEndpoint'in Koşullu Akışına ekleyin.

Koşullu akış oluşturduktan sonra politika ekleyebilirsiniz. Akış seçiliyken, akışa yeni veya mevcut bir politika eklemek için istek ya da yanıt diyagramında + Adım simgesini tıklayın.

Gezgin menüsünde, issue adlı örnek bir koşullu akış vurgulanır ve Akış bölmesinde Adım düğmesi gösterilir.

Adım Ekle bölmesinde, politika türü Kota ve görünen adı Kota-2 olan yeni bir politika örneği oluşturulur.

Politikayı seçilen akışa ekleyerek API proxy'sini yalnızca bu akış URI'si ve fiil kombinasyonuna yapılan istekler için kota politikasını zorunlu kılacak şekilde yapılandırırsınız. Örneğin, politikayı istekteki learn akışına eklerseniz proxy düzenleyicinin kod görünümünde aşağıdaki XML oluşturulur:

<ProxyEndpoint name="default">
...
   <Flow name="issue">
        <Description/>
        <Request>
            <Step>
                <Name>Quota-2</Name>
            </Step>
        </Request>
        <Response/>
        <Condition>(proxy.pathsuffix MatchesPath "/issue/**") and (request.verb = "GET")</Condition>
    </Flow>
... 
</ProxyEndpoint>

Bu yapılandırmada, API proxy'sine URI kalıbı .../issue/** olan bir GET isteği gelirse (son eğik çizgiden sonra URI'de herhangi bir şeyle birlikte /issue/), bu API çağrısında kota uygulanır.

Koşullu akışlar hakkında

PreFlow veya PostFlow'a eklenen tüm politikalar her zaman yürütülür. Ancak koşullu akıştaki politikalar yalnızca akışın koşulu doğru olarak değerlendirilirse yürütülür.

İstek ve yanıt işlenirken segment başına yalnızca bir koşullu akış yürütülür. Bu akış, koşulu doğru olarak değerlendirilen ilk akıştır. Bu, aşağıdaki işlemlerin her birinde bir koşullu akış çalıştırabileceğiniz anlamına gelir:

  • ProxyEndpoint'in istek ardışık düzeni
  • TargetEndpoint'in istek ardışık düzeni
  • ProxyEndpoint'in yanıt ardışık düzeni
  • TargetEndpoint'in yanıt ardışık düzeni

Video: Koşullu akışlar hakkında daha fazla bilgi edinmek için kısa bir video izleyin.

Örneğin, aşağıdaki ProxyEndpoint tanımı, API proxy'sine yapılan herhangi bir HTTP GET isteğinde ProxyEndpoint tarafından yürütülen koşullu bir akışı gösterir:

<ProxyEndpoint name="default">
  <PreFlow>
    <Request/>
    <Response/>
  </PreFlow>   
  <Flows>
    <Flow name="Flow-1">
      <Condition>request.verb="GET"</Condition>
      <Request/>
      <Response/>
    </Flow>
  </Flows>
  <PostFlow>
    <Request/>
    <Response/>
  </PostFlow>
  ...
</ProxyEndpoint>

Koşulun request.verb akış değişkenine referans verdiğini unutmayın. Akış değişkeni, Edge tarafından işlenen bir API işlemiyle ilişkili durum bilgilerini içeren adlandırılmış referanslardır. Edge, referans verebileceğiniz birçok durum değişkeni tanımlar.

RESTful hizmetler, API kaynaklarının koleksiyonlarıdır. API kaynağı, geliştiricilerin API'nizi çağırarak erişebileceği bir varlığı tanımlayan bir URI yolu parçasıdır. Örneğin, hizmetinizin arka ucu hava durumu raporları ve hava durumu tahminleri sağlıyorsa API'niz, bu API kaynaklarıyla eşleşen iki koşullu akış tanımlayabilir: /reports ve /forecasts. Bir API çağrısı URL'de bu kaynaklardan birini içerdiğinde koşul doğru olarak değerlendirilir ve koşullu akışa eklenen mantık yürütülür.

Uygulama geliştiriciler daha sonra şu biçimde bir URL'ye istekte bulunarak kaynaklarınıza erişir:

http://myAPIs.myCo.com/weather/reports

veya:

http://myAPIs.myCo.com/weather/forecasts

Bir API proxy'sinde, belirli bir kaynağa karşılık gelen koşullu bir akış tanımlayabilirsiniz:

<ProxyEndpoint name="default">
  <PreFlow>
    <Request/>
    <Response/>
  </PreFlow>   
  <Flows>
    <Flow name="Flow-1">
      <Condition>(proxy.pathsuffix MatchesPath "/reports")</Condition>
      <Request/>
      <Response/>
    </Flow>
    <Flow name="Flow-2">
      <Condition>(proxy.pathsuffix MatchesPath "/forecasts")</Condition>
      <Request/>
      <Response/>
    </Flow>
  </Flows>
  <PostFlow>
    <Request/>
    <Response/>
  </PostFlow>
  ...
</ProxyEndpoint>

Bu örnekte, API proxy'sine erişmek için kullanılan URL'nin sonek kısmını içeren proxy.pathsuffix akış değişkenine referans veriyorsunuz. Ardından, her kaynak için koşullu akışa farklı politikalar ekleyebilirsiniz.

Koşullu akış ekleme

Bu kısa örnekte, yalnızca istek mesajı bir HTTP GET olduğunda yürütülen bir akış ayarlarsınız.

Koşullu akış eklemek için API proxy oluşturucuda Geliştir sekmesini seçin.

Proxy oluşturucu Geliştirme sekmesi

İstediğiniz uç noktada + simgesini tıklayın.

Koşullu akış düğmesi ekleme

Yeni Koşullu Akış formu, akışı adlandırmanıza ve bir koşul yapılandırmanıza olanak tanır. Aşağıdaki örnekte, temel yoldan sonraki herhangi bir URI'de GET fiili (PUT, POST vb. yerine) için istek mesajının HTTP'sini değerlendiren basit bir koşul ekliyorsunuz.

Yeni Koşullu Akış bölmesinde akışa Akış-1 adı verilir ve koşul türü, yol ve fiil yapılandırılır.

(Akış değişkenleri ve koşullarında koşullu ifadeleri nasıl oluşturacağınızı öğrenin.)

Flow-1 adlı yeni akış artık Gezgin menüsünde görünür.

Flow-1 vurgulandı

Şimdi ProxyEndpoint'in XML yapılandırmasını inceleyin. Gezgin menüsünde Akış-1'i seçin.

Aşağıdaki yapılandırmayı görürsünüz.

<PreFlow name="PreFlow">
    <Request/>
    <Response/>
</PreFlow>   
<Flows>
    <Flow name="Flow-1">
      <Request/>
      <Response/>
      <Condition>(proxy.pathsuffix MatchesPath "/**") and (request.verb = "GET")</Condition>
    </Flow>
</Flows>
<PostFlow name="PostFlow">
    <Request/>
    <Response/>
</PostFlow>

Sonraki adımlar

Aşağıdaki konularda koşulları oluşturma ve değişkenleri kullanma hakkında daha ayrıntılı bilgi verilmektedir: