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üldüğü sırayı yapılandırmanıza olanak tanıyarak bir API'nin davranışını programlamanızı sağlar.

Akışlara kavramsal genel bakış için Bir proxy'nin akışlarla nasıl yürütüleceğini kontrol etme bölümüne bakın.

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

Politikaları akışlara 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üyle birlikte sunulur. Ayrıca politikalar, mesaj işlemeyi tamamen özelleştirmek için kendi özel kodunuzu eklemenize olanak tanır.

Örneğin:

  • ProxyEndpoint'in istek ön akışı'na bir OAuth güvenlik politikası ekleyin. ProxyEndpoint'in istek ön akışı, 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 JSON'dan XML'e dönüştürme politikasını HedefUçNoktası'nın yanıt Son Akışına ekleyin.
  • İsteği işlemek için JavaScript kodunu yürütmek üzere ProxyEndpoint'in Koşullu Akışına bir JavaScript politikası ekleyin

Oluşturduğunuz koşullu akışlar politikaya eklenebilir. Akış seçiliyken akışa yeni veya mevcut bir politika eklemek için istek veya yanıt şemasında + Adım simgesini tıklayın.

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

Adım Ekle bölmesinde, kota politikası türü ve Kota-2 görünen adıyla 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 kombinasyonu için uygulayacak şekilde yapılandırırsınız. Örneğin, politikanın istekteki öğrenme akışına eklenmesini sağlarsanız 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ına sahip bir GET isteği gelirse (URI'de son eğik çizgiden sonra herhangi bir şey olan /issue/) söz konusu 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.

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, koşulu "doğru" olarak değerlendirilen ilk akıştır. Bu, şunların her birinin parçası olarak bir koşullu akışın yürütülebileceği 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 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ğine dikkat edin. Akış değişkeni, Edge tarafından işlenen bir API işlemiyle ilişkili durum bilgilerini barındıran 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 bazı varlıkları tanımlayan URI yolu parçasıdır. Örneğin, hizmet arka uçunuz 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.

Ardından uygulama geliştiriciler, şu formdaki URL'ye istekte bulunarak kaynaklarınıza erişir:

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

veya:

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

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 son eki bölümü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ış oluşturursunuz.

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

Proxy oluşturucu Geliştirme sekmesi

İstediğiniz bitiş noktasındaki + simgesini tıklayın.

Koşullu akış ekle düğmesi

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'da GET fiili (PUT, POST vb. yerine) için istek mesajının HTTP'sini değerlendiren basit bir koşul eklediniz.

Yeni Koşullu Akış bölmesinde akış Flow-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 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 vurgulanmış

Şimdi ProxyEndpoint için XML yapılandırmasını inceleyin. Gezinme 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şul oluşturma ve değişkenleri kullanma hakkında daha fazla bilgi verilmektedir: