72
Microsoft Azure 自習書シリーズ 初級編 Azure IoT ソリューションアクセラレーターの使用 この文章に含まれる情報は、公表の日付の時点での Microsoft Corporation の考え方を表していま す。市場の変化に応えるため、 Microsoft は記載されている内容を約束しているわけではありません。こ の文書の内容は印刷後も正しいとは保障できません。この文章は情報の提供のみを目的としています。 Microsoft SQL ServerVisual StudioWindows Microsoft Corporation の米国およびその他の国 における登録商標です。 その他、記載されている会社名および製品名は、各社の商標または登録商標です。 この文章内での引用(図版やロゴ、文章等)は、日本マイクロソフト株式会社からの許諾を受けてい ます。 © Copyright 2018 Microsoft Corporation. All rights reserved. 発行日 : 2018 9 20

Microsoft Azure 自習書シリーズdownload.microsoft.com/download/C/E/0/CE041DB1-BE60-4419... · 2018-10-16 · Microsoft Azure自習書シリーズ IoT - 6 - 1.2. 学習方法と事前準備

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Microsoft Azure自習書シリーズ 初級編

Azure IoT ソリューションアクセラレーターの使用

この文章に含まれる情報は、公表の日付の時点での Microsoft Corporation の考え方を表していま

す。市場の変化に応えるため、Microsoft は記載されている内容を約束しているわけではありません。こ

の文書の内容は印刷後も正しいとは保障できません。この文章は情報の提供のみを目的としています。

Microsoft 、SQL Server、Visual Studio、Windows は Microsoft Corporation の米国およびその他の国

における登録商標です。

その他、記載されている会社名および製品名は、各社の商標または登録商標です。

この文章内での引用(図版やロゴ、文章等)は、日本マイクロソフト株式会社からの許諾を受けてい

ます。

© Copyright 2018 Microsoft Corporation. All rights reserved.

発行日 : 2018年 9月 20日

Microsoft Azure自習書シリーズ IoT

- 2 -

更新履歴

版数 発行日 更新履歴

第 1 版 2016 年 1 月 12 日 初版発行

第2版 2018 年 9 月 20 日 Azure IoT ソリューションア

クセラレーターへ名称変更

Microsoft Azure自習書シリーズ IoT

- 3 -

目次

1. Microsoft Azure 自習書シリーズ 初級編の概要 .............................................................................................. 4

1.1. はじめに ...................................................................................................................................................................... 4

1.2. 学習方法と事前準備 ............................................................................................................................................... 6

2. ポータルから新規にソリューションを作成する............................................................................................. 8

2.1. Azure IoT ソリューションアクセラレーターにアクセスする ............................................................... 9

2.2. ポータルから新しいソリューションを作成する ...................................................................................... 11

3. デバイスの構成および管理 .................................................................................................................................... 16

3.1. シミュレートデバイスの追加 ........................................................................................................................... 17

3.2. シミュレートされたデバイスのテスト ........................................................................................................ 20

3.3. ダッシュボードを使用する ............................................................................................................................... 23

3.4. アラートに対処する ............................................................................................................................................. 26

4. リモート監視の事前構成済みソリューションの構成要素 ........................................................................ 32

4.1. リモート監視の事前構成済みソリューションの論理構成 ................................................................... 33

4.2. リモート監視ソリューションで使用されている Azure サービス ..................................................... 35

4.3. Azure IoT ソリューションアクセラレーターで使用されているプロトコル ................................. 39

5. 事前構成済みソリューションの取得.................................................................................................................. 41

5.1. リモート監視の事前構成済みソリューションの取得 ............................................................................. 42

5.2. アプリケーションのローカル環境での実行 ............................................................................................... 44

5.3. リモート監視の事前構成済みソリューションを Azure 上に展開する ............................................ 52

6. ソリューションポータルのカスタマイズ ........................................................................................................ 56

6.1. UI ローカル開発環境準備 ................................................................................................................................... 57

6.2. 画面文字列のカスタマイズ ............................................................................................................................... 63

6.3. テレメトリグラフのカスタマイズ.................................................................................................................. 65

7. 【ご参考】 デバイスシミュレーター マイクロサービスのカスタマイズ ........................................ 66

7.1. 開発環境準備 ........................................................................................................................................................... 66

7.2. デバイスシミュレーションの種類作成 ........................................................................................................ 66

7.3. 新しいテレメトリタイプの追加 ...................................................................................................................... 67

8. リソースの削除 ........................................................................................................................................................... 68

9. Microsoft Azure に関する情報の入手元 ........................................................................................................... 71

10. Microsoft Azure のお問い合わせ .......................................................................................................................... 72

Microsoft Azure自習書シリーズ IoT

- 4 -

1. Microsoft Azure 自習書シリーズ 初級編の概要

Microsoft Azure 自習書シリーズ 初級編 Azure IoT ソリューションアクセラレーターの使用の概要につ

いて説明します。

1.1. はじめに

Azure IoT ソリューションアクセラレーター自習書 初級編では、既存のテクノロジ資産、デバイス、

およびデータを活用してモノのインターネット IoT(Internet of Things)からビジネス価値の創出を実現

するのに必要な一般的な諸要素を、Microsoft Azure を使ってステップバイステップで学び、IoT 実現に

必要なスキルを獲得する事を目的しています。

Azure IoT ソリューションアクセラレーターの構成概要は下図のとおりです。

Azure IoT ソリューションアクセラレーター¹は、一般的な IoT シナリオに沿った完全な機能を備えた

ソリューションを実現するために必要なサービスを構築、管理します。

また、Azure IoT ソリューションアクセラレーターは、ポータルサイトよりすぐに利用でき、IoT によ

りビジネス価値の創出を実現できるように設計された革新的なサービスです。

既存の様々なデバイスをクラウドに接続する事により、Azure の多様なサービスやオープン ソース

のクライアント ライブラリのセットを組み合わせ、資産を監視して効率性の向上だけでなく、イノベ

ーションの実現に向けた資産管理の向上と高度なデータ分析の活用を通して、新しいビジネスモデルと

収益源でビジネスを革新します。

ワンポイント

【Azure IoT ソリューションアクセラレーター¹】

本書で“Azure IoT ソリューションアクセラレーター”と記載した場合、Microsoft Azure で提供さ

れる IoT を実現 するための構成済みパッケージを利用するためのポータルサイトを指します。

Microsoft Azure自習書シリーズ IoT

- 5 -

モノのインターネット(IoT)の出発点は、身の回りの身近なモノから始まります。

モノのインターネットに対するマイクロソフトの考え方や Azure IoT ソリューションアクセラレータ

ー の 詳 細 に つ い て は 、 Microsoft Azure IoT ソ リ ュ ー シ ョ ン ア ク セ ラ レ ー タ ー サ イ ト

