Uzaktan İzleme çözüm hızlandırıcısını yerel olarak dağıtma - Visual Studio
Bu makalede, uzaktan izleme çözümü hızlandırıcısının test ve geliştirme amacıyla yerel makinenize nasıl dağıtılacağı gösterilmektedir. mikro hizmetleri Visual Studio'da çalıştırmayı öğrenirsiniz. Yerel mikro hizmetler dağıtımı şu bulut hizmetlerini kullanır: IoT Hub, Cosmos DB, Azure Streaming Analytics ve buluttaki Azure Time Series Insights hizmetleri.
Yerel makinenizde Docker'da Uzaktan İzleme çözüm hızlandırıcısını çalıştırmak istiyorsanız bkz. Uzaktan İzleme çözüm hızlandırıcısını yerel olarak dağıtma - Docker.
Önkoşullar
Uzaktan İzleme çözümü hızlandırıcısı tarafından kullanılan Azure hizmetlerini dağıtmak için etkin bir Azure aboneliğine ihtiyacınız vardır.
Hesabınız yoksa yalnızca birkaç dakika içinde ücretsiz bir deneme sürümü hesabı oluşturabilirsiniz. Ayrıntılı bilgi için bkz. Azure Ücretsiz Deneme Sürümü.
Makine kurulumu
Yerel dağıtımı tamamlamak için yerel geliştirme makinenizde aşağıdaki araçların yüklü olması gerekir:
- Git
- Docker
- Visual Studio
- Nginx
- v8Node.js - Bu yazılım, betiklerin Azure kaynakları oluşturmak için kullandığı PCS CLI için bir önkoşuldur. Node.js v10 kullanmayın.
Not
Visual Studio Windows ve Mac için kullanılabilir.
Kaynak kodu indirme
Uzaktan İzleme kaynak kodu depoları, mikro hizmetler Docker görüntülerini çalıştırmak için ihtiyacınız olan kaynak kodunu ve Docker yapılandırma dosyalarını içerir.
Deponun yerel bir sürümünü kopyalayıp oluşturmak için komut satırı ortamınızı kullanarak yerel makinenizde uygun bir klasöre gidin. Ardından aşağıdaki komut kümelerinden birini çalıştırarak .NET deposunu kopyalayın:
.NET mikro hizmet uygulamalarının en son sürümünü indirmek için şunu çalıştırın:
git clone --recurse-submodules https://github.com/Azure/azure-iot-pcs-remote-monitoring-dotnet.git
# To retrieve the latest submodules, run the following command:
cd azure-iot-pcs-remote-monitoring-dotnet
git submodule foreach git pull origin master
Not
Bu komutlar, mikro hizmetleri yerel olarak çalıştırmak için kullandığınız betiklere ek olarak tüm mikro hizmetlerin kaynak kodunu indirir. Docker'da mikro hizmetleri çalıştırmak için kaynak koduna ihtiyacınız olmasa da, daha sonra çözüm hızlandırıcısını değiştirmeyi ve değişikliklerinizi yerel olarak test etmek istiyorsanız kaynak kodu yararlı olur.
Azure hizmetlerini dağıtma
Bu makalede mikro hizmetlerin yerel olarak nasıl çalıştırılacakları gösterse de bunlar bulutta çalışan Azure hizmetlerine bağımlıdır. Azure hizmetlerini dağıtmak için aşağıdaki betiği kullanın. Aşağıdaki betik örneklerinde bir Windows makinesinde .NET deposunu kullandığınız varsayılır. Başka bir ortamda çalışıyorsanız yolları, dosya uzantılarını ve yol ayırıcılarını uygun şekilde ayarlayın.
Yeni Azure kaynakları oluşturma
Gerekli Azure kaynaklarını henüz oluşturmadıysanız şu adımları izleyin:
Komut satırı ortamınızda, deponun kopyaladığınız kopyasında \services\scripts\local\launch klasörüne gidin.
Pcs CLI aracını yüklemek ve Azure hesabınızda oturum açmak için aşağıdaki komutları çalıştırın:
npm install -g iot-solutions pcs login
start.cmd betiğini çalıştırın. Betik sizden aşağıdaki bilgileri ister:
Çözüm adı.
Kullanılacak Azure aboneliği.
Kullanılacak Azure veri merkezinin konumu.
Betik, Azure'da çözüm adınızla kaynak grubu oluşturur. Bu kaynak grubu, çözüm hızlandırıcısının kullandığı Azure kaynaklarını içerir. Karşılık gelen kaynaklara artık ihtiyacınız kalmadıktan sonra bu kaynak grubunu silebilirsiniz.
Betik ayrıca yerel makinenize PCS ön ekine sahip bir dizi ortam değişkeni ekler. Bu ortam değişkenleri, Bir Azure Key Vault kaynağından okuyabilmek için Uzaktan İzleme'nin ayrıntılarını sağlar. Bu Key Vault kaynağı, Uzaktan İzleme'nin yapılandırma değerlerini okuyacağı yerdir.
İpucu
Betik tamamlandığında, ortam değişkenlerini giriş klasörünüz>\.pcs\<solution name.env> adlı< bir dosyaya da kaydeder. Bunları gelecekteki çözüm hızlandırıcısı dağıtımları için kullanabilirsiniz. Docker-compose'u çalıştırdığınızda, yerel makinenizde ayarlanan ortam değişkenlerinin services\scripts\local\.env dosyasındaki değerleri geçersiz kıldığını unutmayın.
Komut satırı ortamınızdan çıkın.
Mevcut Azure kaynaklarını kullanma
Gerekli Azure kaynaklarını zaten oluşturduysanız, yerel makinenizde ilgili ortam değişkenlerini oluşturun. Ortam değişkenlerini aşağıdakiler için ayarlayın:
- PCS_KEYVAULT_NAME - Azure Key Vault kaynağının adı
- PCS_AAD_APPID - AAD uygulama kimliği
- PCS_AAD_APPSECRET - AAD uygulama gizli dizisi
Yapılandırma değerleri bu Azure Key Vault kaynağından okunur. Bu ortam değişkenleri dağıtımdan <giriş klasörünüz>\.pcs\<solution name.env> dosyasına kaydedilebilir. Yerel makinenizde ayarlanan ortam değişkenlerinin, docker-compose'u çalıştırdığınızda services\scripts\local\.env dosyasındaki değerleri geçersiz kıldığını unutmayın.
Mikro hizmet için gereken yapılandırmalardan bazıları, ilk dağıtımda oluşturulan bir Key Vault örneğinde depolanır. Keyvault içindeki karşılık gelen değişkenler gerektiğinde değiştirilmelidir.
Mikro hizmetleri çalıştırma
Bu bölümde Uzaktan İzleme mikro hizmetlerini çalıştıracaksınız. Web kullanıcı arabirimini yerel olarak, Docker'da Cihaz Benzetimi hizmetini ve Visual Studio mikro hizmetleri çalıştırırsınız.
Cihaz benzetimi hizmetini çalıştırma
Önceki bölümde start.cmd betiği tarafından ayarlanan ortam değişkenlerine erişiminiz olduğundan emin olmak için yeni bir komut istemi penceresi açın.
Cihaz benzetimi hizmeti için Docker kapsayıcısını başlatmak için aşağıdaki komutu çalıştırın. Hizmet, uzaktan izleme çözümü için cihazların simülasyonunu oluşturur.
<path_to_cloned_repository>\services\device-simulation\scripts\docker\run.cmd
Diğer tüm mikro hizmetleri yerel makinede dağıtma
Aşağıdaki adımlar, uzaktan izleme mikro hizmetlerinin Visual Studio nasıl çalıştırabileceğinizi gösterir:
- Visual Studio başlatın.
- Deponuzun yerel kopyasındaki services klasöründe remote-monitoring.sln çözümünü açın.
- Çözüm Gezgini'da çözüme sağ tıklayın ve Özellikler'e tıklayın.
- Ortak Özellikler > Başlangıç Project'ni seçin.
-
Birden çok başlangıç projesi'ni seçin ve aşağıdaki projeler için Eylem'iBaşlat olarak ayarlayın:
- WebService (asa-manager\WebService)
- WebService (auth\WebService)
- WebService (config\WebService)
- WebService (device-telemetry\WebService)
- WebService (iothub-manager\WebService)
- WebService (depolama bağdaştırıcısı\WebService)
- Seçimlerinizi kaydetmek için Tamam'a tıklayın.
- Web hizmetlerini yerel makinede derlemek ve çalıştırmak için Hata > Ayıklamayı Başlat'a tıklayın.
Her web hizmeti bir komut istemi ve web tarayıcısı penceresi açar. Komut isteminde, çalışan hizmetin çıkışını görürsünüz ve tarayıcı penceresi durumu izlemenize olanak tanır. Komut istemlerini veya web sayfalarını kapatmayın, bu eylem web hizmetini durdurur.
Stream Analytics işini başlatma
Stream Analytics işini başlatmak için şu adımları izleyin:
- Azure portal gidin.
- Çözümünüz için oluşturulan Kaynak grubuna gidin. Kaynak grubunun adı, start.cmd betiğini çalıştırdığınızda çözümünüz için seçtiğiniz addır.
- Kaynak listesinde Stream Analytics işine tıklayın.
- Stream Analytics işine genel bakış sayfasında Başlangıç düğmesine tıklayın. Ardından, işi şimdi başlatmak için Başlat'a tıklayın.
Web kullanıcı arabirimini çalıştırma
Bu adımda web kullanıcı arabirimini başlatırsınız. start.cmd betiği tarafından ayarlanan ortam değişkenlerine erişiminiz olduğundan emin olmak için yeni bir komut istemi penceresi açın. Deponuzun yerel kopyasındaki webui klasörüne gidin ve aşağıdaki komutları çalıştırın:
npm install
npm start
Başlangıç tamamlandığında, tarayıcınız sayfasını http://localhost:3000/dashboardgörüntüler. Bu sayfadaki hatalar beklenir. Uygulamayı hatasız görüntülemek için aşağıdaki adımı tamamlayın.
NGINX'i yapılandırma ve çalıştırma
Web uygulamasını ve yerel makinenizde çalışan mikro hizmetleri bağlamak için ters ara sunucu ayarlayın:
- Deponun yerel kopyasındaki webui\scripts\localhost klasöründeki nginx.conf dosyasını nginx\conf yükleme dizinine kopyalayın.
- nginx komutunu çalıştırın.
nginx çalıştırma hakkında daha fazla bilgi için bkz. Windows için nginx.
Panoya Bağlan
Uzaktan İzleme çözümü panosuna erişmek için http://localhost:9000 tarayıcınızda adresine gidin.
Temizleme
Gereksiz ücretlerden kaçınmak için, testinizi bitirdiğinizde bulut hizmetlerini Azure aboneliğinizden kaldırın. Hizmetleri kaldırmak için Azure portal gidin ve start.cmd betiğinin oluşturduğu kaynak grubunu silin.
Kaynak kodu GitHub kopyaladığınızda oluşturulan Uzaktan İzleme deposunun yerel kopyasını da silebilirsiniz.
Sonraki adımlar
Uzaktan İzleme çözümünü dağıttığınıza göre, sonraki adım çözüm panosunun özelliklerini keşfetmektir.