編集

次の方法で共有


Azure Digital Twins 用 Azure Data Factory と Batch の統合

Azure Batch
Azure Data Factory
Azure Digital Twins
Azure Storage

このシナリオ例では、Azure Digital Twins グラフをデータと同期または更新することで、Azure Digital Twins を基幹業務 (LOB) システムに統合します。

アーキテクチャ

ビジネス システム、Azure Data Factory、Azure Batch、Azure Digital Twins、Azure Storage、データ パイプライン、アクティビティを含む、この例のアーキテクチャを示す図。

このアーキテクチャの Visio ファイルをダウンロードします。

データフロー

  1. Azure Data Factory は、Copy アクティビティまたはマッピング データ フローのいずれかを使用して、ビジネス システムに接続し、データを一時的な場所にコピーします。

  2. マッピング データ フローは、あらゆる変換を処理し、処理する必要のある各ツインのファイルを出力します。

  3. Get Metadata アクティビティは、ファイルのリストを取得し、それらをループ処理して、カスタム アクティビティを呼び出します。

  4. Azure Batch は、Azure Digital Twins とインターフェイスするためのカスタム コードを実行する各ファイルのタスクを作成します。

コンポーネント

  • Azure Digital Twins は、物理資産のデジタル表現を表すメタバースの基礎です。

  • Azure Data Factory は、ソース システムと Azure Digital Twins 間の接続とオーケストレーションを処理します。

  • Azure Storage には、カスタム アクティビティ用のコードと、処理が必要なデータ ファイルが格納されます。

  • Azure Batch は、カスタム アクティビティ コードを実行します。

  • Microsoft Entra ID は、カスタム アクティビティから Azure Digital Twins に安全に接続するためのマネージド ID を提供します。

代替

この方法の代替として、Azure Batch の代わりに Azure Functions を使用する方法があります。 Functions には実行のタイムアウトがあるため、このアーキテクチャでは Azure Functions を使用しないことを選択しました。 Azure Digital Twins の更新に複雑なロジックが必要な場合や、API がスロットルされた場合に、タイムアウトが問題になる可能性があります。 このような場合、実行が完了する前に関数がタイムアウトすることがあります。 Azure Batch にはこのような制限はありません。 また、Batch を使用する場合は、ファイルを処理するためにアクティブにする仮想マシンの数を構成することができます。 この柔軟性により、更新の規模と速度のバランスを取ることができます。

シナリオの詳細

Azure Digital Twins は、企業内の人、場所、物のデータで定期的に更新されるシステムと企業の仮想表現を構築するのに役立ちます。 関連するデータを Azure Digital Twins に取り込む方法を見つけ出すことは、困難なことのように思われるかもしれません。 そのデータが従来の抽出、変換、読み込み (ETL) の手法を必要とするシステムからのものである場合には、この記事が役立ちます。

このシナリオ例では、Azure Digital Twins グラフをデータと同期または更新することで、Azure Digital Twins を基幹業務 (LOB) システムに統合します。 モデルとデータ パイプラインを確立することで、ご利用の環境とシステムをあらゆる角度から評価することができます。 同期の頻度は、ソース システムとソリューションの要件に基づいて決定します。

考えられるユース ケース

このソリューションは、製造、自動車、輸送の各業種に最適です。 これらの他のユース ケースにも、同様の設計パターンがあります。

  • 倉庫内の資産の移動 (フォークリフトなど) に関する Azure Digital Twins のグラフがあります。 資産ごとに現在処理されている注文に関するデータを得る必要がある場合があります。 これを行うために、倉庫管理システムや販売の基幹業務アプリケーションのデータを 10 分ごとに統合することができます。 Azure Digital Twins の同じグラフを資産管理ソリューションと毎日同期して、その日に倉庫で利用可能な資産のインベントリを受け取ることができます。

  • 頻繁には変更されないデータを含む階層に属する車両フリートがあります。 このソリューションを使用して、必要に応じてデータを更新しておくことができます。

考慮事項

以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

  • カスタム アクティビティは、基本的にコンソール アプリケーションです。 ローカルで実行およびデバッグできるようにするための基礎として、Paul Andrew 氏のブログ記事「Azure Data Factory v2 カスタム アクティビティの作成」に記載されているベスト プラクティスの一部を取り上げました。

  • 処理後のファイルを、履歴のためにアーカイブすることを検討してください。

  • 必要なツインのみを更新するように、変更データ キャプチャ パターンを実装することを検討してください。

可用性

Data Factory パイプラインの監視について詳しくは、以下のリソースを参照してください。

Azure Batch の監視について詳しくは、以下のリソースを参照してください。

Operations

操作に関連する情報については、次のリソースを参照してください。

パフォーマンス

Azure Digital Twins を大規模なデータセットと統合する必要がある場合、パフォーマンスが問題になる可能性があります。 必要なバランスを見つけるために Azure Batch を適切にスケーリングする方法を検討してください。 スケーリングに関するヘルプについては、次のリソースを参照してください。

ソース システムのデータの複雑さとサイズに応じて、マッピング データ フローの規模を検討してください。 パフォーマンスの対処に関するヘルプについては、「マッピング データ フローのパフォーマンスとチューニングのガイド」を参照してください。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。

このシナリオは、データのセキュリティのためにマネージド ID に依存しています。 Data Factory では、共有アクセス署名を生成するためにストレージ アカウント キーが必要です。 そのキーを保護するために、Azure Key Vault にそれを保存し、マネージド ID を使用してデータ ファクトリにアクセス権を付与します。

DevOps

  • カスタム アクティビティ コードは、Azure Storage に配置された .zip ファイルに含まれています。 DevOps パイプラインは、そのコードのデプロイを管理することができます。
  • Data Factory は、エンドツーエンドの DevOps ライフサイクルをサポートします。

コストの最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。

Azure 料金計算ツールを使用して、Azure Digital Twins、Data Factory、Azure Batch の正確な価格を把握することができます。

このシナリオのデプロイ

GitHub にリファレンス実装が掲載されています:「Azure Digital Twins Batch 更新のプロトタイプ」。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

  • Howard Gingingin | シニア クラウド ソリューション アーキテクト

その他の共同作成者:

  • Mike Downs | シニア クラウド ソリューション アーキテクト
  • Gary Moore | プログラマー/ライター
  • Onder Yildirim | シニア クラウド ソリューション アーキテクト

次の手順