(https://azure.microsoft.com/ja-jp/features/iot-accelerators/)も確認します。

なお、本書に従って Microsoft Azure IoT ソリューションアクセラレーターサイトから事前定義済みソリ

ューションを展開する場合、規定の料金が利用するサブスクリプションに対して課金されます。

Microsoft Azure自習書シリーズ IoT

- 6 -

1.2. 学習方法と事前準備

各項と所要時間の目安と事前に準備が必要なものを記載します。

各項 目的 所要時間

2. ポータルから新規にソリューションを作成する ソリューションの作成理解 10 分

3. デバイスの構成および管理 デバイスの追加、動作確認理解 10 分

4. リモート監視の事前構成済みソリューションの

構成要素

ソリューションの内部構造理

解 15 分

5. 事前構成済みソリューションの取得 ローカル環境およびAzure環境

へ展開理解 40 分

6. ソリューションポータルのカスタマイズ UI のカスタマイズ理解 40 分

7. 【ご参考】 デバイスシミュレーター マイクロサ

ービスのカスタマイズ

マイクロサービスカスタマイ

ズ理解 5 分

8. リソースの削除 不要な課金を防ぐためのリソ

ース削除理解 15 分

9. Microsoft Azure に関する情報の入手元 関連情報の入手 5 分

10. Microsoft Azure のお問い合わせ お問い合わせ先確認 5 分

事前準備として以下の環境を用意します。

✓ Azure アカウント

Azure アカウントがない場合、無料試用版のアカウントを取得する事が可能です。

https://azure.Microsoft .com/ja-jp/pricing/free-trial/

ワンポイント

【課金】

本書の内容を全て実施いたしますと、1日あたり 1,000~1,500 円程度の課金が発生いたします。

学習完了時には、8.リソースの削除を参考に削除してください。

✓ Azure CLI 2.0

ソリューションの設定変更等に使用します。

https://docs.Microsoft .com/cli/azure?view=azure-cli-latest

✓ Git for Windows

ソースファイルの取得に使用します。

https://git-scm.com/download/win

Microsoft Azure自習書シリーズ IoT

- 7 -

✓ Docker Hub のアカウント、Docker、Docker Compose

ソースファイルを実行するために使用します。

https://hub.docker.com/

✓ Node.js

https://nodejs.org/ ※このソフトウェアは PCS CLI の前提条件です。

✓ PCS CLI

ソリューションアクセラレータ(PCS)を操作するためクライアント(CLI)です。

https://GitHub.com/Azure/pcs-cli

『参考もしくはオプション』

✓ Visual Studio 2017

Visual Studio がない場合、以下のサイトより無料開発ツールの Visual Studio Community を

インストールできます。

https://www.visualstudio.com/ja-jp/products/visual-studio-community-vs.aspx

ワンポイント

本書では“Edge ブラウザー”を使用して動作検証を行っております。

Microsoft Azure自習書シリーズ IoT

- 8 -

2. ポータルから新規にソリューションを作成する

Azure IoT ソリューションアクセラレーターポータル サイトから新しいソリューションを作成する

操作方法について説明します。

学習する内容は次の通りです。

✓ 2.1.Azure IoTソリューションアクセラレーターへのアクセスする

✓ 2.2.Azure IoT ソリューションアクセラレーターからソリューションを作成する

Microsoft Azure自習書シリーズ IoT

- 9 -

2.1. Azure IoT ソリューションアクセラレーターにアクセスする

Azure IoT ソリューションアクセラレーターにアクセスする方法について説明します。

1. Web ブラウザーを起動し、アドレス バーに「https://www.Azure IoTsolutions.com/Accelerators」と

入力し、エンターキーを入力または “移動” ボタンをクリックします。

2. 右上にあるアイコンをクリックし、サインイン画面を表示します。

Microsoft Azure自習書シリーズ IoT

- 10 -

3. Azure IoT ソリューションアクセラレーターで使用するアカウントを選択し、サインインします。

4. サインインが完了するとアカウント名が表示されます。

Microsoft Azure自習書シリーズ IoT

- 11 -

2.2. ポータルから新しいソリューションを作成する

直前の項でサインインした Azure IoT ソリューションアクセラレーターのポータル サイトを使用し

て、新しいソリューションを作成する方法を説明します。

1. 作成するソリューションのタイプを選択します。今回の例では、”リモート監視”を選択します。

リモート監視下部の [今すぐ試してみる] をクリックします。

2. リモート監視作成画面が表示されます。

Microsoft Azure自習書シリーズ IoT

- 12 -

3. 作成するソリューションの情報を入力します。

項目 説明 今回設定値

デプロイオプション デプロイオプションを選択します。 基本

言語 ソリューションを動作させる言語基

盤を選択します。

.NET

ソリューション名

作成するソリューションの名前を入

力します。

※この名前で Azure 上にリソースグ

ループが作成されます。

任意のソリューション名

サブスクリプション

ソリューションを作成するために使

用する有効なサブスクリプションを選

択します。

有効なサブスクリプション

リージョン 作成する地域を選択します。 東日本

ワンポイント

【ソリューション名】

“ソリューション名” 入力後、緑色のチェックマークがつかない場合は名前の要件を満たしてい

ないか、すでに同名のソリューションが使われている可能性がありますので、別の名前に変更してく

ださい。

Microsoft Azure自習書シリーズ IoT

- 13 -

4. すべてチェックマークがついている事を確認し、画面下部の[ソリューションの作成]をクリックし

ます

5. “ソリューションの作成”をクリックするとプロビジョニングが始まります。この処理は 10~15

分程度の時間がかかります。”プロビジョニング中…”が作成したソリューションの上部に表示さ

れている間は、処理中ですのでしばらくお待ちください。

Microsoft Azure自習書シリーズ IoT

- 14 -

6. [詳細]をクリックすると、現在のプロビジョニングの状態を確認できます。

7. プロビジョニングが完了すると自動的に開始されます。すべて完了になると“準備完了”と表示さ

れます。

Microsoft Azure自習書シリーズ IoT

- 15 -

8. [起動]をクリックすると、作成したソリューションのポータルを開く事ができます。既定で用意さ

れているサンプルデータが表示されれば、ソリューションの作成は完了です。

ワンポイント

【承諾】

「要求されているアクセス許可」という画面が表示された場合は、[承諾] をクリックして先に進

んでください。

Microsoft Azure自習書シリーズ IoT

- 16 -

3. デバイスの構成および管理

リモート監視ソリューションアクセラレーターを使用して、接続されている IoT デバイスを構成およ

び管理する方法について理解します。

学習する内容は次の通りです。

✓ 3.1.シミュレートデバイスの追加

✓ 3.2.シミュレートされたデバイスのテスト

✓ 3.3.ダッシュボードを使用する

✓ 3.4.アラートに対処する

Microsoft Azure自習書シリーズ IoT

- 17 -

3.1. シミュレートデバイスの追加

ソリューションポータルからシミュレートデバイスを追加します。

1. ソリューションポータルを開き、画面左メニューの [Devices] をクリックします。

2. 画面右上の [New device] をクリックします。

Microsoft Azure自習書シリーズ IoT

- 18 -

3. 各項目に入力を行います。

項目 説明 今回設定値

Device Type デバイスタイプを選択します。 Simulated

Number of devices 作成するデバイス数を設定します。 1

Device model 認証タイプを選択します。 [Faulty Engine]

(問題があるエンジン)

ワンポイント

Device Type を「Physical」に変更すると物理デバイス用の項目に変更されます。

Microsoft Azure自習書シリーズ IoT

- 19 -

4. [Apply] をクリックすると、一覧に追加されます。

5. ブラウザーの更新を行い、追加された事を確認します。

Microsoft Azure自習書シリーズ IoT

- 20 -

3.2. シミュレートされたデバイスのテスト

直前の項で作成したシミュレートされたデバイスがテレメトリとレポートのプロパティ値を送信し

ているかをテストします。

1. ソリューションポータルを開き、画面左メニューの [Devices] をクリックします。

2. 直前の項で作成したデバイスをクリックします。

Microsoft Azure自習書シリーズ IoT

- 21 -

3. デバイスに関するライブ情報が [Device Details] パネルに表示されますので、新しいデバイスがテ

レメトリを送信している事を [Telemetry] 部分の曲線で確認します。

① デバイス詳細(上部)

② デバイス詳細(中部)

Microsoft Azure自習書シリーズ IoT

- 22 -

③ デバイス詳細(下部)

Microsoft Azure自習書シリーズ IoT

- 23 -

3.3. ダッシュボードを使用する

ソリューションダッシュボードには、シミュレートされた Contoso のデバイスに関する次の情報が

表示されます。

1. 画面左メニューの [Dashboard] をクリックします。[Device statistics] には、アラートに関する概要

情報とデバイスの合計数が表示されます。既定のデプロイでは、Contoso には種類が異なる 10 個

のシミュレートされたデバイスがあります。

2. [Device locations] には、デバイスが物理的に配置されている場所が表示されます。赤色のピンは、

デバイスからのアラートがある事を示します。

Microsoft Azure自習書シリーズ IoT

- 24 -

3. [Alerts] には、デバイスからのアラートの詳細が表示されます。

4. [Telemetry] には、デバイスからのテレメトリが表示されます。上部にあるテレメトリの種類をクリ

ックすると、さまざまなテレメトリストリームを表示できます。

Microsoft Azure自習書シリーズ IoT

- 25 -

5. [Analytics] には、デバイスからのアラートに関する情報が統合されて表示されます。

Microsoft Azure自習書シリーズ IoT

- 26 -

3.4. アラートに対処する

オペレーターは、ソリューションダッシュボードからデバイスを監視できます。ダッシュボードを使

用して、問題を修正していきます。

1. [Dashboard] ページの [Alerts] パネルに、[Chiller pressure too high] (冷却装置の圧力が高すぎる)

アラートが表示されています。冷却装置はマップ上に赤いピンで示されています(場合により、マッ

プを拡大縮小する必要があります)。

2. [Alerts] パネルで、[Chiller pressure too high] 規則の横にある [EXPLORE] 列の [...] をクリックしま

す。この操作により [Maintenance] ページが表示され、アラートをトリガーした規則の詳細を確認

できます。

Microsoft Azure自習書シリーズ IoT

- 27 -

3. [Chiller pressure too high] メンテナンス ページには、アラートをトリガーした規則の詳細が表示

されます。このページには、アラートが発生した時刻とアラートをトリガーしたデバイスも表示さ

れます。

これで、アラートに関連するデバイスを特定できました。

Microsoft Azure自習書シリーズ IoT

- 28 -

4. これからアラートに対処する事を他のオペレーターに示すために、そのアラートのチェックボック

スにチェックを入れアラートの状態を [Acknowledge] に変更します。

5. [Status] 列の値が [Acknowledged] に変わります。

Microsoft Azure自習書シリーズ IoT

- 29 -

6. 冷却装置を操作するために [Related information] まで下へスクロールし、[Alerted devices] の一覧

で冷却装置デバイスのチェックボックスにチェックを入れ画面上部の [jobs] をクリックします。

7. [Jobs] パネルで、[Run method] 、[EmergencyValveRelease] メソッドの順に選択します。ジョブ名

ChillerPressureRelease を追加し、[Apply] をクリックします。これらの設定により、すぐに実行さ

れるジョブが作成されます。

Microsoft Azure自習書シリーズ IoT

- 30 -

8. ジョブの状態を確認するには、[Maintenance] ページに戻り、ジョブビューでジョブの一覧を確認

します。場合によっては、冷却装置で弁の圧力を解放するジョブが実行された事を確認できるまで

に数秒待つまたはブラウザーの更新ボタンをクリックする必要があります。

9. 冷却装置の圧力テレメトリを表示するために、[Dashboard] ページに移動し、[Telemetry] パネルの

[Pressure] を選択します。chiller-02.0 の圧力が正常に戻っている事を確認します。

Microsoft Azure自習書シリーズ IoT

- 31 -

10. インシデントを閉じるには、[Maintenance] ページに移動しアラートを選択して画面上部にある

[Close] をクリックし、状態を [Closed] に設定します。

11. [STATUS] 列の値が [Closed] に変わります。

Microsoft Azure自習書シリーズ IoT

- 32 -

4. リモート監視の事前構成済みソリューションの構成要素

リモート監視ソリューションアクセラレーターは、遠隔地で実行されている複数のコンピューター

を対象としたエンド ツー エンドの監視ソリューションを実装します。このソリューションは、主要な

Azure サービスを組み合わせる事で、ビジネスシナリオの汎用的な実装を実現したものです。このソリ

ューションを実装の出発点として使用し、お客様固有のビジネス要件を満たすようにカスタマイズする

事ができます。

リモート監視ソリューションのしくみについて理解しやすいように、その主な構成要素をいくつか

取り上げて説明します。

学習する内容は次の通りです。

✓ 4.1. リモート監視の事前構成済みソリューションの論理構成

✓ 4.2. リモート監視ソリューションで使用されている Azure サービス

✓ 4.3. Azure IoT ソリューションアクセラレーターで使用されているプロトコル

Microsoft Azure自習書シリーズ IoT

- 33 -

4.1. リモート監視の事前構成済みソリューションの論理構成

リモート監視ソリューションアクセラレーターを使用して、接続されている IoT デバイスの論理構成

を理解します。

✓ ソリューションの論理構成

リモート監視の事前構成済みソリューションは大きく以下の要素で構成されています。

処理と層 説明

デバイス接続層

マイクロサービスを利用した仮想デバイスが実装されていま

す。仮想デバイスは定期的にテレメトリデータをイベントとし

て送信します。

データ処理と分析層

IoT Hub に送信されたテレメトリイベントや、IoT デバイス情報

イベントは、マイクロサービスによって処理され、CosmosDB

上に永続化されます

プレゼンテーション層

Web ベースの UI として、ソリューションポータルが構成され

ています。テレメトリデータやアラームの履歴表示、デバイス

の追加や管理、アラームのアクションとルールの構成等を行う

事ができます。

Microsoft Azure自習書シリーズ IoT

- 34 -

ワンポイント

【マイクロサービス】

クラウドのアーキテクチャは、マイクロソフトがはじめてソリューションアクセラレーターをリ

リースした当時から進化し続けてきました。マイクロサービスは、開発速度を犠牲にする事なく、拡

張性と柔軟性を達成できる事が実証された方法として登場してきました。

マイクロソフトのサービスは、このアーキテクチャパターンを内部的に使用し、優れた信頼性とス

ケーラビリティの成果を出しています。最新のソリューションアクセラレーターには、これらの成果

が取り込まれているため、その成果を活用できます。

マイクロサービス アーキテクチャの詳細については、以下を参照してください。

✓ 「.NET Application Architecture(.NET アプリケーション アーキテクチャ)」

https://www.microsoft.com/net/learn/architecture

✓ 「Microservices: An application revolution powered by the cloud.(マイクロサービス: クラウド

によって実現されるアプリケーションの革命)」

https://azure.microsoft.com/blog/microservices-an-application-revolution-powered-by-the-

cloud/

ワンポイント

【デバイスの接続性】

ソリューションには、論理アーキテクチャのデバイス接続部分に、次のコンポーネントが含まれて

います。

コンポーネント 説明

シミュレートされた

デバイス

ソリューションには、シミュレートされたデバイスプールを管

理するためのマイクロサービスが含まれています。

シミュレートされたデバイスは、以下を実行します。

✓ デバイスとクラウド間の利用統計情報を生成します。

✓ IoT Hub から送信された、クラウドとデバイス間で通信す

るためのメソッド呼び出しに応答します。

物理デバイス

ソリューションには、物理デバイスを接続できます。Azure IoT

device SDK を使用して、シミュレートされたデバイスの動作を

実装できます。ソリューションポータルのダッシュ ボードか

ら物理デバイスをプロビジョニングできます。

IoT Hub と IoT manager

マイクロサービス

ソリューションには、IoT hub との次のような交信を処理する

ための iot-manager マイクロサービスが含まれます。

✓ IoT デバイスの作成と管理

✓ デバイスツインの管理

✓ デバイスでのメソッドの呼び出し

✓ IoT 資格情報の管理

Microsoft Azure自習書シリーズ IoT

- 35 -

4.2. リモート監視ソリューションで使用されている Azure サービス

リモート監視ソリューション内で使用されている Azure の各サービスについて、どのような用途で

構成されているかを解説します。

✓ リモート監視ソリューション「サービス構成リモート監視」の事前構成済みソリューションの論

理構成は下図の通りです。

Azure 上のサービスとしては、

1. IoT Hub

2. CosmosDB

3. Stream Analytics

4. Storage

5. Web Apps (Web Job, Web Site)

が使用されています。

Microsoft Azure自習書シリーズ IoT

- 36 -

本書ではデータの発生源であるデバイスが接続される IoT Hub から順に、データの流れに従って解

説を進めていきます。まず、基礎知識として、Microsoft Azure と Data Factory 等 IoT のために提供され

ている機能の概要を学習します。

1. IoT Hub

IoT Hub は、何百万もの IoT デバイスと Azure サービス間で、セキュリティで保護された信頼性の

ある双方向通信を実現するサービスです。IoT Hub を使用すると、以下のようなメリットがありま

す。

✓ Azure とデバイスの間の接続をセキュアに行う事が可能で、IoT Hub では、デバイスの

ID とセキュリティ キーを使用して接続を行います。

✓ 大量のイベントを受信する事が可能で、毎秒、数百万単位のイベントに対応できます。

IoT ソリューションでは、膨大な数の IoT デバイスを対象とする事が想定されます。IoT

Hub は大量のデバイスから発生するイベントのすべてが確実に処理できるように、1~

7 日分のイベントを IoT Hub 内に保持しています。(保持期間は Azure ポータルで変更

できます。)

IoT Hub は、リモート監視ソリューション内において IoT デバイス自身の情報および IoT デバイス

のテレメトリイベント(気温、湿度等の測定データ)を受信する役割を担っています。また、前章で

紹介したデバイスに対するコマンド(計測の開始コマンドや計測の停止コマンド等)を送信する役

割も担っています。

2. Cosmos DB

Cosmos DB は、グローバル分散と水平方向への拡張性を中心として一から構築されました。透過

的なスケーリングとあらゆる場所のユーザーへのデータ レプリケーションにより、使い始めてす

ぐに任意の数の Azure リージョン全体でグローバル分散を実現できます。Cosmos DB を使用する

と、以下のようなメリットがあります。

✓ 世界中でスループットとストレージを弾力的にスケーリングでき、お支払いは必要な分

のみとなります。

✓ NoSQL の各オプションをネイティブでサポートしており、明確でわかりやすい複数の

整合性モデルを提供しています。

➢ 99 パーセントで 10 ミリ秒未満の待機時間を保証すると同時に、マルチホーム機

能による高可用性と、世界中のあらゆる場所での短い待機時間を保証します。

リモート監視ソリューション内においては、IoT デバイスの情報を永続化するために使用されてい

ます。

Microsoft Azure自習書シリーズ IoT

- 37 -

3. Stream Analytics

Stream Analytics は、リアルタイムのイベント処理エンジンです。Stream Analytics では、デバイス、

センサー、ソーシャル メディア等のデータ ストリーミングのリアルタイム分析処理を簡単に定義

できます。Stream Analytics で構成したリアルタイム分析の計算を Stream Analytics ジョブと呼び

ます。Stream Analytics ジョブには、以下のようなメリットがあります。

✓ クエリによるデータ分析が可能で、SQL に似たクエリ言語を使用して、データの分析を宣言的

に記述する事が可能です。合計や平均等、一般的に SQL によるデータ分析で使用する関数が組

み込まれています。

✓ ストリーミングデータと非ストリーミングデータによる分析が可能で、毎秒、数百万単位で発

生するストリーミングデータと、ほとんど変化のない静的な非ストリーミングデータを組み合

わせて分析を行う事ができます。

リモート監視ソリューション内においては、以下の 3 つの Stream Analytics ジョブが構成されてい

ます。

✓ IoT デバイス情報の処理

IoT デバイスの情報を IoT デバイス別に分類し、デバイス情報を受信する後続の Event Hub に転

送します。

✓ ルールの評価

IoT デバイスによって計測されたテレメトリデータに対して、ソリューションポータルから事前

に定義したルールを適用し、アクションの条件を満たしているテレメトリデータを抽出します。

抽出した結果は、後続の Event Hub に転送するとともに、BLOB ストレージ内の CSV ファイルに

記録されます。

✓ ルールの評価

5 分間に計測されたテレメトリデータを対象に集計結果を作成します。集計前のテレメトリデー

タと集計結果を BLOB ストレージ内の CSV ファイルに記録します。

4. Azure Storage

Azure Storage は、あらゆる種類のデバイスおよび環境上のアプリケーションからアクセスできる

ストレージサービスです。ストレージの種類としては、BLOB、テーブル、キュー、ファイル、ディ

スクなどが提供されています。BLOB ストレージには、CSV ファイルのような一般的な電子ファイ

ルの形式の非構造化データを保存する事ができます。

Azure Storage を使用すると、以下のようなメリットがあります。

✓ データの冗長化が可能

Azure Storage は、標準で単一のリージョン内に 3 つの複製を持ちます。これにより、リージ

ョン内のハードウェア故障からデータを保護する事ができます。

✓ セキュアなデータアクセスの提供

Azure Storage に格納されたデータにアクセスするためには、アクセス キーが必要です。アク

セス キーは、Storage の管理者によって管理する事ができます。

Microsoft Azure自習書シリーズ IoT

- 38 -

リモート監視ソリューション内においては、以下の 3 つの BLOB ストレージが使用されています。

✓ ルールの評価結果の永続化

Stream Analytics ジョブで抽出された、アクション条件を満たしているテレメトリイベントが

CSV ファイルとして格納されます。格納されたデータは、後続の Web Site でホストされてい

るソリューションポータルで使用されます。

✓ テレメトリイベントと集計結果の永続化

Stream Analytics ジョブでテレメトリイベントを集計した結果と、集計前のテレメトリイベン

トが CSV ファイルとして格納されます。格納されたデータは、後続の Web Site でホストされ

ているソリューションポータルで使用されます。

✓ 定義されたルールの永続化

リモート監視のソリューションポータル上で定義された、テレメトリデータの評価ルールが

JSON ファイルとして格納されます。格納されたルールは、Stream Analytics ジョブでアクショ

ン条件を満たしているテレメトリイベントの検出に使用されます。

5. Web Apps (Web Job, Web Site)

Azure App Service Web Apps は、エンタープライズレベルの Web アプリを数秒で構築、デプロイ、

スケーリングできるプラットフォームです。Azure が代わりにインフラストラクチャをスケーリン

グし、安全にアプリケーションを実行できるように調整するため、開発者はアプリケーションのコ

ードにリソースを集中させる事ができます。Web Apps を使用すると、以下のようなメリットがあ

ります。

Web Apps を使用すると、以下のようなメリットがあります。

✓ グローバルスケール

データセンター内で、可用性と自動スケーリングが提供されています。また、複数のデータセ

ンターへの展開が容易に行えます。ホストしているサイトを参照するメンバーが遠隔地に増員

された場合でも、最寄りのデータセンターを利用するように構成する事が可能です。

✓ ジョブの構成が可能

Web Site で表示するためのデータを事前に処理する等のバッチ処理をジョブとして構成でき

ます。Web Job を使用する場合でも、利用者は実行環境のスケーリングを意識する必要はあり

ません。

Microsoft Azure自習書シリーズ IoT

- 39 -

4.3. Azure IoT ソリューションアクセラレーターで使用されているプロトコル

Azure IoT ソリューションアクセラレーター内で使用されているプロトコルを解説します。

✓ IoT コミュニケーション パターン

パターン 説明

テレメトリ デバイスから IoT Hub へのインフォメーションフロー

問い合わせ 初期化もしくは必要な情報を収集するデバイスからのリクエスト

コマンド IoT Hub からデバイス(グループ)へ特定なアクションを取る指令

通知 IoT Hub からデバイス(グループ)へステータス変更するための情報フロー

Microsoft Azure自習書シリーズ IoT

- 40 -

✓ 使用される IoT 関連のプロトコル

プロトコル 特徴 適用パターン 通信レイヤー

AMQP

プラットフォーム間共通のハイ

ブリッド アプリケーションを

構築するために使用できる、信

頼性の高いオープンなメッセー

ジングプロトコル

すべて TCP

HTTP サービスバスでネイティブにサ

ポートされるプロトコル

テレメトリ、問い合わせ TCP

MQTT

カスタムプロトコルゲートウェ

イが必要で、双方向のソケット

接続が可能

テレメトリ TCP

ワンポイント

【MQTT】

MQTT はオプション対応です。対応するためには別途 Azure IoT プロトコルゲートウェイが必要と

なります。

✓ 遠隔監視ソリューションで使用されるプロトコル

IoT Hub は HTTPS および AMQP プロトコルを介した通信をネイティブでサポートします。

デバイスまたはフィールドゲートウェイで標準プロトコルをいずれも使用できない場合は、カスタムゲ

ートウェイによって IoT Hub に対するトラフィックをブリッジする事により、IoT Hub エンドポイント

にプロトコルを適応できます。

Azure IoT プロトコルゲートウェイを使用して IoT Hub にプロトコルを適応し、MQTT プロトコル アダ

プターを実装して MQTT プロトコルを介した IoT デバイスと IoT Hub の通信を有効にする事ができま

す。

ワンポイント

【Azure IoT プロトコルゲートウェイ】

Azure IoT プロトコルゲートウェイのソースコードは GitHub 上に公開されています。

https://GitHub.com/Azure/azure-iot-protocol-gateway

Microsoft Azure自習書シリーズ IoT

- 41 -

5. 事前構成済みソリューションの取得

GitHub で公開されているリモート監視の事前構成済みソリューションを取得し、ローカル環境およ

び Azure 上に展開する方法について説明します。

リモート監視の事前構成済みソリューションをローカル環境に展開する場合は項 5.1、5.2 を、Azure

上に展開する場合は項 5.1、5.3 を実施してください。

学習する内容は次の通りです。

✓ 5.1.リモート監視の事前構成済みソリューションの取得

✓ 5.2.アプリケーションのローカル環境での実行

✓ 5.3.リモート監視の事前構成済みソリューションを Azure 上に展開する

Microsoft Azure自習書シリーズ IoT

- 42 -

5.1. リモート監視の事前構成済みソリューションの取得

GitHub からリモート監視の事前構成済みソリューションを取得します。その動作のために次のツー

ルの事前インストールが必要です

✓ Git(https://git-scm.com/))

✓ Docker(https://www.docker.com/)

✓ Docker Compose(https://www.docker.com/)

✓ Node.js(https://nodejs.org/) ※このソフトウェアは PCS CLI の前提条件です。

1. PCS CLI をインストールします。

PCS CLI をインストールするには、コマンドライン環境で次のコマンドを実行します。

【コマンドプロンプト】

npm install iot-solutions -g

ワンポイント

【Node.js】

Node.js がインストールされていない場合、エラーとなります。

Microsoft Azure自習書シリーズ IoT

- 43 -

2. ソースコードをダウンロードします。

リモート監視ソースコードリポジトリには、マイクロサービスを含む Docker イメージをダウンロ

ード、構成、および実行するために必要な Docker 構成ファイルが含まれています。

複製してローカルバージョンのリポジトリを作成するには、次のコマンドを実行します。

① ソースコード用フォルダー作成

【コマンドプロンプト】

mkdir c:¥iotsource

② 作成したソースコード用フォルダーに移動

【コマンドプロンプト】

cd c:¥iotsource

③ リポジトリ作成

【コマンドプロンプト】

git clone --recursive https://GitHub.com/Azure/azure-iot-pcs-remote-monitoring-dotnet

Microsoft Azure自習書シリーズ IoT

- 44 -

5.2. アプリケーションのローカル環境での実行

CLI にサインインしデプロイする事によって、ローカル環境上で動作させる事が可能です。

カスタマイズしたアプリケーションの開発中は、ローカル展開を利用するとデバッグ等を容易に行

う事ができます。

直前の手順で複製したリポジトリを使用して、ローカル展開に必要な Azure 上のサービスを作成し

ます。この項によって Azure 上には、次のサービス等が新規に作成されます。

✓ IoT Hub

✓ CosmosDB

✓ Storage

✓ Stream Analytics

1. CLI へサインインします。

ソリューションアクセラレーターをデプロイする前に、次のように CLI を使用して Azure サブスク

リプションにサインインする必要があります。

【コマンドプロンプト】

pcs login

2. 表示された URL とコードを一旦メモ帳等に張り付けます。

3. 上記の URL をブラウザーに張り付け表示します。

Microsoft Azure自習書シリーズ IoT

- 45 -

4. 表示された Web ページに 2.で控えたコードを張り付けて [続行] をクリックします。

Microsoft Azure自習書シリーズ IoT

- 46 -

5. アカウントを設定しログインを完了させます。

ワンポイント

【警告】

CLI 内部の場所はクリックしないでください。ログインが失敗する可能性があります。ログインを

完了すると、ログインに成功したというメッセージが CLI に表示されます。

【タイムアウト】

ログイン後一定の時間が経過するとログインした状態が無効となってしまいます。その際には再

度ログインを行ってください。

Microsoft Azure自習書シリーズ IoT

- 47 -

6. ローカルデプロイを実行します。

ローカルデプロイを開始するには、次のコマンドを使用します。必要なAzureリソースが作成され、

コンソールに環境変数が出力されます。

【コマンドプロンプト】

pcs -s local

このスクリプトでは、次の情報を入力するよう求められます。

項目 今回設定内容

ソリューション名 RemoteMonitoring

使用する Azure サブスクリプション 有効なサブスクリプション

使用する Azure データセンターの場所(リージョン) 「Japan East」または「Japan West」

Microsoft Azure自習書シリーズ IoT

- 48 -

5~10 分程度経過し完了いたしますと以下のような環境変数が青色の文字で表示されます。

環境変数

PCS_IOTHUBREACT_ACCESS_CONNSTRING

PCS_IOTHUB_CONNSTRING

PCS_STORAGEADAPTER_COSMOSDB_CONNSTRING

PCS_TELEMETRY_COSMOSDB_CONNSTRING

PCS_TELEMETRYAGENT_COSMOSDB_CONNSTRING

PCS_IOTHUBREACT_HUB_ENDPOINT

PCS_IOTHUBREACT_HUB_PARTITIONS

PCS_IOTHUBREACT_HUB_NAME

PCS_IOTHUBREACT_AZUREBLOB_ACCOUNT

PCS_IOTHUBREACT_AZUREBLOB_KEY

PCS_IOTHUBREACT_AZUREBLOB_ENDPOINT_SUFFIX

PCS_ASA_DATA_AZUREBLOB_ACCOUNT

PCS_ASA_DATA_AZUREBLOB_KEY

PCS_ASA_DATA_AZUREBLOB_ENDPOINT_SUFFIX

PCS_EVENTHUB_CONNSTRING

PCS_EVENTHUB_NAME

PCS_AUTH_REQUIRED

PCS_AZUREMAPS_KEY

7. 表示された環境変数をコピーし、一旦メモ帳等に張り付けます。

Microsoft Azure自習書シリーズ IoT

- 49 -

8. 項 5.1 で複製したリポジトリの複製先ディレクトリに移動し、「scripts¥local¥.env」ファイルをメモ

帳などで開き編集します。

「.env」ファイルの内容を先ほどコピーした環境変数の定義で置き換えます。

ワンポイント

【置き換え】

全ての文字を削除し、コピーした環境変数の定義を張り付ける形でも問題ありません。

これにより、Docker コンテナー内のマイクロサービスが作成された Azure サービスに接続できる

ようになります。

Microsoft Azure自習書シリーズ IoT

- 50 -

9. ソリューションアクセラレーターを実行します。

コマンドライン環境を使用して項 5.1 で複製したリポジトリ複製先ディレクトリの「scripts¥local」

フォルダーに移動し、次のコマンドを実行します。

【コマンドプロンプト】

docker-compose up

ワンポイント

【Docker サービス】

実行の際に、[Docker サービス] が起動していない場合、エラーとなります。ご注意ください。

Microsoft Azure自習書シリーズ IoT

- 51 -

10. ブラウザー上で確認します。

リモート監視ソリューションにアクセスするには、ブラウザーで http://localhost:8080 に移動しま

す。

ワンポイント

【ご注意事項】

地図が表示されない、ダッシュボードが表示されないなどの障害が発生した場合は、以下の

URL をご参照ください。

Git Issue URL :https://github.com/Azure/azure-iot-pcs-remote-monitoring-dotnet/issues

11. テスト完了後、コマンドプロンプトで実行中のソリューションアクセラレーターを [CTRL+C] を押

下し終了させます。

Microsoft Azure自習書シリーズ IoT

- 52 -

5.3. リモート監視の事前構成済みソリューションを Azure 上に展開する

項 5.1 で複製したリポジトリを使用して、Azure 上に事前構成済みソリューションを展開します。

ソリューションを Azure 上に展開すると、次のサービス等が新規に作成されます。

✓ IoT Hub

✓ CosmosDB

✓ ストレージ

✓ サービス バス名前空間

✓ Stream Analytics ジョブ

✓ Website

1. 項 5.1 と同様にコマンドライン環境で CLI にログインします。

2. 項 5.1 で複製したリポジトリの複製先ディレクトリの「scripts¥local」フォルダーに移動しデプロイ

を実行します。

デプロイを開始するには、次のコマンドを使用します。必要な Azure リソースが作成され、コンソ

ールに環境変数が出力されます。

【コマンドプロンプト】

pcs -t remotemonitoring -s basic -r dotnet

このスクリプトでは、次の情報を入力するよう求められます。

項目 今回設定内容

ソリューション名 RemoteMonitoring

使用する Azure サブスクリプション 有効なサブスクリプション

使用する Azure データセンターの場所(リージョン) 「Japan East」または「Japan West」

Enter prefix for .azurewebsites.net アクセス用URLとして azurewebsites.netの

前に設定される名前

Enter a user name for the virtual machine iotadmin

Enter a password for the virtual machine IotUser/1234

Microsoft Azure自習書シリーズ IoT

- 53 -

3. 5~10 分程度経過し展開に成功すると、https://www.Azure IoTsolutions.com/Accelerators に作成し

たソリューションが表示されます。サイトからソリューションを作成したときと同じように操作す

る事ができます。また、完了時には、デプロイされたソリューション URL を一旦メモ帳等に張り付

けます。

Microsoft Azure自習書シリーズ IoT

- 54 -

4. サイトから作成したソリューションが確認できない場合はサインインを行ってください。

Microsoft Azure自習書シリーズ IoT

- 55 -

5. それでも、ソリューションが確認できない場合はデプロイされたソリューション URL をブラウザー

で表示して確認して下さい。

ワンポイント

【Azure サブスクリプション】

サブスクリプションの権限によっては以下のメッセージが表示されるケースがございます。その

際にはサブスクリプションの管理者様にご確認ください。

Microsoft Azure自習書シリーズ IoT

- 56 -

6. ソリューションポータルのカスタマイズ

ソースコードにアクセスし、リモート監視ソリューションアクセラレーターUI をカスタマイズする

方法について説明します。

リモート監視ソリューションアクセラレーターUI のコードは、React.js フレームワークを使用して実

装されます。「azure-iot-pcs-remote-monitoring-webui GitHub」リポジトリでソースコードを見つける

事ができます。

学習する内容は次の通りです。

✓ 6.1.UIローカル開発環境準備

✓ 6.2.画面文字列のカスタマイズ

✓ 6.3.テレメトリグラフのカスタマイズ

Microsoft Azure自習書シリーズ IoT

- 57 -

6.1. UI ローカル開発環境準備

UI を変更するために、開発環境を準備します。

1. Azure ポータルからデプロイソリューション名と仮想マシン情報をメモしておきます。

2. az CLI を使用して、ソリューションでマイクロサービスをホストする仮想マシンへの SSH アクセス

を有効にします。

【コマンドプロンプト】

az network nsg rule update --name SSH --nsg-name 【デプロイソリューション名】-nsg --

resource-group 【デプロイソリューション名】 --access Allow

ワンポイント

【デプロイソシューション名が RemoteMonitoring の場合のサンプル】

az network nsg rule update --name SSH --nsg-name RemoteMonitoring-nsg --resource-group

RemoteMonitoring --access Allow

Microsoft Azure自習書シリーズ IoT

- 58 -

3. az CLI を使用して、仮想マシン名とパブリック IP アドレスを検索します。

【コマンドプロンプト】

az resource list --resource-group 【デプロイソリューション名】 -o table

az vm list-ip-addresses --name 【1.で取得した仮想マシン名】--resource-group 【デプロイソリ

ューション名】 -o table

4. SSH を使用して、前の手順で取得した IP アドレスと、ソリューションをデプロイするために、pcs

を実行したときに提供した資格情報を使用して、仮想マシンに接続します。

【コマンドプロンプト内 Shell】

SSH 【IP アドレス】-l iotadmin

【このあと、パスワードを入力して下さい。】

Microsoft Azure自習書シリーズ IoT

- 59 -

5. ローカル環境で接続できるようにするには、仮想マシンの bash シェルで、次のコマンドを実行し

ます。

【コマンドプロンプト内 Shell】

cd /app

sudo ./start.sh –unsafe

6. コマンドが完了し、Web サイトが起動した事を確認したら、仮想マシンから切断できます。

【コマンドプロンプト内 Shell】

Exit

Microsoft Azure自習書シリーズ IoT

- 60 -

7. 「c:¥iotsource」フォルダーに移動した上で「azure-iot-pcs-remote-monitoring-webui」リポジトリ

のローカルコピーを取得します。

【コマンドプロンプト】

git clone --recursive https://GitHub.com/Azure/azure-iot-pcs-remote-monitoring-webui

8. 取得した「azure-iot-pcs-remote-monitoring-webui」フォルダーの「.env」ファイルを編集し、デプ

ロイ済みのソリューションの URL を追加します。

【編集】

NODE_PATH = src/

REACT_APP_BASE_SERVICE_URL=https://【デプロイソリューション名】.azurewebsites.net/

9. 取得した「azure-iot-pcs-remote-monitoring-webui」フォルダーに移動したコマンド プロンプトで、

次のコマンドを実行し、ローカルで必要なライブラリをインストールします。

【コマンドプロンプト】

npm install

Microsoft Azure自習書シリーズ IoT

- 61 -

10. 取得した「azure-iot-pcs-remote-monitoring-webui」フォルダーに移動したコマンド プロンプトで、

次のコマンドを実行し、UI を起動します。

【コマンドプロンプト】

npm start

11. http://localhost:3000/dashboard のローカルサイト環境で UI が実行されます。サイトの実行中にコ

ードを編集し、動的に更新される事を確認できます。

Microsoft Azure自習書シリーズ IoT

- 62 -

ワンポイント

【ご注意事項】

地図が表示されない、ダッシュボードが表示されないなどの障害が発生した場合は、以下の

URL をご参照ください。

Git Issue URL :https://github.com/Azure/azure-iot-pcs-remote-monitoring-dotnet/issues

12. 終了は CTRL+C キーを押下し、Y を入力する事で行います。

Microsoft Azure自習書シリーズ IoT

- 63 -

6.2. 画面文字列のカスタマイズ

ソリューションポータルの左上に表示される会社名、タイトルを変更します。

1. 「azure-iot-pcs-remote-monitoring-webui¥public¥locales¥en」フォルダーにある「translations.json」

を開きます。

※このファイルに UI で表示される文字列リソースが設定されています。

2. 以下のように文言を編集します。

設定 変更する文言

companyName Contoso.JP

Header.appName Contoso.jp Remote Monitoring

Microsoft Azure自習書シリーズ IoT

- 64 -

3. 項 6.1 の 9.~10.を実行して文字列が変更されている事を確認します。

Microsoft Azure自習書シリーズ IoT

- 65 -

6.3. テレメトリグラフのカスタマイズ

ダッシュ ボード ページのテレメトリグラフは、「 azure-iot-pcs-remote-monitoring-webui

¥src¥components¥pages¥dashboard¥panels¥telemtry」フォルダー内のファイルによって定義されます。

UI は、「azure-iot-pcs-remote-monitoring-webui¥src¥services¥telemetryService.js」ファイル内の処理で

ソリューションバックエンドからのテレメトリを取得します。

次の手順では、テレメトリグラフに表示される期間を 15 分から 5 分に変更する方法を示します。

1. 「 azure-iot-pcs-remote-monitoring-webui¥src¥services¥telemetryService.js 」 フ ァ イ ル で 、

「getTelemetryByDeviceIdP15M」という関数を見つけます。この関数のコピーを作成し変更します。

【編集】

static getTelemetryByDeviceIdP5M(devices =[]){

return TelemetryService.getTelemetryByMessages({

from: 'NOW-PT5M',

to: 'NOW',

order: 'desc',

devices

});

}

2. この新しい関数を使用して、テレメトリグラフに入力するには、「azure-iot-pcs-remote-

monitoring-webui¥src¥components¥pages¥dashboard¥dashboard.js」ファイルを開きます。

テレメトリストリームを初期化する行を見つけ変更します。

【編集】

const getTelemetryStream

=({ deviceIds =[]})=> TelemetryService.getTelemetryByDeviceIdP5M(deviceIds)

3. 項 6.1 の 9.~10.を実行してテレメトリグラフに、5 分間のテレメトリデータが表示されるようにな

るか確認します。

Microsoft Azure自習書シリーズ IoT

- 66 -

7. 【ご参考】 デバイスシミュレーター マイクロサービスのカスタマイズ

今後の学習の一環といたしまして、デバイスシミュレーター マイクロサービスのカスタマイズに関

しての手法をご紹介します。

ワンポイント

【ご注意事項】

最新の Azure IoT ソリューション アクセラレータの機能にリポジトリソースが対応できていない

可能性がございます。

7.1. 開発環境準備

1. Azure でソリューション仮想マシンへのサービス接続文字列(Azure Cosmos DB、Azure IoT Hub)

を取得する。

2. ソリューション仮想マシンでデバイスシミュレーションサービスを停止する

3. GitHub リポジトリを複製する。

① デバイスシュミレーターリポジトリ:https://GitHub.com/Azure/device-simulation-dotnet.git

② ストレージアダプターリポジトリ:https://GitHub.com/Azure/pcs-storage-adapter-dotnet.git

4. ストレージアダプターのサービスをローカルで実行します。

5. GitHub リポジトリのソースにサービス接続文字列を設定します。

① ストレージアダプターサのービスは、テストが完了するまでローカルで実行したままにします。

これで全ての準備が整いシミュレートされた新しい種類のデバイスをリモート監視ソリューション

に追加することが出来ます。

7.2. デバイスシミュレーションの種類作成

デバイスの種類をデバイスシミュレーションサービスに新しく作成するための最も簡単な方法は、

既存の種類をコピーして変更する事です。

組み込みの Chiller デバイスをコピーして新しい Lightbulb(電球)デバイスを作成する方法をご紹介し

ます。

1. 組み込みの Chiller デバイスをコピーして新しい Lightbulb(電球)デバイスを作成します。

2. 新しいデバイスの種類の特性を定義します。

3. カスタムデバイスの動作をシミュレートします。

4. デバイスシミュレーションサービスを構成します。

5. Lightbulb デバイスの種類をローカルでテストします。

6. 更新されたシミュレーターをクラウドにデプロイします。

Microsoft Azure自習書シリーズ IoT

- 67 -

7.3. 新しいテレメトリタイプの追加

既存デバイスのシミュレーションの種類を変更して新しいテレメトリタイプを追加する方法をご紹

介します。

1. Chiller デバイスの種類ファイルの検索

2. 新しいテレメトリタイプの指定

3. Chiller デバイスの種類のテスト

Microsoft Azure自習書シリーズ IoT

- 68 -

8. リソースの削除

不必要な課金を避けるためにテストが完了したら、使用したリソースを削除します。

1. Azure のクリーンアップを行います。

Azure Portal(https://ms.portal.azure.com/)に移動し、左のメニューから作成したリソースグループ

「RemoteMonitoring」を削除します。

Microsoft Azure自習書シリーズ IoT

- 69 -

2. Azure IoT ソリューション アクセラレータのクリーンアップを行います。

Azure IoT ソリューション アクセラレータを作成した場合、ソリューション名と同一のリソースグ

ループが作成されます。Azure のクリーンナップと同様にリソースグループを削除します。

Microsoft Azure自習書シリーズ IoT

- 70 -

3. ローカルコンピューターのクリーンアップを行います。

プログラム実行で使用したローカルコンピューター上の Docker 領域を解放するには、以下のコマ

ンドを使用します。

【コマンドプロンプト】

docker-compose down --rmi all

4. リポジトリを複製したローカルコピーを削除します。

ローカルコンピューター上のローカルコピーを削除するには、以下のコマンドを使用します。

【コマンドプロンプト】

rd /s directory c:¥iotsource

Microsoft Azure自習書シリーズ IoT

- 71 -

9. Microsoft Azure に関する情報の入手元

Microsoft Azure に関する最新の情報は、次の Web サイトから入手できます。

1. Azureの公式ページ(各国共通)

製品情報、価格、技術情報など、Azure に関するすべての情報への入口です。Azure をお使いのお

客様は、右上の「ポータル」をクリックすると Azure のポータルにログインすることができます。

ポータルでは、Azure 上で構築したアプリケーションの管理、課金状況の確認などができます。

http://azure.microsoft.com/ja-jp/

2. Azureサイトの歩き方

日本のお客様用に作成されたコンテンツが満載です。

http://aka.ms/jp/azure

3. サポートエンジニアによるブログサイト

よくお問い合わせをいただく技術・課金・サポートに関する内容をまとめたものです。サポートに

問い合わせる前に、まずはここをご参照ください。

http://blogs.msdn.com/b/dsazurejp/

http://blogs.msdn.com/b/jpsql/ (SQL データベース/ SQL Server)

4. MSDNフォーラムの Azureフォーラム

Azure に関する技術的な質問に対して、これまでの投稿から情報を入手するのみならず、自分の質

問を投稿し、他のユーザーや MVP(Most Valuable Professional)からの回答を得られることが期

待できます。開発者(DEVELOPER)サポート/ 標準(STANDARD)サポート契約ではカバーしていない

“How To”や“仕様”に関する質問も、このフォーラムをご活用ください。

https://social.msdn.microsoft.com/Forums/ja-JP/home?category=azure

Microsoft Azure自習書シリーズ IoT

- 72 -

10. Microsoft Azure のお問い合わせ

Microsoft Azure では、お問い合わせ内容に応じて窓口を用意しております。お問い合わせの内容に

応じて各窓口をご利用ください。なお、Premier のお客様は、Premier 窓口をご利用いただけます。

お問い合わせ内容 料金 窓口名 連絡方法 お問い合わせ

方法

製品や機能の概要、価

格、ライセンスなどの情報収

集や購入前相談

無償 Cloud Direct 電話 「Cloud

Direct」で検索し

てください。

課金、サブスクリプショ

ンに関するお問い合わせ、

請求書払いへの変更、クォー

タ増加の依頼

無償 Microsoft Azure

ポータル

Microsoft

Azure ポータ

ル※1

※3

技術的なお問い合わせ 無償 Microsoft Azure

ポータル※2

※1 : 電話窓口はありません。

※2 : 有償のサポートプランが必要です。

※3 : お問い合わせ方法につきましては、次の Blog をご参照ください。

ワンポイント

【サポートにお問い合わせする方法について】

http://blogs.msdn.com/b/dsazurejp/archive/2013/10/31/10462044.aspx

ポータルサイトにアクセスできない場合は、 次のどちらかの方法でお問い合わせください。

窓口名/連絡方法 お問い合わせ方法

カスタマーインフォメーションセンター

電話番号:0120-41-6755

営業時間 :平日 9:00 – 17:30

窓口担当者に、「Azure について問合わせがした

い」とお伝えください。Azure 担当者より折り返し

ご連絡いたします。