Data Factory ve Logic Apps Kullanarak Power BI Verilerini Güncelleme

Emre Arı
PEAKUP Tech News
Published in
5 min readJun 6, 2023

Merhabalar, bu yazımızın konusu Microsoft Azure servislerinden Data Factory ve Logic Apps kullanarak Power BI raporlarını güncellemek olacaktır.

app.powerbi.com’da yayınladığımız raporları lisans türümüze göre günde 8 ya da 48 defa yenileyebiliyoruz. Aşağıdaki ekranda göründüğü gibi saat seçimi yaparak bu sürecimizi yönetebiliyoruz.

Ancak Power BI dataset güncelleme seçenekleri bununla sınırlı değil. Bu yazımızda gün içerisinde birçok kez çalışan ve Power BI raporuna veri hazırlayan bir Data Factory pipeline’ı üzerinden, Logic Apps’te kurguladığımız uygulamayı tetikleyerek Power BI datasetini güncelleyeceğiz. Böylelikle veri hazırlık süreçlerimiz ile rapor güncelleme süreçlerimiz senkronize olacaktır. (Yapacağımız geliştirmeler sonrası kurguladığımız sistem günlük güncelleme limitlerinin izin verdiği kadar çalışabilecektir.)

Geliştirmelere başlamadan önce kısaca Logic Apps’ten bahsedelim.

Azure Logic Apps, operasyonel süreçlerinizi otomatikleştiren ve farklı uygulamalar arasında veri akışı sağlayan bir bulut platformudur. Tanımladığımız belirli bir olay gerçekleştiğinde harekete geçerek mail atma, alarm verme, dosya kopyalama gibi işlemleri otomatik olarak yapmamıza yardımcı olur. Logic Apps, iş süreçlerini otomatikleştirerek, zaman ve kaynak tasarrufu yapmanızı sağlar.

Artık Logic Apps servisindeki geliştirmelere başlayabiliriz.

Adım 1 : İlk olarak https://portal.azure.com’a giriş yapalım. Daha sonra üst tarafta bulunan arama kutusuna “Logic Apps” yazıp aşağıdaki gibi seçim yapalım.

Adım 2 : Açılan sayfada “+ Add” butonuna tıklayalım. Sonrasında Create Logic App ekranı karşımızda olacaktır. Burada Subscription, Resource Group, Logic App name, Region ve Plan type(Consumption) sekmelerini aşağıdaki görsele benzer şekilde seçip “Review + create” butonuna basarak ilerleyelim. Daha sonrasında tekrar Create seçeneği çıkacaktır. Burada da seçimimizi “Create” olarak yaparız.

Adım 3 : Kısa süre içerisinde Logic App hazır hale gelecektir. İşlem başarıyla gerçekleştikten sonra “Go to resource” butonuna tıklayabiliriz.

Adım 4 : Bir sonraki adımda Logic App Designer ekranına gelmiş olduk. Burada “Blank Logic App” seçeneğini işaretleyerek devam edebiliriz. Bu ekranda üst tarafta bulunan sık kullanılan tetikleyicileri seçerek de ilerleyebilirdik. Ancak biz sıfırdan tasarlayacağız. Kullanacağımız tetikleyici de zaten en çok kullanılanlar arasında yer almaktadır :)

Adım 5 : Oluşturacağımız şablonun içine girdiğimizde bizi karşılayan ekranda Triggers ve Actions başlığı altında onlarca seçenek karşılayacaktır. İlk olarak bir trigger seçmeliyiz. Bu tasarlayacağımız bütün logic app uygulamalarında bu şekilde olmalıdır. Daha sonra “When a HTTP requests is received” seçelim. Seçtiğimiz bu trigger bir HTTP isteği alındığında uygulamayı tetikleyen önceden yapılandırılmış bir şablondur. Bu şablon, daha sonra üreteceğimiz url’e yapılan HTTP isteklerini dinleyerek harekete geçmeyi bekler. Harekete geçirdiği logic apps uygulaması da tanımlanan görevleri yerine getirir.

Adım 6 : Trigger seçimi yaptıktan sonra “+ New step” butonuna basalım. Actions olarak da “Refresh a dataset Power BI” seçelim. Bu Action istediğimiz Power BI dataset’ini güncellememizi sağlayacaktır. Daha sonrasında kullanıcı bilgilerimiz ile giriş yapmamız gerekmektedir. Giriş yaptıktan sonra verisini güncellemek istediğimiz dataset’in Workspace ve Dataset bilgilerini seçeriz.

Adım 7 : Yukarıda yaptığımız işlemler sonrası Logic Apps tarafındaki geliştirmelerimizi tamamlamış olduk. Ekranın sol üst tarafında “Save” butonuna basabiliriz. Bu butona bastıktan sonra tetikleyicimizin “HTTP POST URL” alanında bir url oluşacaktır. Oluşan bu url’i daha sonra Data Factory geliştirmeleri yaparken kullanmak üzere kopyalayalım.

Bundan sonraki adımlarda Azure Data Factory geliştirmeleri yapacağız. Data Factory geliştirmelerine başlamadan önce Web Activitiy bileşeninden biraz bahsedelim.

Web Activity, Data Factory aktiviteleri içinde web tabanlı işlemler gerçekleştirmek için kullanılabilen bir bileşendir. Bu bileşen belirli bir URL’e HTTP istekleri yaparak, API’lerin veya web hizmetlerinin kullanımına olanak tanır. Şimdi Data Factory geliştirmelerine başlayalım.

Adım 8 : Azure Data Factory üzerinde REST API’den veri çeken bir pipeline’ımız olsun. Bu pipeline’a Logic Apps’te kurduğumuz sistemi tetikleyecek bir Web Activity bileşeni ekleyelim. İsmini de “Power BI Dataset Refresh Trigger” olarak tanımlayalım.

Adım 9 : Sonrasında pipeline’a eklediğimiz Web Activity’nin “Settings” sekmesine tıklayarak sırasıyla aşağıdaki geliştirmeleri yapalım.

  1. Yukarıda Logic Apps geliştirmeleri yaparken Save butonuna basarak ürettiğimiz url’i kopyalamıştık. Kopyaladığımız bu url’i “URL” alanına yapıştıralım.
  2. “Method” alanını “POST” olarak seçelim.
  3. “Body” alanına da {} yazalım.

Böylelikle geliştirmelerimizi tamamlamış olduk. Geliştirdiğimiz pipeline’ı publish edip, debug butonuyla da çalıştıralım.

Sonuç : Pipeline başarıyla çalışıp öncelikle Power BI raporunda kullanacak verileri güncelleyecek ve sonrasında zaman kaybetmeden Power BI Dataset güncellemesi için Logic Apps uygulamasını tetikleyecektir. Tüm ortamlardaki süreçlerin çalışma detayları da aşağıdaki gibi olacaktır.

Bir sonraki yazıda görüşmek üzere …

Referanslar :

--

--