Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, Azure Stream Analytics'i kullanarak telefon araması verilerini analiz etme adımları gösterilmektedir. Bir istemci uygulaması tarafından oluşturulan telefon araması verileri, Stream Analytics işinin algıladığı sahte aramalar içerir. Kredi kartı dolandırıcılığı veya kimlik hırsızlığı gibi diğer dolandırıcılık algılama türleri için bu öğreticideki teknikleri kullanabilirsiniz.
Bu öğreticide, aşağıdaki görevleri gerçekleştireceksiniz:
- Örnek telefon araması verileri oluşturun ve Azure Event Hubs'a gönderin.
- Stream Analytics işi oluşturun.
- İş girişini ve çıkışını yapılandırın.
- Sahte çağrıları filtrelemek için sorgular tanımlayın.
- İşi test edin ve başlatın.
- Power BI'da sonuçları görselleştirme.
Önkoşullar
Başlamadan önce aşağıdaki adımları tamamladığınızdan emin olun:
- Azure aboneliğiniz yoksa ücretsiz bir hesap oluşturun.
- Microsoft İndirme Merkezi'nden TelcoGenerator.zip telefon araması olay oluşturucu uygulamasını indirin veya GitHub'dan kaynak kodunu alın.
- Bir Power BI hesabınız olması gerekir.
Azure'da oturum açma
Azure Portal’ında oturum açın.
Olay hub’ı oluşturma
Stream Analytics'in sahte çağrı veri akışını analiz etmeden önce bir olay hub'ına bazı örnek veriler göndermeniz gerekir. Bu öğreticide, Azure Event Hubs kullanarak Azure'a veri gönderirsiniz.
Olay hub'ı oluşturmak ve bu olay hub'ına çağrı verileri göndermek için aşağıdaki adımları kullanın:
Azure Portal’ında oturum açın.
Soldaki menüden Tüm hizmetler'i seçin, nesnelerin İnterneti'ni seçin, fareyi Event Hubs'ın üzerine getirin ve + (Ekle) düğmesini seçin.
Ad Alanı Oluştur sayfasında şu adımları izleyin:
Olay hub'ını oluşturmak istediğiniz Azure aboneliğini seçin.
Kaynak grubu için Yeni oluştur'u seçin ve kaynak grubu için bir ad girin. Event Hubs ad alanı bu kaynak grubunda oluşturulur.
Ad alanı adı için Event Hubs ad alanı için benzersiz bir ad girin.
Konum için, ad alanını oluşturmak istediğiniz bölgeyi seçin.
Fiyatlandırma katmanı için Standart'ı seçin.
Sayfanın alt kısmındaki Gözden geçir ve oluştur'u seçin.
Ad alanı oluşturma sihirbazının Gözden geçir + oluştur sayfasında, tüm ayarları gözden geçirdikten sonra sayfanın alt kısmındaki Oluştur'u seçin.
Ad alanı başarıyla dağıtıldıktan sonra Kaynağa git'i seçerek Event Hubs Ad Alanı sayfasına gidin.
Event Hubs ad alanı sayfasında, komut çubuğunda +Event Hub'ı seçin.
Olay Hub'ı Oluştur sayfasında, olay hub'ı için bir Ad girin. Bölüm Sayısı'nı 2 olarak ayarlayın. Kalan ayarlardaki varsayılan seçenekleri kullanın ve Gözden geçir ve oluştur'u seçin.
Gözden geçir ve oluştur sayfasında, sayfanın alt kısmındaki Oluştur'u seçin. Ardından dağıtımın başarıyla tamamlanmasını bekleyin.
Olay hub’ına erişim izni verme ve bir bağlantı anahtarı dizesi alma
Bir uygulamanın Azure Event Hubs'a veri gönderebilmesi için olay hub'ına erişim izni veren bir ilke olması gerekir. Erişim ilkesi, yetkilendirme bilgilerini içeren bir bağlantı dizesi oluşturur.
Event Hubs ad alanı sayfasında soldaki menüden Paylaşılan erişim ilkeleri'ni seçin.
İlke listesinden RootManageSharedAccessKey öğesini seçin.
Ardından Bağlantı dizesi - birincil anahtar'ın yanındaki kopyala düğmesini seçin.
Bağlantı dizesini bir metin düzenleyicisine yapıştırın. Sonraki bölümde bu bağlantı dizesine ihtiyacınız olacaktır.
Bağlantı dizesi şu şekilde görünür:
Endpoint=sb://<Your event hub namespace>.servicebus.windows.net/;SharedAccessKeyName=<Your shared access policy name>;SharedAccessKey=<generated key>bağlantı dizesi noktalı virgülle ayrılmış birden çok anahtar-değer çifti içerdiğine dikkat edin: Endpoint, SharedAccessKeyName ve SharedAccessKey.
Olay oluşturucu uygulamasını başlatma
TelcoGenerator uygulamasını başlatmadan önce bunu, daha önce oluşturduğunuz Azure Olay Hub’ına veri gönderecek şekilde yapılandırmanız gerekir.
TelcoGenerator.zip dosyasının içeriklerini ayıklayın.
TelcoGenerator\TelcoGenerator\telcodatagen.exe.configDosyayı istediğiniz bir metin düzenleyicisinde açın Birden.configfazla dosya vardır, bu nedenle doğru dosyayı açtığınızdan emin olun.Config dosyasındaki
<appSettings>öğesini şu bilgilerle güncelleştirin:- EventHubName anahtarının değerini önceki bölümde oluşturduğunuz olay hub'ının adına ayarlayın.
- Microsoft.ServiceBus.ConnectionString anahtarının değerini ad alanına bağlantı dizesi olarak ayarlayın. Eğer bir ad alanı yerine olay hub'ına bağlantı dizesi kullanıyorsanız, sonundaki
EntityPathdeğerini kaldırın (;EntityPath=myeventhub). EntityPath değerinden önceki noktalı virgülleri kaldırmayı unutmayın .
Dosyayı kaydedin.
Daha sonra bir komut penceresi açıp TelcoGenerator uygulamasını çıkardığınız dizine geçin. Ardından aşağıdaki komutu girin:
.\telcodatagen.exe 1000 0.2 2Bu komut aşağıdaki parametreleri alır:
- Saat başına arama verisi kaydının sayısı.
- Sahtekarlık olasılığının yüzdesi, uygulamanın ne sıklıkta sahte arama benzetimi gerçekleştirmesi gerektiği. 0,2 değeri, arama kayıtlarının yaklaşık %20'sinin sahte göründüğü anlamına gelir.
- Saat cinsinden süre, uygulamanın çalışması gereken saat sayısı. Ayrıca, komut satırında işlemi (Ctrl+C) sonlandırarak uygulamayı istediğiniz zaman durdurabilirsiniz.
Birkaç saniye sonra uygulama, telefon araması kayıtlarını olay hub'ına gönderirken ekranda bu kayıtları görüntülemeye başlar. Telefon araması verileri aşağıdaki alanları içerir:
Kayıt Tanım CallrecTime Arama başlangıç zamanı için zaman damgası. SwitchNum Aramayı bağlamak için kullanılan telefon anahtarı. Bu örnekte anahtarlar, çıkış ülkesini/bölgesini (ABD, Çin, Birleşik Krallık, Almanya veya Avustralya) temsil eden dizelerdir. CallingNum Arayanın telefon numarası. CallingIMSI Uluslararası Mobil Abone Kimliği (IMSI). Bu, arayanın benzersiz tanımlayıcısıdır. CalledNum Arama alıcısının telefon numarası. CalledIMSI Uluslararası Mobil Abone Kimliği (IMSI). Bu, arama alıcısının benzersiz tanımlayıcısıdır.
Akış Analizi İşini Oluşturma
Arama olaylarından oluşan bir akışa sahip olduğunuza göre, artık olay hub'ından veri okuyan bir Stream Analytics görevi oluşturabilirsiniz.
Stream Analytics işi oluşturmak için Azure portala gidin.
Soldaki menüden Tüm hizmetler'i seçin, Stream Analytics işleri'ni arayın, fareyi Stream Analytics işleri kutucuğunun üzerine getirin ve ardından düğmeyi seçin + veya açılır pencerede Oluştur'u seçin.
Yeni Stream Analytics işi sayfasında şu adımları izleyin:
Abonelik için Event Hubs ad alanını içeren aboneliği seçin.
Kaynak grubu için daha önce oluşturduğunuz kaynak grubunu seçin.
Örnek ayrıntıları bölümünde, Ad için Stream Analytics işi için benzersiz bir ad girin.
Bölge için Stream Analytics işini oluşturmak istediğiniz bölgeyi seçin. En iyi performans için işi ve olay hub'ını aynı bölgeye yerleştirmenizi ve bölgeler arasında veri aktarımı için ödeme yapmamanızı öneririz.
Barındırma ortamı< için henüz seçili değilse Bulut'a tıklayın. Stream Analytics işleri buluta veya uç bilişime dağıtılabilir. Bulut, Azure Bulut'a dağıtmanıza ve Edge ise bir IoT Edge cihazına dağıtmanıza olanak tanır.
Akış birimleri için 1'i seçin. Akış birimleri, bir işin yürütülmesi için gereken bilgi işlem kaynaklarını temsil eder. Varsayılan olarak, bu değer 1 olarak ayarlanır. Akış birimlerini ölçeklendirme hakkında bilgi edinmek için akış birimlerini anlama ve ayarlama başlıklı makaleye bakın.
Sayfanın alt kısmındaki Gözden geçir ve oluştur'u seçin.
Gözden geçir ve oluştur sayfasında ayarları gözden geçirin ve ardından Oluştur'u seçerek Stream Analytics işini oluşturun.
İş dağıtıldıktan sonra Kaynağa git'i seçerek Stream Analytics iş sayfasına gidin.
İş girişini yapılandır
Bir sonraki adım, önceki bölümde oluşturduğunuz olay hub'ını kullanarak işin veri okuyacağı bir giriş kaynağı tanımlamaktır.
Stream Analytics iş sayfasının soldaki menüde yer alan İş Topolojisi bölümünde Girişler'i seçin.
Girişler sayfasında + Giriş ekle ve Olay merkezi'ni seçin.
Olay hub'ı sayfasında şu adımları izleyin:
Giriş takma adı olarak CallStream girin. Giriş takma adı, girişinizi tanımlamak için kullanımı kolay bir addır. Giriş takma adı yalnızca alfasayısal karakterler ve kısa çizgiler içermeli ve 3 ile 63 karakter arasında olmalıdır.
Abonelik için olay hub'ını oluşturduğunuz Azure aboneliğini seçin. Etkinlik hub'ı, Stream Analytics işiyle aynı abonelikte veya farklı bir abonelikte olabilir.
Event Hubs ad alanı için önceki bölümde oluşturduğunuz Event Hubs ad alanını seçin. Geçerli aboneliğinizde kullanılabilen tüm ad alanları açılan listede listelenir.
Olay hub'ı adı için önceki bölümde oluşturduğunuz olay hub'ını seçin. Seçili ad alanında kullanılabilen tüm olay hub'ları açılan listede listelenir.
Olay hub'ındaki tüketici grubu için Yeni oluştur seçeneği seçili kalacak şekilde, olay hub'ında yeni bir tüketici grubu oluşturun. Her Stream Analytics işi için ayrı bir tüketici grubu kullanmanızı öneririz. Tüketici grubu belirtilmediyse, Stream Analytics işi
$Defaulttüketici grubunu kullanır. Bir iş, kendi kendine birleşim içerdiğinde veya birden çok girişi olduğunda, bazı girişler daha sonra birden fazla okuyucu tarafından okunabilir. Bu durum, tek bir tüketici grubundaki okuyucu sayısını etkiler.Kimlik doğrulama modu için Bağlantı dizesi'ne tıklayın. Bu seçenekle öğreticiyi test etmek daha kolaydır.
Olay hub'ı ilke adı için Var olanı kullan'ı seçin ve ardından varsayılan ilkeyi seçin: RootManageSharedAccessKey.
Sayfanın alt kısmındaki Kaydet'i seçin.
İş çıkışını yapılandırma
Son adım, işin dönüştürülen verileri yazabileceği bir çıkış havuzu tanımlamaktır. Bu öğreticide, Power BI'ı kullanarak verilerin çıktılarını alır ve görselleştirirsiniz.
Azure portalında Tüm kaynaklar'ı açın ve ASATutorial Stream Analytics işini seçin.
Stream Analytics işinin İş Topolojisi bölümünde Çıkışlar seçeneğini belirleyin.
Seç + Çıkış Ekle>Power BI.
Çıktı formunu aşağıdaki ayrıntılarla doldurun:
Ayarlar Önerilen değer Çıktı takma adı MyPBIoutput Grup çalışma alanı Çalışma alanım Veri kümesi adı ASAdataset Tablo adı ASATable Kimlik doğrulaması modu Kullanıcı belirteci Yetkile'yi seçin ve Power BI kimliğini doğrulamak için istemleri izleyin.
Power BI sayfasının alt kısmındaki Kaydet'i seçin.
Bu öğreticide Kullanıcı belirteci kimlik doğrulama modu kullanılır. Yönetilen Kimlik'i kullanmak için Azure Stream Analytics işinizin kimliğini Power BI'da doğrulamak için Yönetilen Kimlik kullanmayı bkz.
Gerçek zamanlı verileri dönüştürmek için sorgu oluşturma
Bu noktada, gelen veri akışını okumak için bir Stream Analytics işi ayarlarsınız. Sonraki adım, verileri gerçek zamanlı olarak analiz eden bir sorgu oluşturmaktır. Sorgular, Stream Analytics'e özgü bazı uzantıları olan SQL benzeri bir dil kullanır.
Öğreticinin bu bölümünde, bir giriş akışını analiz için dönüştürmenin birkaç yolunu öğrenmek için birkaç sorgu oluşturup test edersiniz.
Burada oluşturduğunuz sorgular yalnızca dönüştürülen verileri ekrana görüntüler. Sonraki bir bölümde, dönüştürülen verileri Power BI'a yazacaksınız.
Dil hakkında daha fazla bilgi için bkz. Azure Stream Analytics Sorgu Dili Başvurusu.
Geçiş sorgusu kullanarak test edin
Eğer tüm olayları arşivlemek istiyorsanız, olayın yükündeki tüm alanları okumak için bir geçiş sorgusu kullanın.
Azure portalında Stream Analytics işinize gidin ve soldaki menüden İş topolojisi'nin altında Sorgu'yu seçin.
Sorgu penceresine şu sorguyu girin:
SELECT * FROM CallStreamNot
SQL'de olduğu gibi anahtar sözcükler büyük/küçük harfe duyarlı değildir ve boşluk önemli değildir.
Bu sorguda,
CallStreamgirdiyi oluşturduğunuzda belirttiğiniz takma addır. Farklı bir diğer ad kullandıysanız, bunun yerine bu adı kullanın.Test sorgusu'nu seçin.
Stream Analytics işi girişten alınan örnek verilere karşı sorguyu çalıştırır ve çıktıyı pencerenin alt kısmında görüntüler. Sonuçlar Event Hubs ve Streaming Analytics işinin doğru yapılandırıldığını gösterir.
Gördüğünüz kayıtların tam sayısı, örnekte kaç kaydın yakalandığına bağlıdır.
Sütun projeksiyonu kullanarak alan sayısını azaltın
Çoğu durumda, çözümlemeniz giriş akışındaki tüm sütunlara ihtiyaç duymaz. Daha küçük bir alan kümesi yansıtmak için sorguyu, geçiş sorgusuna kıyasla kullanın.
Aşağıdaki sorguyu çalıştırın ve çıktıya dikkat edin.
SELECT CallRecTime, SwitchNum, CallingIMSI, CallingNum, CalledNum
INTO
[MyPBIoutput]
FROM
CallStream
Bölgeye göre gelen çağrıları say: Toplama ile atlayan pencere
Bölge başına gelen çağrı sayısını saymak istediğinizi varsayalım. Akış verilerinde, sayma gibi toplama işlevlerini gerçekleştirmek istediğinizde, veri akışının kendisi etkili bir şekilde sonsuz olduğundan akışı zamansal birimler halinde segmentlere ayırmanız gerekir. Bu segmentasyonu streaming analytics pencere işlevi kullanarak yaparsınız. Daha sonra bu pencerenin içindeki verilerle birim olarak çalışabilirsiniz.
Bu dönüşüm için, örtüşmeyen bir zamansal pencere dizisi istiyorsunuz; her pencerede gruplandırabileceğiniz ve toplayabileceğiniz ayrı bir veri kümesi vardır. Bu tür bir pencere, Yuvarlanan pencere olarak adlandırılır. Atlayan pencere içinde, çağrıların geldiği bölgeyi temsil eden SwitchNum tarafından gruplandırılmış gelen çağrıların sayısını alabilirsiniz.
Aşağıdaki sorguyu sorgu düzenleyicisine yapıştırın:
SELECT System.Timestamp as WindowEnd, SwitchNum, COUNT(*) as CallCount FROM CallStream TIMESTAMP BY CallRecTime GROUP BY TUMBLINGWINDOW(s, 5), SwitchNumBu sorgu,
Timestamp Byanahtar sözcüğünüFROMyan tümcede yer alarak, Tumbling penceresini tanımlamak için giriş akışında hangi zaman damgası alanının kullanılacağını belirtir. Bu durumda, pencere verileri her kayıttaki alana göreCallRecTimesegmentlere böler. Bir alan belirtmezseniz, pencereleme işlemi her olayın olay hub'ına ulaştığı saati kullanır. Daha fazla bilgi için Stream Analytics Sorgu Dili Başvurusu'ndaki "Varış Zamanı ve Uygulama Zamanı" bölümüne bakın.Projeksiyon,
System.Timestampöğesini içerir, bu da her pencerenin sonu için bir zaman damgası döndürür.Atlayan pencere kullanmak istediğinizi belirtmek için yan tümcesindeki
GROUP BYişlevini kullanın. İşlevde bir zaman birimi (bir mikrosaniyeden bir güne kadar herhangi bir yerde) ve bir pencere boyutu (kaç birim) belirtirsiniz. Bu örnekte Atlayan pencere 5 saniyelik aralıklardan oluşur, bu nedenle her 5 saniyelik çağrılar için bölgeye göre sayım alırsınız.Test sorgusu'nu seçin. Sonuçlarda, WindowEnd altındaki zaman damgalarının 5 saniye aralıkla olduğunu fark edeceksiniz.
Kendi kendine join kullanarak SIM sahtekarlığını algılama
Bu örnekte, sahte kullanımın aynı kullanıcıdan gelen ancak birbirinden beş saniye içinde farklı konumlarda bulunan çağrılar olduğunu düşünün. Örneğin, bir kullanıcı mantıksal olarak aynı anda hem ABD’den hem de Avustralya’dan arama yapamaz.
Bu durumları denetlemek için akış verilerinin kendi kendine birleşimini kullanarak akışı değere göre kendi kendine birleştirin CallRecTime . Ardından, değerin CallingIMSI (kaynak numara) aynı olduğu ancak SwitchNum değerin (kaynak bölge) aynı olmadığı çağrı kayıtlarını arayabilirsiniz.
Akış verileriyle birleştirme kullandığınızda, eşleşen satırların zaman içinde ne kadar ayrılabileceğine ilişkin bazı sınırlar sağlamanız gerekir. Daha önce belirtildiği gibi, akış verileri etkili bir şekilde sonsuzdur. İlişkinin zaman sınırlarını, DATEDIFF işlevini kullanarak, ON birleştirme cümlesi içinde belirtirsiniz. Bu durumda birleşim, beş saniyelik çağrı verilerini temel alır.
Aşağıdaki sorguyu sorgu düzenleyicisine yapıştırın:
SELECT System.Timestamp AS WindowEnd, COUNT(*) AS FraudulentCalls INTO "MyPBIoutput" FROM "CallStream" CS1 TIMESTAMP BY CallRecTime JOIN "CallStream" CS2 TIMESTAMP BY CallRecTime ON CS1.CallingIMSI = CS2.CallingIMSI AND DATEDIFF(ss, CS1, CS2) BETWEEN 1 AND 5 WHERE CS1.SwitchNum != CS2.SwitchNum GROUP BY TumblingWindow(Duration(second, 1))Bu sorgu, birleştirmedeki
DATEDIFFişlev dışında herhangi bir SQL birleşimi gibidir. BuDATEDIFFsürümü, Streaming Analytics'e özgüdür veON...BETWEENcümlesinde yer almalıdır. Parametreler bir zaman birimidir (bu örnekteki saniyeler) ve birleştirme için iki kaynağın diğer adlarıdır. Bu işlev standart SQLDATEDIFFişlevinden farklıdır.WHEREyan tümcesi, sahte çağrıyı işaretleyen koşulu içerir: başlangıç anahtarları aynı değildir.Test sorgusu'nu seçin. Çıkışı gözden geçirin ve ardından Sorguyu Kaydet seçin.
İşi başlat, çıkışı görselleştir
İşi başlatmak için işe Genel Bakış'a gidin ve Başlat'ı seçin.
İş çıkışı başlangıç saati için Şimdi’yi seçip Başlat seçeneğini belirleyin. İş durumunu bildirim çubuğunda görüntüleyebilirsiniz.
İş başarılı olduktan sonra Power BI'a gidin ve iş veya okul hesabınızla oturum açın. Stream Analytics işi sorgusu sonuçları verirse, oluşturduğunuz ASAdataset veri kümesi Veri Kümeleri sekmesinin altında görünür.
Power BI çalışma alanınızdan + Oluştur'u seçerek Fraudulent Calls adında yeni bir pano oluşturun.
Pencerenin üst kısmında Düzenle ve Kutucuk ekle'yi seçin.
Kutucuk Ekle penceresinde Özel Akış Verileri ve İleri'yi seçin.
Veri Kümeleriniz'in altında ASAdataset'i ve ardından İleri'yi seçin.
Kart'ı Görselleştirme türü açılan listesinden seçin, sahte aramalar'ı Alanlar'a ekleyin ve ardından İleri'yi seçin.
Kutucuk için bir ad girin (örneğin, Sahte aramalar) ve ardından kutucuğu oluşturmak için Uygula'yı seçin.
Aşağıdaki seçeneklerle 5. adımı yeniden izleyin:
- Görselleştirme Türü’ne geldiğinizde Çizgi grafik seçeneğini belirleyin.
- Eksen ekleyin ve windowend seçeneğini belirleyin.
- Bir değer ekleyin ve sahte aramaları seçin.
- Görüntülenecek zaman penceresini için son 10 dakikayı seçin.
Her iki kutucuk da eklendikten sonra panonuz aşağıdaki örneğe benzer. Olay hub'ı gönderen uygulamanız ve Stream Analytics uygulamanız çalışıyorsa Power BI panonuz yeni veriler geldikçe düzenli aralıklarla güncelleştirilir.
Power BI Panonuzu web uygulamasına ekleme
Öğreticinin bu bölümü için Power BI ekibi tarafından oluşturulan örnek ASP.NET web uygulamasını kullanarak panonuzu ekleyin. Pano ekleme hakkında daha fazla bilgi için Power BI ile ekleme makalesine bakın.
Uygulamayı ayarlamak için Power BI-Developer-Samples GitHub deposuna gidin ve Verilerin Sahibi Kullanıcı bölümü altındaki yönergeleri izleyin (integrate-web-app alt bölümündeki yeniden yönlendirme ve giriş sayfası URL'lerini kullanın). Pano örneğini kullandığınızdan GitHub deposunda bulunan integrate-web-app örnek kodunu kullanın. Uygulamayı tarayıcınızda çalıştırdıktan sonra, daha önce oluşturduğunuz panoyu web sayfasına eklemek için şu adımları izleyin:
Uygulamaya Power BI hesabınızdaki panolara erişim veren Power BI'da oturum aç seçeneğini seçin.
Hesabınızın Panolarını bir tabloda görüntüleyen Pano Al düğmesini seçin. Daha önce oluşturduğunuz panonun adını (powerbi-embedded-dashboard) bulun ve ilgili EmbedUrl’yi kopyalayın.
Son olarak, EmbedUrl’yi ilgili metin alanına yapıştırıp Panoyu Ekle seçeneğini belirleyin. Artık bir web uygulamasının içine eklenen panoyu görüntüleyebilirsiniz.
Sonraki adımlar
Bu öğreticide, basit bir Stream Analytics işi oluşturdunuz, gelen verileri analiz ettiniz ve sonuçları bir Power BI panosunda sundunuz. Stream Analytics işleri hakkında daha fazla bilgi edinmek için sonraki öğreticiye geçin: