Azure Digital Twins クエリ言語

この記事では、クエリ言語とその機能の基本について説明します。 Azure Digital Twins の中心は、デジタル ツインとリレーションシップから構築されたツイン グラフであることを思い出してください。 このグラフに対してクエリを実行し、デジタル ツインとそれに含まれるリレーションシップに関する情報を取得することができます。 これらのクエリは、Azure Digital Twins クエリ言語と呼ばれる、SQL に似たクエリ言語で記述されます。 この言語は、同等の機能を多数持つ IoT Hub クエリ言語に似ています。

クエリ構文の詳細な例とクエリ要求の実行方法については、ツイン グラフへのクエリの実行に関する記事を参照してください。

クエリについて

Azure Digital Twins クエリ言語を使用し、次に応じて、デジタル ツインを取得できます。

  • プロパティ (タグのプロパティを含む)
  • モデル
  • リレーションシップ
    • リレーションシップのプロパティ

クライアント アプリからサービスにクエリを送信するには、Azure Digital Twins の Query API を使用します。 API を使用する方法の 1 つとして、Azure Digital Twins のいずれかの SDK を使用する方法があります。

リファレンス ドキュメント

クエリ言語リファレンスは、Azure Digital Twins ドキュメントの左側の目次の「リファレンス」の下にあります。 次のリンクを使用して、リファレンス セクションに直接アクセスすることもできます。

クエリに関する考慮事項

Azure Digital Twins のクエリを作成する場合は、次の考慮事項に注意してください。

  • 大文字と小文字の区別を忘れない: すべての Azure Digital Twins クエリ操作では大文字と小文字が区別されるため、モデルで定義されている正確な名前を使用するように注意してください。 プロパティ名のスペルが間違っているか、大文字と小文字が正しくない場合、結果セットは空になり、エラーは返されません。

  • 単一引用符をエスケープする: クエリ テキストのデータ内に単一引用符が含まれている場合は、引用符を \ 文字でエスケープする必要があります。 プロパティ値 D'Souza を扱う例を次に示します。

    SELECT * FROM DIGITALTWINS WHERE Name = 'D\'Souza'
    

Note

グラフのデータを変更してからそれがクエリに反映されるまで、最大 10 秒の待機時間が発生する場合があります。

DigitalTwins API を使用すると変更がすぐに反映されるため、即時の応答が必要な場合は、クエリの代わりに API 要求 (DigitalTwins GetById) または SDK 呼び出し (GetDigitalTwin) を使用してツイン データを取得します。

履歴化されたツイン データのクエリを時間をかけて実行する

Azure Digital Twins のクエリ言語は、デジタル ツインおよびリレーションシップの現在の状態を照会することのみを目的としています。

時系列で収集された履歴付きツイン グラフ データに対してクエリを実行するには、データ履歴機能を使用して、Azure Digital Twins インスタンスを Azure Data Explorer クラスターに接続します。 これにより、Azure Data Explorer に対するグラフの更新が自動的に履歴に記録され、Azure Data Explorer 用の Azure Digital Twins プラグインを使用してクエリを実行できます。

次のステップ

クエリの作成方法を学習し、クライアント コードの例を見るには、ツイン グラフへのクエリの実行に関するページを参照してください。