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 hızlı başlangıçta, yerel makinenizde Visual Studio Code için ASA Araçları uzantısını kullanarak bir Azure Stream Analytics (ASA) işi oluşturacak, çalıştıracak ve göndereceksiniz. IoT Hub'dan gerçek zamanlı akış verilerini alan ve 27°'den büyük bir sıcaklığa sahip olayları filtreleyen bir ASA işini nasıl oluşturacağınızı öğrenin. Çıktı sonuçları blob depolamadaki bir dosyaya gönderilir. Bu hızlı başlangıçta kullanılan giriş verileri bir Raspberry Pi çevrimiçi simülatörü tarafından oluşturulur.
Not
Visual Studio Code araçları Doğu Çin, Kuzey Çin, Orta Almanya ve Almanya Kuzeydoğu bölgelerindeki işleri desteklemez.
Önkoşullar
- Azure aboneliği. Azure aboneliğiniz yoksa ücretsiz hesap oluşturun.
- Visual Studio Code.
Azure Stream Analytics Araçları uzantısını yükleme
Visual Studio Code'ı (VS Code) açın.
Sol bölmedeki Uzantılar'dan akış analizi araması yapın ve Azure Stream Analytics Araçları uzantısında Yükle'yiseçin.
Yüklendikten sonra etkinlik çubuğundaki Azure simgesini seçin ve Azure'da oturum açın.
Oturum açtıktan sonra abonelikleri Azure hesabınızın altında görebilirsiniz.
Not
ASA Araçları uzantısı, VS Code'un her açışında otomatik olarak oturum açar. Hesabınızda iki öğeli kimlik doğrulaması varsa PIN kullanmak yerine telefon kimlik doğrulamasını kullanın. Azure hesabınızın oturumunu kapatmak için tuşuna basın Ctrl + Shift + P ve girin Azure: Sign Out.
Girdi verilerini hazırlama
Stream Analytics işini tanımlamadan önce giriş verilerini hazırlayın. Çözüm, gerçek zamanlı algılayıcı verilerini IoT Hub'a aktarır, daha sonra yapılandırarak iş girişi olarak kullanırsınız. İşin gerektirdiği giriş verilerini hazırlamak için aşağıdaki adımları tamamlayın:
Azure portalınaoturum açın.
Kaynak oluştur’u seçin. Kaynak oluştur sayfasında Nesnelerin İnterneti IoT Hub'ı> seçin.
IoT Hub sayfasında şu adımları izleyin:
- Abonelik için Azure aboneliğinizi seçin.
- Kaynak grubu için mevcut bir kaynak grubunu seçin veya yeni bir kaynak grubu oluşturun.
- IoT hub'ı adı için IoT hub'ınız için bir ad girin.
- Bölge için size en yakın bölgeyi seçin.
- Katman için, aboneliğinizde hâlâ mevcutsa Ücretsiz'i seçin. Daha fazla bilgi için bkz. IoT Hub fiyatlandırması.
- Günlük ileti sınırı için varsayılan değeri koruyun.
- Sayfanın alt kısmındaki İleri: Ağ'ı seçin.
Seçin, gözden geçir ve oluştur. IoT Hub bilgilerinizi gözden geçirin ve Oluştur'u seçin. IoT Hub'ınızın oluşturulması birkaç dakika sürebilir. İlerleme durumunu Bildirimler bölmesinden izleyebilirsiniz.
Kaynak (IoT hub) oluşturulduktan sonra, IoT Hub sayfasına gitmek için Kaynağa git'i seçin.
IoT Hub sayfasında, soldaki menüden Cihazlar'ı ve ardından + Cihaz ekle'yi seçin.
Bir Cihaz Kimliği girin ve Kaydet'i seçin.
Cihazı oluşturduktan sonra IoT cihazları listesinde görürsünüz. Görmüyorsanız sayfada Yenile düğmesini seçin.
Listeden cihazınızı seçin.
Cihaz sayfasında Birincil Bağlantı Dizesi'nin yanındaki kopyala düğmesini seçin ve daha sonra kullanmak üzere not defterine kaydedin.
IoT simülatörünü çalıştırma
15. satırdaki yer tutucuyu önceki bölümde kaydettiğiniz Azure IoT Hub cihaz bağlantı dizesiyle değiştirin.
Çalıştır seçin. Çıktıda IoT Hub'ınıza gönderilen algılayıcı verileri ve iletileri gösterilir.
Önemli
Birkaç dakika sonra bağlantı dizesini sıfırlamak için Sıfırla'yı seçin.
Blob depolama oluşturma
Azure portalının sol üst köşesinden Bir kaynak oluşturun>Depolama>Depolama hesabı'nı seçin.
Depolama hesabı oluştur bölmesinde bir depolama hesabı adı, konumu ve kaynak grubu girin. Oluşturduğunuz IoT hub'ı ile aynı konumu ve kaynak grubunu seçin. Ardından Gözden Geçir ve Oluştur'u seçerek depolama hesabını oluşturun.
Depolama hesabı sayfasında, soldaki menüden Kapsayıcılar'ı seçin ve ardından komut çubuğunda + Kapsayıcı'yı seçin.
Yeni kapsayıcı sayfasında kapsayıcınız için bir ad girin, Genel erişim düzeyini Özel (anonim erişim yok) olarak bırakın ve Tamam'ı seçin.
Stream Analytics projesi oluşturma
Visual Studio Code'daKomut Paleti> seçin ve ASA: Yeni Proje Oluştur yazın.
myASAproj gibi proje adınızı girin ve projeniz için bir klasör seçin.
Visual Studio Code çalışma alanınıza bir ASA projesi ekler. Üç klasörden oluşur: Girişler, Çıkışlar ve İşlevler. Ayrıca sorgu betiği (*.asaql), JobConfig.json dosyası ve asaproj.json yapılandırma dosyası vardır.
asaproj.json dosyası Stream Analytics işini Azure'a göndermek için girişleri, çıkışları ve iş yapılandırma ayarlarını içerir.
Not
Komut paletinden giriş ve çıkış eklediğinizde, ilgili yollar otomatik olarak asaproj.json dosyasına eklenir. Diske doğrudan giriş veya çıkış ekler veya kaldırırsanız, bunları el ile eklemeniz veya asaproj.json kaldırmanız gerekir. Girişleri ve çıkışları tek bir yere yerleştirip her asaproj.json dosyasındaki yolları belirterek bunlara farklı işlerde başvurabilirsiniz.
Dönüşüm sorgusunu tanımlama
myASAproj.asaql dosyasını açın ve aşağıdaki sorguyu ekleyin:
SELECT * INTO Output FROM Input WHERE Temperature > 27
İş girişini yapılandır
Stream Analytics projenizde Girişler klasörüne sağ tıklayın. Ardından bağlam menüsünden ASA: Giriş Ekle'yi seçin.
Ya da Ctrl+Shift+P tuşlarına basarak komut paletini açın ve ASA: Giriş Ekle yazın.
Giriş türü için IoT Hub'ı seçin.
Açılan menüden Azure aboneliklerinden seç'i seçin ve ENTER tuşuna basın.
Ad için Giriş yazın ve ENTER tuşuna basın.
Girişler klasörü altında bir Input.json dosyası oluşturulduğunu görürsünüz.
JSON dosyasında, Input öğesinin Name olarak belirtildiğinden emin olun.
Input.json için JSON düzenleyicisinde Aboneliklerinizden seç'i seçin ve ardından IoT hub'ı olan Azure aboneliğinizi seçin.
JSON düzenleyicisinde IoT Hub'ı seçin'i ve ardından oluşturduğunuz IoT hub'ını seçin.
Varsayılan olarak,
SharedAccessPolicyNameolarak ayarlanmalıdıriothubowner. Yoksa, Paylaşılan Erişim İlkesi Adı seçin bağlantısını seçin ve ardından açılan listeden iothubowner'ı seçin.Değer
SharedAccessPolicyKeyotomatik olarak ayarlanmalıdır.Giriş verilerinin işiniz için başarıyla yapılandırılıp yapılandırılmamış olduğunu görmek için Verileri önizleme'yi seçin. IoT Hub'unuzdan bir örnek alır ve önizleme penceresinde gösterir.
İş çıkışını yapılandırma
- Gezginde Çıkışlar'a sağ tıklayın ve ASA: Çıktı Ekle'yi seçin.
- Açılan listede havuz türü için Data Lake Storage 2. Nesil/Blob Depolama'yı seçin.
- Azure aboneliklerinden seç'i seçin.
- Takma adın adı olarak Çıkış girin ve ENTER tuşuna basın. Bu çıkış adı, sorgudaki INTO deyimi için kullanılır.
- Output.jsoniçin JSON düzenleyicisinde Aboneliklerinizden seç'i seçin ve ardından Azure Depolama hesabı olan Azure aboneliğinizi seçin.
- Otomatik olarak doldurulan depolama hesabını değiştirmeniz gerekiyorsa Depolama hesabı seçin'i ve ardından Azure Depolama hesabınızı seçin. Aynı abonelikte oluşturulmuşlarsa, depolama hesabı adları otomatik olarak algılanır.
- Kapsayıcı adını değiştirmeniz gerekiyorsa Kapsayıcı seç'i seçin ve oluşturduğunuz blob kapsayıcısını seçin.
Betiği derleyin ve Azure'a gönderin
Script derleme söz dizimi denetleme yapar ve otomatik dağıtım için Azure Resource Manager şablonlarını oluşturur.
Gezgin penceresinde betik dosyasına sağ tıklayın, ASA: Derleme Betiği'nin üzerine gelin ve ardından ASA: ARM Şablonu V2 (önerilir)'i seçin.
Derlemeden sonra, projenizin altında iki Azure Resource Manager şablonu içeren bir Dağıt klasörü görürsünüz. Bu iki dosya otomatik dağıtım için kullanılır.
Sorgu düzenleyicisinde Azure'a gönder'i seçin.
Gönder penceresinde şu adımları izleyin:
Azure aboneliğinizi seçin.
Bir Azure kaynak grubu seçin.
Stream Analytics işini oluşturmak istediğiniz bölgeyi seçin.
Ardından Gönder'i seçin.
Azure'da yayımla'yı seçin ve tamamlayın. bunun, işinizin durumunu gösteren yeni bir Bulut İşi Görünümü sekmesi açmasını bekleyin.
Stream Analytics işini başlatıp çıktıyı denetleyin
Bulut İşi Görünümü sekmesinde Başlat'ı seçerek işinizi bulutta çalıştırın.
Akış işini başlat penceresinde Tamam'ı seçin. Bu işlemin tamamlanması birkaç dakika sürer.
İşiniz başarıyla başlarsa, iş durumu Çalışıyor olarak değişir. ASA işinizin nasıl çalıştığını gösteren mantıksal bir diyagram görürsünüz.
Çıktı sonuçlarını görüntülemek için blob depolama alanını Visual Studio Code uzantısında veya Azure portalında açın.
Çıktıyı görmek için dosyayı indirip açın.
{"messageId":11,"deviceId":"Raspberry Pi Web Client","temperature":28.165519323167562,"humidity":76.875393581654379,"EventProcessedUtcTime":"2022-09-01T22:53:58.1015921Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:52:57.6250000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:52:57.6290000Z"}} {"messageId":14,"deviceId":"Raspberry Pi Web Client","temperature":29.014941877871451,"humidity":64.93477299527828,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:03.6100000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:03.6140000Z"}} {"messageId":17,"deviceId":"Raspberry Pi Web Client","temperature":28.032846241745975,"humidity":66.146114343897338,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:19.5960000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:19.5830000Z"}} {"messageId":18,"deviceId":"Raspberry Pi Web Client","temperature":30.176185593576143,"humidity":72.697359909427419,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:21.6120000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:21.6140000Z"}} {"messageId":20,"deviceId":"Raspberry Pi Web Client","temperature":27.851894248213021,"humidity":71.610229530268214,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:25.6270000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:25.6140000Z"}} {"messageId":21,"deviceId":"Raspberry Pi Web Client","temperature":27.718624694772238,"humidity":66.540445035685153,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:48.0820000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:48.0830000Z"}} {"messageId":22,"deviceId":"Raspberry Pi Web Client","temperature":27.7849054424326,"humidity":74.300662748167085,"EventProcessedUtcTime":"2022-09-01T22:54:09.3393532Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:09.2390000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:09.2400000Z"}} {"messageId":28,"deviceId":"Raspberry Pi Web Client","temperature":30.839892925680324,"humidity":76.237611741451786,"EventProcessedUtcTime":"2022-09-01T22:54:47.8053253Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:47.6180000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:47.6150000Z"}} {"messageId":29,"deviceId":"Raspberry Pi Web Client","temperature":30.561040300759053,"humidity":78.3845172058103,"EventProcessedUtcTime":"2022-09-01T22:54:49.8070489Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:49.6030000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:49.5990000Z"}} {"messageId":31,"deviceId":"Raspberry Pi Web Client","temperature":28.163585438418679,"humidity":60.0511571297096,"EventProcessedUtcTime":"2022-09-01T22:55:25.1528729Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:55:24.9050000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:55:24.9120000Z"}} {"messageId":32,"deviceId":"Raspberry Pi Web Client","temperature":31.00503387156985,"humidity":78.68821066044552,"EventProcessedUtcTime":"2022-09-01T22:55:43.2652127Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:55:43.0480000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:55:43.0520000Z"}}
Kaynakları temizleme
Kaynaklara artık ihtiyacınız kalmadığında kaynak grubunu, Stream Analytics işini ve tüm ilgili kaynakları silin. İşin silinmesi halinde, işin tükettiği akış birimleri için faturalandırma durur. gelecekte işi kullanmayı planlıyorsanız, işi durdurabilir ve daha sonra ihtiyacınız olduğunda yeniden başlatabilirsiniz. Bu işi kullanmaya devam etmeyecekseniz aşağıdaki adımları kullanarak bu hızlı başlangıç tarafından oluşturulan tüm kaynakları silin:
Azure portalının sol menüsünden Kaynak grupları'nı ve ardından oluşturduğunuz kaynağın adını seçin.
Kaynak grubunuzun sayfasında Sil’i seçin. Metin kutusuna silinecek kaynağın adını girin ve Sil'i seçin.
Sonraki adımlar
Visual Studio Code için ASA Araçları uzantısı hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın: