演習 - ソリューションをデプロイしてビルドする
最初の演習では、Azure IoT Edge ランタイムをお使いの Linux コンピューターにインストールしました。 次のソフトウェア開発ツールをインストールしていることを確認してください。
- Linux コンピューター上の Docker Community Edition
- Visual Studio Code はコード エディターであり、GitHub で最もよく使われているオープン ソース プロジェクトの 1 つです。 これは、Linux、macOS、Windows で動作します。
- 次の Visual Studio Code 拡張機能
- Azure アカウント
- Azure IoT Tools
- Visual Studio Code 用の Docker 拡張機能
- JSON Tools は、モジュールの "作成オプション" を変更する場合に便利です。
Azure AI サービスを作成する
このモジュールでは、Azure AI Custom Vision と Azure AI 音声サービスを使用します。
Azure AI Custom Vision サービスを使用して、用意されている果物の画像を使って機械学習モデルが作成されます。 その後、モデルがエクスポートされ、プロジェクト フォルダーに追加されます。
Azure AI 音声を使用して、項目のラベルから音声が生成されます。 デプロイ テンプレートに音声キーを追加します。
マルチサービス リソースは、ポータルの [Azure AI サービス]>[Azure AI サービス マルチサービス アカウント] の下に一覧表示されます。 マルチサービス リソースを作成するには、以下の手順を実行します。
サインイン、 Azure ポータルします。
マルチサービス リソースを作成するには、次のリンクを選択します。https://portal.azure.com/#create/Microsoft.CognitiveServicesAllInOne
[作成] ページで、次の情報を指定します。
プロジェクトの詳細 説明 サブスクリプション 使用できる Azure サブスクリプションのいずれかを選択します。 リソース グループ Azure AI サービス リソースを含める Azure リソース グループ。 新しいグループを作成することも、既存のグループに追加することもできます。 リージョン Azure AI サービス インスタンスの場所。 別の場所を選択すると待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 名前 Azure AI サービス リソースのわかりやすい名前。 たとえば、MyAzureAIServicesResource です。 価格レベル Azure AI サービス アカウントのコストは、選択しているオプションと使用量によって異なります。 詳細については、「API の価格の詳細」をご覧ください。 必要に応じてリソースの他の設定を構成し、条件を読み取って同意し (該当する場合)、[Review + create(確認と作成) ] を選択します。
ヒント
サブスクリプションで Azure AI サービス リソースの作成が許可されていない場合は、Azure portal、PowerShell コマンド、または Azure CLI コマンドを使用して、その Azure リソース プロバイダーの特権を有効にする必要がある場合があります。 サブスクリプションの所有者でない場合は、サブスクリプションの所有者、または管理者のロールを持つユーザーに、登録の完了を要求するか、アカウントに /register/action 特権を付与するように要求します。
Linux コンピューターに Docker レジストリをインストールする
Azure IoT Edge は、Docker レジストリから配布される Docker イメージに依存しています。 運用環境では、Azure Container Registry などのレジストリから Docker イメージをデプロイします。
Azure IoT Edge モジュールを開発する場合は、ローカルのコンテナー レジストリをデバイスにインストールし、ローカル レジストリから Docker イメージを Azure IoT Edge にデプロイするほうが処理が速くなります。
Linux コンピューターでターミナルを開き、次のコマンドを実行して、ローカルの Docker レジストリを設定します。
docker run -d -p 5000:5000 --restart=always --name registry registry:2
画像認識ソリューションを Linux コンピューターに複製する
この GitHub リポジトリを複製します。
git clone https://github.com/MicrosoftDocs/mslearn-oxford.create-image-recognition-with-azure-iot-edge
[Visual Studio Code] メニューからソリューションを開きます。
Azure AI 音声キーを更新する
deployment.template.json ファイルを開き、Azure 音声サービスからコピーしたキーを使用して azureSpeechServicesKey を更新します。
プロセッサを確認する
構築する予定のイメージがターゲット プロセッサ アーキテクチャと一致していることを確認する必要があります。 ここでは、amd64 用に構築します。 プロセッサ アーキテクチャを確認します。
Visual Studio Code の下部のバーで、現在選択されているプロセッサ アーキテクチャをクリックし、ポップアップから [amd64] を選択します。
ソリューションをビルドする
ソリューションをビルドして Docker にプッシュします。そのためには、deployment.template.json ファイルを右クリックし、[IoT Edge ソリューションをビルドしてプッシュ] を選択します。 最初のビルドでは、Docker によるローカル コンピューターへの基本レイヤーのプルが必要であるため、処理が遅くなります。
amd64 にクロスコンパイルする場合、OpenCV と Python の要件をコンパイルする必要があるため、最初のビルドは非常に遅くなります。 Intel i7-8750H 高速プロセッサでは、このソリューションのクロスコンパイルに約 40 分かかります。
ソリューションのデプロイ方法
Docker のビルドおよびプッシュ プロセスが完了したら、ソリューションをデプロイする Azure IoT Hub デバイスを選択します。 config フォルダーにある deployment.json ファイルを右クリックし、ドロップダウン リストからターゲット デバイスを選択します。