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, politikaların ve kodun bir API proxy'si tarafından yürütülme sırasını yapılandırmanıza olanak tanıyarak API'nin davranışını programlamanızı sağlar.

Akışlara kavramsal bir genel bakış için Proxy'nin akışlarla nasıl çalıştığını kontrol etme bölümüne bakın.

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

Akışlara politika ekleme

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

Örneğin:

  • ProxyEndpoint'in PreFlow isteğine OAuth güvenlik politikası ekleyin. ProxyEndpoint'in isteği PreFlow, 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'e dönüştürmek için TargetEndpoint'in Yanıt PostFlow'una JSON'den XML'e dönüştürme politikası ekleyin.
  • İsteği işlemek amacıyla JavaScript kodu yürütmek için JavaScript 'na JavaScript politikası ekleyin.

Koşullu akış oluşturulduktan sonra politika eki için kullanılabilir. Akış seçiliyken, akışa yeni veya mevcut bir politikayı eklemek için istek veya yanıt şemasındaki + Adım simgesini tıklayın.

Gezgin menüsünde sorun adlı örnek bir koşullu akış örneği vurgulanıyor ve Akış bölmesinde Adım düğmesi gösteriliyor.

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

Politikayı seçili akışa ekleyerek API proxy'sini, Kota politikasını yalnızca söz konusu akış URI'si ve fiil kombinasyonuna yapılan istekler için zorunlu kılacak şekilde yapılandırmış olursunuz. Örneğin, politikayı istekteki öğrenme 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 .../issue/** URI kalıbıyla (/issue/ son eğik çizgiden sonra URI'daki herhangi bir şeyle) bir GET isteği gelirse bu API çağrısında kota uygulanır.

Koşullu akışlar hakkında

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

Bir istek ve yanıtın işlenmesi sırasında, segment başına yalnızca bir koşullu akış yürütülür. Bu akış, koşulun doğru olarak değerlendirildiği ilk akıştır. Bu, aşağıdakilerden her birinin bir parçası olarak yürütülen bir koşullu akışa sahip olabileceğ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ında, API proxy'sine yapılan herhangi bir HTTP GET isteğinde ProxyEndpoint tarafından yürütülen koşullu akış gösterilmektedir:

<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 başvuruda bulunduğuna dikkat edin. Akış değişkeni, Edge tarafından işlenen bir API işlemiyle ilişkili durum bilgilerini içeren referanslar olarak adlandırılmıştır. Edge, başvurabileceğ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 bazı varlıkları tanımlayan URI yol parçasıdır. Örneğin, hizmet arka ucunuz hava durumu raporları ve hava durumu tahminleri sağlıyorsa API'niz bu API kaynaklarıyla eşlenen iki koşullu akış tanımlayabilir: /reports ve /forecasts. Bir API çağrısı URL'ye bu kaynaklardan birini içerdiğinde, koşul doğru olarak değerlendirilir ve koşullu akışa ekli mantık yürütülür.

Ardından uygulama geliştiriciler şu formda bir URL için istekte bulunarak kaynaklarınıza erişebilir:

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 referansta bulunuluyor. Daha sonra 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ülecek bir akış ayarlarsınız.

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

Proxy oluşturucu Geliştirme sekmesi

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

Koşullu akış düğmesi ekle

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

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

(Akış değişkenleri ve koşulları bölümünde koşullu ifadeler oluşturmayı öğrenin.)

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

Akış-1 vurgulanıyor

Şimdi ProxyEndpoint XML yapılandırmasını inceleyin. Gezgin menüsünde Flow-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şul oluşturma ve değişkenleri kullanma hakkında daha ayrıntılı bilgi verilmektedir: