Yeniden kullanılabilir paylaşılan akışlar

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

Politikaları ve kaynakları, birden fazla API proxy'sinden ve hatta diğer paylaşılan akışlardan kullanabileceğiniz bir paylaşılan akışta birleştirebilirsiniz. Bir proxy'ye benzese de paylaşılan akışın bitiş noktası yoktur. Yalnızca paylaşılan akışın kendisiyle aynı kuruluştaki bir API proxy'sinden veya paylaşılan akıştan kullanılabilir.

Paylaşılan akış, birden fazla yerde kullanışlı olan işlevleri tek bir yerde toplayarak tutarlılık sağlamanıza, geliştirme süresini kısaltmanıza ve kodu daha kolay yönetmenize yardımcı olur.

Aşağıdaki videoda, Edge kullanıcı arayüzünde paylaşılan akışın nasıl oluşturulacağı ve izleneceği gösterilmektedir.

Aşağıdaki 5 dakikalık videoda, Yeni Edge kullanıcı arayüzünde (yalnızca Özel Bulut için Edge) paylaşılan akışın nasıl oluşturulacağı ve izleneceği gösterilmektedir.

FlowCallout politikasını kullanarak paylaşılan bir akışı çağırabilirsiniz. Ayrıca, paylaşılan akışı bir akış kancasına ekleyerek paylaşılan akışın bir proxy veya hedef isteğinden önce ya da bir proxy veya hedef yanıtından sonra yürütülmesini sağlayabilirsiniz.

FlowCallout politikasıyla ilgili referans için FlowCallout politikası başlıklı makaleyi inceleyin. Akış kancaları hakkında daha fazla bilgi için Akış kancası kullanarak paylaşılan akış ekleme başlıklı makaleyi inceleyin.

Örneğin, birden fazla yerde kullanılan veya kuruluşunuzdaki API'lerde standartlaştırılması gereken işlev alanlarınız olduğunu düşünün. Aşağıdakiler de dahil olmak üzere her kategori için paylaşılan bir akışınız olabilir:

  • security, OAuth ve API anahtarı doğrulaması kullanılarak yetkilendirme koduyla birlikte tehdit koruma kodu.
  • Standart hata mesajları oluşturmak için logging.
  • XML ve JSON mesaj biçimleri arasında dönüşüm yapmak için mediation.

Aşağıdaki resimde, iki API proxy'si gelen kullanıcı isteklerinin kimliğini doğrulamak için paylaşılan bir akışı (FlowCallout politikasıyla) çağırıyor. AuthSharedFlow, proxy'lerden önce kuruluşta ayrı olarak dağıtılır. Böylece, proxy'lerden gelen istekleri desteklemek için kullanılabilir. Geniş kapsamlı şirket politikalarından sorumlu bir ekip tarafından geliştirilip yönetilebilen paylaşılan akış, daha sonra daha özel uygulamalar oluşturan iş birimi ekipleri tarafından proxy'lerde kullanılabilir.

Paylaşılan akış geliştirme

Paylaşılan bir akış geliştirirken her zaman API proxy'sine gönderilen çağrılarla test etmeniz gerekir. Başka bir deyişle, API proxy'sinde olduğu gibi doğrudan paylaşılan bir akışa istek gönderemezsiniz. Bunun yerine, istekleri bir API proxy'sine gönderirsiniz. Bu proxy de paylaşılan akışı çağırır.

Paylaşılan akış geliştirme ile ilgili genel adımlar şunlardır:

  1. Ortak özelliklerin neler olması gerektiğini belirleyin.

    Örneğin, trafik artışlarını bastırma gibi trafik yönetimi özelliklerini birleştirmek isteyebilirsiniz. Bu sayede, yapılandırmalarını iş kolu mantığını uygulayanların iş akışının dışında yönetebilirsiniz.

  2. API proxy'si geliştirirken yaptığınız gibi politikaları uygulayarak ve destekleyici kaynakları kullanarak paylaşılan bir akış geliştirin.

    Paylaşılan akış, koşullu adımlardan oluşan bir dizidir. Bu nedenle, bir uzantı geliştirmek API proxy'si geliştirmeye benzer. Bir proxy'ye ekleyebileceğiniz politikaları ve kaynakları dahil edebilirsiniz.

    Örneğin, trafik yönetimi desteğiniz kapsamında, aşağıdaki örnekte olduğu gibi saniyede yalnızca 30 isteğe izin vermek için bir ani artış önleme politikası uygulayabilirsiniz:

    <SpikeArrest async="false" continueOnError="false" enabled="true" name="Spike-Arrest">
        <DisplayName>Spike Arrest</DisplayName>
        <Properties/>
        <Identifier ref="request.header.some-header-name"/>
        <MessageWeight ref="request.header.weight"/>
        <Rate>30ps</Rate>
    </SpikeArrest>

    Ardından, trafik yönetimi için paylaşılan bir akışa Spike Arrest politikasını adım olarak ekleyebilirsiniz. Politika, paylaşılan akışı çağıran tüm API proxy'leri için yürütülür.

    <SharedFlow name="default">
        <Step>
            <Name>Spike-Arrest</Name>
        </Step>
    </SharedFlow>

    Yönetim konsolunda paylaşılan akış başlatma hakkında bilgi edinmek için Edge kullanıcı arayüzünde paylaşılan akış oluşturma başlıklı makaleyi inceleyin.

    API proxy'lerinde olduğu gibi, paylaşılan akış kaynağı yapıtlarınızı içeren bir zip dosyası da içe aktarabilirsiniz (proxy'leri içe aktarma hakkında daha fazla bilgi için Yeni bir API proxy'si içe aktarma başlıklı makaleyi inceleyin). Aşağıda, yönetim API'si ile paylaşılan akışın nasıl içe aktarılacağı gösterilmektedir:

    curl -X POST -F "file=@/path/to/zip/file.zip" \ 'https://api.enterprise.apigee.com/v1/o/{org_name}/sharedflows?action=import&name=shared-flow-name' \
    -u email:password
  3. Paylaşılan akışı, onu kullanacak proxy'leri veya paylaşılan akışları dağıtmadan önce ortama dağıtın. Paylaşılan akışları, API proxy'lerini dağıttığınız şekilde dağıtırsınız. (Daha fazla bilgi için Dağıtıma genel bakış başlıklı makaleyi inceleyin.)

    Paylaşılan akış, aynı kuruluşta olmalı ve onu kullanan API proxy'leri ve diğer paylaşılan akışlarla aynı ortama dağıtılmalıdır. Paylaşılan akışı proxy'lerden önce dağıtmak, proxy'nin dağıtım sırasında paylaşılan akışa olan bağımlılığını çözmeyi mümkün kılar.

    Aşağıdaki gibi bir yönetim API'si çağrısıyla paylaşılan akış dağıtabilirsiniz:

    curl -X POST --header "Content-Type: application/octet-stream" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments \
    -u email:password

    Ayrıca, şu anda dağıtılmış bir ortak akışı kesinti olmadan değiştirebilirsiniz. (Bu, API proxy'lerine çok benzer. Daha fazla bilgi için Yönetim API'sini kullanarak API proxy'lerini dağıtma başlıklı makaleyi inceleyin. Yönetim API'sini kullanan istek formu aşağıda verilmiştir:

    curl -X POST --header "Content-Type:application/x-www-form-urlencoded" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments?"override=true" \
    -u email:password
  4. Tüketen API proxy'sini geliştirin. Böylece, kendi akışının bir parçası olarak paylaşılan akışı çağırabilir.

    Bir API proxy'sinden FlowCallout politikası ile paylaşılan bir akışı çağırırsınız. (Ayrıca, Akış kancası kullanarak paylaşılan akış ekleme bölümünde açıklandığı gibi, akış kancası kullanarak paylaşılan akışı proxy'ye de ekleyebilirsiniz.) API proxy'si oluşturmayla ilgili giriş niteliğindeki eğitim için İlk API proxy'nizi oluşturma başlıklı makaleyi inceleyin.

    Paylaşılan bir akışı kullanmak için, onu kullanacak olan proxy'ye veya paylaşılan akışa bir FlowCallout politikası eklersiniz. Başka bir hizmeti çağırdığınız bir hizmet çağrısı politikası gibi, FlowCallout da paylaşılan akışı çağırır. Tüketen API proxy'si, paylaşılan akıştan sonra ve paylaşılan akışla aynı ortama dağıtılmalıdır. FlowCallout politikasını kullanarak bir akışa yapılan çağrıyı test etmek istediğinizde paylaşılan akışın mevcut olması gerekir.

    Aşağıdaki kodda, FlowCallout politikası traffic-management-shared adlı paylaşılan bir akışı çağırıyor.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Traffic-Management-Flow-Callout">
        <DisplayName>Traffic Management FlowCallout</DisplayName>
        <Properties/>
        <SharedFlowBundle>traffic-management-shared</SharedFlowBundle>
    </FlowCallout>

    Daha fazla bilgi için API proxy'sinden veya paylaşılan akıştan paylaşılan akış çağırma başlıklı makaleyi inceleyin.

  5. Paylaşılan akışı kullanmaya başlamak için tüketen API proxy'sini dağıtın. (Genel olarak dağıtım hakkında daha fazla bilgi için Dağıtımı anlama başlıklı makaleyi inceleyin.)
  6. API proxy'sinde olduğu gibi izleme yaparak yinelemeli geliştirme yapın.

    API proxy'sinde olduğu gibi, istediğiniz mantığı elde edene kadar yinelemeli olarak çağırıp izleyerek paylaşılan bir akış geliştirirsiniz. Bu durumda, paylaşılan akış kendi başına çalışmadığı için bir proxy uç noktası çağırır ve proxy'yi izlersiniz.

    İlgili adımlar aşağıdadır:

    1. Hem paylaşılan akışın hem de FlowCallout politikasıyla bunu çağıran API proxy'sinin aynı kuruluşta olduğundan ve aynı ortama dağıtıldığından emin olun.
    2. API proxy'sinin İzleme sekmesinde API proxy'sini izlemeye başlayın.
    3. API proxy'sindeki bir proxy uç noktasına istek gönderin. Uç noktadan gelen akış, paylaşılan akışı çağıran FlowCallout politikasını içermelidir.
    4. İzleme sekmesinde, API proxy'sinden paylaşılan akışa giden akışı inceleyin.

      İzleme işleminde, paylaşılan akışın gri bir kutu içinde yer alan bir dizi adım veya politika olarak gösterildiğini unutmayın. FlowCallout politikalarını temsil eden simgeler, paylaşılan akışlardan önce gelir. (İzleme hakkında daha fazla bilgi için İzleme aracını kullanma başlıklı makaleyi inceleyin.)

Edge kullanıcı arayüzünde paylaşılan akış oluşturma

Paylaşılan akış oluşturmak için Apigee Edge kullanıcı arayüzünü kullandığınızda, sıfırdan bir akış oluşturabilir veya mevcut akış kaynaklarını akış paketi .zip dosyası olarak içe aktarabilirsiniz.

  1. Aşağıda açıklandığı şekilde paylaşılan akışlar sayfasına erişin. Paylaşılan Akışlar sayfasında, kuruluştaki paylaşılan akışların listesini görüntüleyebilir ve listedeki akışları düzenleyebilir veya silebilirsiniz.

    Edge

    Edge kullanıcı arayüzünü kullanarak paylaşılan akışlar sayfasına erişmek için:

    1. apigee.com/edge adresinde oturum açın.
    2. Paylaşılan akışınızı içeren kuruluşu seçin. Kuruluşlarınız arasında geçiş yapma başlıklı makaleyi inceleyin.

      Paylaşılan akış, bu kuruluştan bir ortama dağıtılan tüm API proxy'leri ve paylaşılan akışlar tarafından kullanılabilir. Bu kuruluşun dışından erişilemez.

    3. Soldaki gezinme çubuğunda Geliştir > Paylaşılan Akışlar'ı seçin.

    Yeni Edge kullanıcı arayüzü (özel bulut)

    Yeni Edge kullanıcı arayüzünü kullanarak paylaşılan akışlar sayfasına erişmek için:

    1. http://host:3001/edge adresinden Yeni Edge kullanıcı arayüzünde oturum açın. Burada host, Yeni Edge kullanıcı arayüzünü çalıştıran ana makinenin IP adresi veya DNS adıdır.
    2. Paylaşılan akışınızı içeren kuruluşu seçin. Kuruluşlarınız arasında geçiş yapma başlıklı makaleyi inceleyin.

      Paylaşılan akış, bu kuruluştan bir ortama dağıtılan tüm API proxy'leri ve paylaşılan akışlar tarafından kullanılabilir. Bu kuruluşun dışından erişilemez.

    3. Soldaki gezinme çubuğunda Geliştir > Paylaşılan Akışlar'ı seçin.
  2. Yeni bir paylaşılan akış eklemeye başlamak için + Paylaşılan Akış düğmesini tıklayın.
  3. Paylaşılan akış oluşturma sayfasında yeni akışı nasıl oluşturmak istediğinizi seçin:
    • Sıfırdan yeni bir akış oluşturun. Politikaları ve kaynakları akışta adım olarak yapılandırabilirsiniz.
      1. Boş Ortak Akış'ı seçin.
      2. Bir ad değeri girin. Bu ad, API proxy'lerinin ve diğer paylaşılan akışların bu paylaşılan akışa referans vermek için kullandığı ad olur. Ad, akışı kullanan geliştiriciler için açıklayıcı olmalıdır.
      3. Akışın ne yaptığı hakkında daha fazla bilgi vermek için bir açıklama girin.
      4. İleri'yi tıklayın.
      5. İsteğe bağlı olarak, yeni akışın dağıtılmasını istediğiniz ortamları seçin.

        Örneğin, test ortamına dağıtılan API proxy'lerinden paylaşılan akışı test edecekseniz paylaşılan akışı test'e dağıtın.

      6. Yeni paylaşılan akışın oluşturulup seçtiğiniz ortamlara dağıtılması için Oluştur ve Dağıt'ı tıklayın. Ortam seçmediyseniz paylaşılan akış oluşturulur ancak dağıtılmaz.

    • Akış paketi yükleyerek mevcut kaynaklardan paylaşılan akış oluşturma
      1. Yeni akışta istediğiniz yapıları içeren bir .zip dosyası belirtmek için Paylaşılan Akış Paketi'ni seçin.

        Paylaşılan akış paketi, paylaşılan akışın kaynak öğelerini içerir. Örneğin, Edge kullanıcı arayüzünden paylaşılan bir akışı indirirseniz akış paketi içeren bir .zip dosyası elde edersiniz.

      2. İleri'yi tıklayın.
      3. İçe aktarmak istediğiniz paylaşılan akış kaynaklarını içeren .zip dosyasına göz atmak için Dosya Seç'i tıklayın.
      4. Paylaşılan Akış Adı kutusuna, içe aktarılan akış için bir ad girin. Bu ad, API proxy'lerinin ve diğer paylaşılan akışların bu paylaşılan akışa referans vermek için kullandığı ad olacaktır. Ad, akışı kullanan geliştiriciler için açıklayıcı olmalıdır.
      5. İleri'yi tıklayın.
      6. İçe aktardığınız kaynaklardan yeni akışı oluşturmak için Oluştur'u tıklayın.

API proxy'sinden veya paylaşılan akıştan paylaşılan akış çağırma

FlowCallout politikası'nı kullanarak bir proxy'den veya başka bir paylaşılan akıştan paylaşılan bir akışı çağırabilirsiniz.

  1. Edge kullanıcı arayüzünde, başka bir paylaşılan akışı çağırmak istediğiniz proxy'yi veya paylaşılan akışı bulun.
  2. Gezgin'de, Politikalar'ın yanındaki + düğmesini tıklayın.
  3. Politika listesinde, Uzantı bölümünde FlowCallout'u tıklayın.
  4. Görünen adı ve adı (benzersiz tanımlayıcı) girin, ardından bu politikanın çağıracağı paylaşılan akışı seçin.
  5. Ekle'yi tıklayın.
  6. Yeni FlowCallout politikasını, aramanın yapılmasını istediğiniz proxy'ye ekleyin.

Aşağıdaki kaynakları da incelemenizi öneririz:

API proxy'lerini birlikte zincirleme