Akışları yapılandırma

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Akışlar, API proxy'lerinin temel yapı taşlarıdır. Akışlar, Google Analytics 4'te sunulan politikaların ve kodun bir API tarafından yürütülme sırasını yapılandırmanıza olanak tanır. temsil eder.

Akışlara kavramsal genel bakış için Bir proxy'nin görebilirsiniz.

Bu konuda, koşullu akışların nasıl oluşturulacağı ve akışlara tek bir üst düzey olabilir. Koşul yaratma sanatı, bu metinde ele alınanlardan daha fazla ayrıntı içerir konu. Bu ayrıntılar için Akışa genel bakış değişkenler ve Koşullar iyi bir şemadır.

Akışlara politika ekleme

Edge, güvenliği uygulama, güvenlik yönetimi ve yönetim işlemleri için farklı türde önceden tanımlanmış trafiği artırmak ve mesajları manipüle etmek. Ayrıca, politikalar kendi özel kodunuzu işlemeyi tamamen özelleştirebilirsiniz.

Örneğin:

  • Bir OAuth güvenlik politikası ekleyin: ProxyEndpoint için PreFlow isteği gönderin. Çünkü ProxyEndpoint'in PreFlow isteği ardışık düzendeki ilk akıştır. Hemen Güvenlik politikalarınızı ihlal eden bir isteği reddedebilirsiniz.
  • Şu web sitesine JSON'dan XML'e dönüşüm politikası ekleyin: response PostFlow of the TargetEndpoint yanıtı JSON'dan XML'e verilir.
  • Koşullu komut dosyasına JavaScript politikası ekleme JavaScript kodunu yürütmek üzere ProxyEndpoint istek

Koşullu akış oluşturduğunuzda politika eki için kullanılabilir. Hayatımda istek veya yanıt şemasında + Adım simgesini tıklayarak yeni bir yeni veya mevcut politikayı akışa ekleyebilirsiniz.

Gezinme menüsünde, "sorun" adlı örnek bir koşullu akış vurgulanıyor.
    Akış bölmesinde Adım düğmesi gösterilir.

Add Step (Adım Ekle) bölmesinde Kota ve Chrome politika türüyle yeni bir politika örneği
    görünen ad Kota-2.

Politikayı seçilen akışa ekleyerek API proxy'sini Kota politikası yalnızca bu akış URI'si ve fiil kombinasyonuna yapılan istekler için geçerlidir. Örneğin, politikayı istekteki learn akışına ekleyin. Aşağıdaki XML proxy düzenleyicisinin kod görünümünde 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 bir URI ile GET isteği gelirse .../issue/** kalıbı (/issues/ ile URI'da son yönlendirmeden sonraki herhangi bir şey) eğik çizgi) 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.

Bir istek ve yanıtın işlenmesi sırasında her hesap için yalnızca bir koşullu akış yürütülür Segment, koşulu doğru olarak değerlendirilen ilk akış. Bu da bir paydaştan şunların her birinin parçası olarak yürütülen koşullu akış:

  • 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ı, 2023'te gerçekleştirilen ProxyEndpoint tarafından API proxy'sine yapılan herhangi bir HTTP GET isteğinde:

<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ışına başvurduğuna dikkat edin değişkeni ile doğrulayabilirsiniz. Akış değişkeni, ilişkili durum bilgilerini barındıran referanslar olarak adlandırılır Edge tarafından işlenen bir API işlemiyle. Edge, farklı işlemlerde kullanabileceğiniz bir referans noktası olarak kabul edilir.

RESTful hizmetler, API kaynaklarının koleksiyonlarıdır. API kaynağı, URI yol parçasıdır . Örneğin, hizmet arka ucu hava durumu raporları ve hava durumu tahminleri sağlar, API'niz iki bu API ile eşlenen koşullu akışlar kaynaklar: /reports ve /forecasts. Bir API çağrısı URL'de bu kaynaklardan birini içeriyorsa, koşul doğru olarak değerlendirilir ve mantık fonksiyonlarının yürütülmesine neden olur.

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 koda karşılık gelen koşullu akış kaynak:

<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, proxy.pathsuffix akış değişkenine sonek bölümünü içerir. Ardından koşullu akışa farklı politikalar uygulayabilirsiniz.

Koşullu akış ekleme

Bu kısa örnekte, yalnızca istek mesajı HTTP GET.

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

Proxy oluşturucu Geliştirme sekmesi

İstediğiniz uç noktadaki + 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, istek mesajının HTTP değerini değerlendiren basit bir koşul temel yoldan sonraki herhangi bir URI'da bir GET fiili (PUT, POST vb. yerine).

Yeni Koşullu Akış bölmesinde, akış Akış-1 olarak adlandırılır; koşul türü ise
    yolları ve fiiller yapılandırıldı.

(Koşullu ifadelerin nasıl oluşturulacağını öğrenmek için Akış değişkenleri ve koşulları hakkında daha fazla bilgi edinin.)

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

Akış 1 vurgulanıyor

Şimdi ProxyEndpoint'in XML yapılandırmasını inceleyin. Şu menüden Flow-1'i seçin: Gezinme menüsü.

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 kullanma hakkında daha fazla ayrıntı verilmektedir. değişkenler: