Özel yoklama tetikleyicisi kullanma
Yoklama tetikleyicisi temelde düzenli olarak hizmetinize çağrılar yaparak yeni verileri arayan bir olaydır. Yoklama tetikleyicilerin web kancalarından farkı, yoklama tetikleyicisinin yeni veri sağlanıp sağlanmadığını saptamak için bir olay başlatması oysa web kancasının hizmetten yapılan yeni veri gönderimine yanıt vermesidir. Akış yeni verilerin sağlandığını saptayınca, söz konusu verilerle eylem gerçekleştirebilirsiniz. Bu öğretici yeni verileri proaktif olarak almak için yoklama tetikleyicisinin nasıl kullanılacağını gösterir.
Ön koşullar
- Bir Power Automate aboneliği.
- Temel deneyim oluşturma akışları ve özel bağlayıcıları.
Yoklama tetikleyicilerinin yeni verileri nasıl aldığını öğrenin
Yoklama tetikleyicisi bir durum ayarlayarak başlar, sonra da bir zaman aralığında düzenli olarak güncelleştirmeleri denetler. Tetikleyici son durum güncelleştirmesinden sonraki tüm yeni veriler için istekte bulunur. Buna ek olarak tetikleyici istekler arasında durum bağlamını da korur.
Aşağıdaki örnek yoklama tetikleyicisinin yeni verileri nasıl aldığına ilişkin bir genel bakış sağlar.
- Akış çalışma zamanı tetikleyicide, bağlayıcıdaki API'ye bir ilk çağrı yapar.
- Ardından bağlayıcı arka uç hizmetini çağırır.
- Ardından arka uç hizmeti tüm geçerli verileri bağlayıcıya geri döndürür.
- Buna karşılık bağlayıcı bir 202 Kabul Edildi iletisi, yeniden deneme aralığı ve geçerli durumu içeren bir konum üst bilgisi döndürür. Yeniden deneme aralığı saniye cinsindendir. Bu ilk çağrı her zaman verilerin geçici durumunu oluşturmak için kullanılır.
- Yeniden deneme aralığı zaman aşımına uğradıktan sonra, akış çalışma zamanı konum üst bilgisini ve bu örnekte 1'e eşit olan geçerli durumu kullanarak bağlayıcıya başka bir çağrı yapar.
- Bu durum şimdi 1'e eşit olduğundan, bağlayıcı artık doğru veri kümesinin döndürülmesi için uygun filtrelemeyi yapacak olan doğru API'yi çağırmayı biliyor olur. Bu örnekte bağlayıcı bunu, oluşturma tarihinin belirli bir zaman damgasından büyük olduğunu belirten filtrelenmiş bir sorguya çevirir.
- Bu örnekte oluşturma tarihinden sonra yeni veri yoktur, dolayısıyla bağlayıcıya boş bir değer kümesi geri gönderilir.
- Bağlayıcı bir 202 Kabul Edildi iletisi, yeniden deneme aralığı ve durumun değişmediği bir konum üst bilgisi döndürür.
- Yeniden deneme aralığı bir kez daha zaman aşımına uğradıktan sonra, akış çalışma zamanı aynı konum üst bilgisini ve durumu kullanarak bağlayıcıya bir çağrı daha yapar.
- Bağlayıcı yine oluşturma tarihini kullanarak uygun filtrelemeyi yapar.
- Bu kez oluşturma tarihinden sonra yeni veriler sağlanmıştır, dolayısıyla arka uç tüm yeni verilerin değerlerini bağlayıcıya geri döndürür.
- Bağlayıcı da 200 Tamam iletisini, yeniden deneme aralığını, yeni durum değerini içeren konumu ve oluşturma tarihinden sonra sağlanan tüm yeni verilerin yer aldığı bir değerler dizisini döndürür. Bu noktada akış başlar.
Kullanıcı arabiriminden yoklama tetikleyicileri oluşturma
Bu bölümde Power Automate kullanıcı arabiriminde yoklama tetikleyicisi oluşturma işlemi gösterilir. Bu yordamda, başlangıç noktası olarak örnek TripPin hizmetini kullanacaksınız. TripPin hizmeti, kişilerin ve yaptıkları gezilerin listesini içeren çok basit bir REST API'dir.
TripPin hizmetini kullanmak için önce hizmete gereken URL'leri dinamik olarak oluşturmanız gerekir. Tarayıcınızın adres çubuğuna https://services.odata.org/TripPinRESTierService girin. Bu gösterim için gereken meta veriler döndürülür. Meta verileri daha sonra kullanmak üzere bir dosyaya kopyalayın ve kaydedin.
TripPin hizmetini ayarlamak ve yoklama tetikleyicisini oluşturmak için:
Power Automate'te Veri > Özel bağlayıcılar sekmesini seçin.
Özel bağlayıcılar bölmesinde Yeni özel bağlayıcı'yı ve sonra da Sıfırdan oluştur'u seçin.
Özel bağlayıcı oluştur iletişim kutusunda özel bağlayıcınızın adını girin (bu örnekte Yoklama Testi kullanabilirsiniz) ve Devam'ı seçin.
Genel sayfasında bir açıklama ve konak belirtin. Bu örnekte konak olarak TripPin meta verilerinde döndürülen services.odata.org URL'sini kullanacaksınız.
Parametre Value Açıklama "TripPin, bir seyahat web sitesi örneğidir." ANABİLGİSAYAR "services.odata.org" Güvenlik sayfasında kimlik doğrulaması türü olarak Kimlik doğrulaması yok'u seçin.
Tanım sayfasında, + yeni tetik'i seçin ve tetikleyicinizin açıklamasını doldurun. Bu örnekte kişinin gezi programına yeni bir gezi eklendiğinde başlatılan bir tetikleyici oluşturacaksınız.
Parametre Value Özet "Yeni gezi eklendiğinde tetiklenir" Açıklama "Yeni gezi eklendiğinde tetiklenir" İşlem Kimliği "OnNewTrip" Görünürlük "hiçbiri" (daha fazla bilgi için aşağıdaki listeye bakın) Tetikleyici türü "Yoklama" Bir akıştaki işlemler ve parametreler için Görünürlük özelliği aşağıdaki seçeneklere sahiptir:
- hiçbiri: akışta normal görüntülenir
- gelişmiş - Ek bir menünün altına gizlenir
- dahili - kullanıcıdan gizlenir
- önemli - Her zaman kullanıcıya ilk olarak gösterilir
İstek alanı, eyleme yönelik HTTP isteğine göre bilgileri görüntüler. Örnekten aktar'ı seçin.
Örnekten aktar bölmesinde yoklama tetikleyicisi için isteği tanımlayın. Fiil olarak GET seçin. Hizmet için gereken URL'leri dinamik olarak oluştururken aldığınız meta verilerdeki URL adresini Örnekten aktar bölmesinin URL alanına kopyalayın. Adresin arkasına
/People('{Person}')/Trips?$filter=TripId gt 0&$orderby=TripId desc
ekleyin. Örneğin:https://services.odata.org/TripPinRESTierService/(S(<service number>))/People('{Person}')/Trips?$filter=TripId gt 0&$orderby=TripId desc
Not
URL'de <service number> yerine meta verilerinizdeki gerçek numarayı kullandığınızdan emin olun.
Bu URL örneğinde tek kişi için istek oluşturuyorsunuz ve
{Person}
kullanıcının akışta belirtebileceği bir çalışma zamanı değişkeni. Ardından, kullanıcının girdiği belirli kişiye ait gezileri almak istediğinizi belirtiyorsunuz.Ama gezilerin hepsini almak istemiyorsunuz; yalnızca son yoklama zamanından sonra yeni eklenen gezileri almak istiyorsunuz.
$filter=TripId gt 0
ifadesi, daha önce yoklanan TripId değerlerinden daha büyük TripId değerleri olan gezileri döndürerek yeni gezileri alır. Burada kullanılan0
sayısı her yoklama tetikleyicisi oluştuğunda otomatik olarak güncelleştirilir.Ayrıca,
$orderby=TripId desc
ifadesi TripId olarak döndürülen verilerin azalan düzende sıralandığını gösterir. Tetikleyici, azalan düzende sıralanmış olarak döndürülmesini gerektirir. Diğer bir deyişle, arka uç hizmeti tarafından döndürülen sonuçlar tetikleyici parametresinde ters sıralanmalı, yani en son parametre (bu örnekteki TripId gibi) veri dizisinde döndürülen ilk değer olmalıdır.Örnek verileri içeri aktarmak için İçeri Aktar düğmesini seçin. Şimdi istek alanında fiil, URL, yol ve sorgu parametreleri görüntülenir.
İstek alanında $filter sorgu parametresini seçin ve sonra da Düzenle'yi seçerek Parametre iletişim kutusunu açın.
$filter
için Parametre iletişim kutusunda Görünürlük seçimini dahili olarak ayarlayın. Bu parametre bağlayıcı tarafından yalnızca dahili olarak kullanılır ve bu da kullanıcının herhangi bir değişiklik yapmasını önler. Görünürlük ayarları hakkında daha fazla bilgi için bkz. x-ms-visibility OpenAPI uzantısı.İstek alanına dönmek için Geri'yi seçin.
İstek alanında $orderby sorgu parametresini seçin ve sonra da Düzenle'yi seçerek Parametre iletişim kutusunu açın.
$orderby
için Parametre iletişim kutusunda Gerekli mi? seçimini Evet olarak ve Görünürlük seçimini dahili olarak ayarlayın. Bu ayarlar, kullanıcının bu parametrede herhangi bir değişiklik yapmasını önler.Ayrıca Varsayılan değer kutusuna TripId desc değerini girin. Bu ayarlar sonuçların ters düzende sıralanmasını sağlar.
Önceki alana dönmek için Geri'yi seçin.
Yanıt alanı, eyleme yönelik HTTP yanıtına göre bilgileri görüntüler. Varsayılan yanıt ekle’yi seçin.
Yoklama tetikleyicisine yönelik yanıtı tanımlayın ve İçeri aktar’ı seçin. Yanıt gövdesi olarak aşağıda sağlanan örneği kullanın. Bu, yanıt için otomatik olarak bir şema oluşturur.
{ "@odata.context":"https://services.odata.org/TripPinRESTierService/(S(<service number>))/$metadata#Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip)", "value":[ { "TripId":2, "ShareId":"9ce142c3-5fd6-4a71-848e-220ebf1e9f3", "Name":"Honeymoon", "Budget":2650, "Description":"Happy honeymoon trip", "Tags":[ "Travel", "honeymoon" ], "StartsAt":"2014-02-01T00:00:00Z", "EndsAt":"2014-02-04T00:00:00Z" }, { "TripId":1, "ShareId":"f94e9116-8bdd-4dac-ab61-08438d0d9a71", "Name":"Trip in Beijing", "Budget":2000, "Description":"Trip from Shanghai to Beijing", "Tags":[ "Travel", "Beijing" ], "StartsAt":"2014-02-01T00:00:00Z", "EndsAt":"2014-02-04T00:00:00Z" } ] }
Not
URL'de <service number> yerine meta verilerinizdeki gerçek numarayı kullandığınızdan emin olun.
Tetikleyici yapılandırması alanında TripPin'den durum değişikliğini izlemek için kullanılan parametreyi seçin. Bu örnekte
$filter
parametresi girilir.Bu örnekte, Seçilen sorgu parametresine geçirilecek değeri seçin alanında aşağıdaki ifadeyi kullanın:
TripId gt @{triggerBody().value[0].TripId}
Bu ifade tetikleyici her çalıştırıldığında en son sonuçları almak için kullanılır. Burada kullandığınız ifadede,
TripId
değeri ifadenin kalanı tarafından döndürülen değerden büyük olduğunda tetikleyici çalıştırılır.TripId
değeri ifadenin kalanı tarafından döndürülen değerden büyük değilse, tetikleyici gerçekleşmez.Tetikleyici verileri içeren koleksiyonu seçin alanında @triggerBody().value öğesini seçin. Bu, arka uç hizmeti tarafından döndürülen tetikleyici verilerinin yer aldığı dizidir.
Sihirbazın en üstünde Bağlayıcı oluştur'u seçin.
Yoklama tetikleyicisini kullanma
Her şeyi yapılandırdığınıza göre artık yoklama tetikleyicisini bir akışta kullanabilirsiniz. Bu bölümde, belirli bir kişiye her yeni gezi kaydedildiğinde oluşan değişikler için arka uç hizmetini yoklayan bir akış oluşturacaksınız.
flow.microsoft.com adresinde sayfanın sol tarafındaki Oluştur'u seçin.
Boş bir uygulamayla başlayın alanında Anlık akış'ı seçin.
Anlık akış derleyin iletişim kutusunda Atla düğmesini seçin.
Arama kutusuna Yeni gezi eklendiğinde tetiklenir girin.
Tetikleyici olarak kullanmak için listedeki bir öğeye tıklayın.
Kişi akış kutusuna, gezilerini inceleyeceğiniz kişi olarak russellwhyte girin ve ardından + Yeni adım'ı seçin.
Eylem seçin iletişim kutusunda Yerleşik sekmesini ve ardından Tarih Saat eylemini seçin.
Tarih Saat için Geçerli zaman'ı seçin.
Yeni akışı kaydetmek için Kaydet’i seçin.
Doğrulama ve sorun giderme
Her şeyin doğru bir şekilde ayarlandığını doğrulamak için Akışlarım’ı seçin ve sonra da Yeni gezi eklendiğinde tetiklenir -> Geçerli zaman akışını seçerek çalıştırma geçmişini görüntüleyin. Akış henüz çalıştırılmadığından, geçmişte şu anda hiçbir şey gösterilmiyor olmalıdır.
Akışı test etmek için Postman uygulamasını açmanız ve TripPin'e yeni veri eklemeniz gerekir.
Postman'da, Launchpad sekmesinin yanındaki + simgesini seçin.
Adsız istekte, sol taraftaki açılan kutudan POST'u seçin ve İstek URL'sini girin kutusuna şu adresi girin:
https://services.odata.org/TripPinRESTierService/(S(<Service number))/People('russellwhyte')/Trips
Not
URL'de <service number> yerine meta verilerinizdeki gerçek numarayı kullandığınızdan emin olun.
POST isteği altında Gövde sekmesini ve sonra da raw öğesini seçin. Raw öğesinin sağ tarafındaki açılan listeden JSON'u seçin.
Metin kutusuna aşağıdaki metni girin:
{ "TripId": 190, "ShareId": "9d9b2fa0-efbf-490e-a5e3-bac8f7d47354", "Name": "Trip in US", "Budget": 5000, "Description": "Trip from San Francisco to New York City", "Tags": [ "business", "New York meeting" ], "StartsAt": "2014-01-01T00:00:00Z", "EndsAt": "2014-01-04T00:00:00Z" }
POST iletisini TripPin sitesine göndermek için Gönder'i seçin.
Yanıt,
201 Created
durumuyla döndürülmelidir.
Şimdi Akışlarım'ı açıp Yeni gezi eklendiğinde tetiklenir -> Geçerli zaman akışını seçtiğinizde, çalıştırma geçmişinde bir tetikleyicinin gerçekleştiği görürsünüz.
Not
Aynı kişi için Postman'da başka bir POST isteği çalıştırırsanız, JSON gövdesindeki TripId değerini değiştirmeniz gerekir. Aksi takdirde 409 Çakışma hatası oluşur.
Her şey düzgün yapılandırıldıysa artık TripPin'e her yeni gezi eklendiğinde Microsoft Power Automate uygulamasında bildirim alırsınız.
Ayrıca bkz.
- Web API'si için bir özel bağlayıcı oluşturma
- API'nizi ve bağlayıcınızı Microsoft Entra ID ile doğrulayın
Geri bildirimde bulunun
Bağlayıcı platformumuzla ilgili sorunlar veya yeni özellik fikirleri hakkındaki geri bildiriminiz bizim için çok önemlidir. Geri bildirimde bulunmak için Sorun gönderme veya bağlayıcılarla ilgili yardım alma bölümüne gidip geri bildirim türünü seçin.