一般的なタスクについて Azure Digital Twins API をクエリする方法
重要
Azure Digital Twins サービスの新しいバージョンがリリースされました。 新しいサービスの拡張機能に照らして、元の Azure Digital Twins サービス (このドキュメント セットで説明) は廃止されました。
新しいサービスのドキュメントを表示するには、アクティブな Azure Digital Twins のドキュメントを参照してください。
この記事では、Azure Digital Twins インスタンスに対する一般的なシナリオを実行するために役立つクエリ パターンを示します。 ここでは、Digital Twins インスタンスが既に実行されていることを前提とします。 Postman などの任意の REST クライアントを使用することができます。
次の例では、YOUR_MANAGEMENT_API_URL
は Digital Twins API の URI を参照しています。
https://YOUR_INSTANCE_NAME.YOUR_LOCATION.azuresmartspaces.net/management/api/v1.0
名前 | 置換後の文字列 |
---|---|
YOUR_INSTANCE_NAME | Azure Digital Twins インスタンスの名前 |
YOUR_LOCATION | インスタンスをホストするリージョン |
スペースおよび種類に対するクエリ
このセクションでは、プロビジョニングされたスペースについての詳細情報を取得するサンプル クエリを示します。 サンプル クエリを使用して認証済みの GET HTTP 要求を行い、プレースホルダーをセットアップからの値に置き換えます。
ルート ノードであるスペースを取得します。
YOUR_MANAGEMENT_API_URL/spaces?$filter=ParentSpaceId eq null
名前によってスペースを取得し、デバイス、センサー、計算値、およびセンサー値を含めます。
YOUR_MANAGEMENT_API_URL/spaces?name=Focus Room A1&includes=fullpath,devices,sensors,values,sensorsvalues
親が指定されたスペース ID であり、指定されたスペースに対する相関関係がレベル 2 から 5 となるスペースとそのデバイス/センサー情報を取得します。
YOUR_MANAGEMENT_API_URL/spaces?spaceId=YOUR_SPACE_ID&includes=fullpath,devices,sensors,values,sensorsvalues&traverse=Down&minLevel=1&minRelative=true&maxLevel=5&maxRelative=true
指定の ID を持つスペースを取得し、計算値とセンサー値を含めます。
YOUR_MANAGEMENT_API_URL/spaces?ids=YOUR_SPACE_ID&includes=Values,sensors,SensorsValues
特定のスペースについてのプロパティ キーを取得します。
YOUR_MANAGEMENT_API_URL/propertykeys?spaceId=YOUR_SPACE_ID
AreaInSqMeters という名前のプロパティ キーを持ち、値が 30 であるスペースを取得します。 文字列操作も行うことができ、たとえば、
name = X contains Y
のプロパティ キーを含むスペースを取得できます。YOUR_MANAGEMENT_API_URL/spaces?propertyKey=AreaInSqMeters&propertyValue=30
名前 Temperature および関連する依存関係とオントロジーを持つすべての名前を取得します。
YOUR_MANAGEMENT_API_URL/types?names=Temperature&includes=space,ontologies,description,fullpath
ロールとロール割り当てに対するクエリ
このセクションでは、ロールとその割り当てに関する詳細情報を取得するいくつかのクエリを示します。
Azure Digital Twins でサポートされているすべてのロールを取得します。
YOUR_MANAGEMENT_API_URL/system/roles
Digital Twins インスタンス内のすべてのロール割り当てを取得します。
YOUR_MANAGEMENT_API_URL/roleassignments?path=/&traverse=down
特定パスにあるロール割り当てを取得します。
YOUR_MANAGEMENT_API_URL/roleassignments?path=/A_SPATIAL_PATH
デバイスに関するクエリ
このセクションでは、デバイスに関する特定の情報を取得するために、Management API を使用する方法の例をいくつか示します。 すべての API 呼び出しは、認証された GET HTTP 要求である必要があります。
すべてのデバイスを取得します。
YOUR_MANAGEMENT_API_URL/devices
すべてのデバイスの状態を検索します。
YOUR_MANAGEMENT_API_URL/system/devices/statuses
特定のデバイスを取得します。
YOUR_MANAGEMENT_API_URL/devices/YOUR_DEVICE_ID
ルート スペースに接続されているすべてのデバイスを取得します。
YOUR_MANAGEMENT_API_URL/devices?maxLevel=1
レベル 2 ~ 4 のスペースに接続されているすべてのデバイスを取得します。
YOUR_MANAGEMENT_API_URL/devices?minLevel=2&maxLevel=4
特定のスペース ID に直接接続されているすべてのデバイスを取得します。
YOUR_MANAGEMENT_API_URL/devices?spaceId=YOUR_SPACE_ID
特定のスペースとその子孫に接続されているすべてのデバイスを取得します。
YOUR_MANAGEMENT_API_URL/devices?spaceId=YOUR_SPACE_ID&traverse=Down
あるスペースの子孫 (そのスペースを除く) に接続されているすべてのデバイスを取得します。
YOUR_MANAGEMENT_API_URL/devices?spaceId=YOUR_SPACE_ID&traverse=Down&minLevel=1&minRelative=true
あるスペースの直接の子に接続されているすべてのデバイスを取得します。
YOUR_MANAGEMENT_API_URL/devices?spaceId=YOUR_SPACE_ID&traverse=Down&minLevel=1&minRelative=true&maxLevel=1&maxRelative=true
あるスペースの先祖の 1 つに接続されているすべてのデバイスを取得します。
YOUR_MANAGEMENT_API_URL/devices?spaceId=YOUR_SPACE_ID&traverse=Up&maxLevel=-1&maxRelative=true
あるスペースの子孫のうち、レベル 5 以下の子孫に接続されているすべてのデバイスを取得します。
YOUR_MANAGEMENT_API_URL/devices?spaceId=YOUR_SPACE_ID&traverse=Down&maxLevel=5
ID YOUR_SPACE_ID を持つスペースと同じレベルのスペースに接続されているすべてのデバイスを取得します。
YOUR_MANAGEMENT_API_URL/devices?spaceId=YOUR_SPACE_ID&traverse=Span&minLevel=0&minRelative=true&maxLevel=0&maxRelative=true
お使いのデバイスの IoT Hub 接続文字列を取得します。
YOUR_MANAGEMENT_API_URL/devices/YOUR_DEVICE_ID?includes=ConnectionString
特定のハードウェア ID を持つデバイスを、接続されたセンサーと一緒に取得します。
YOUR_MANAGEMENT_API_URL/devices?hardwareIds=YOUR_DEVICE_HARDWARE_ID&includes=sensors
特定のデータ型のセンサーを取得します。この場合は Motion および Temperature です。
YOUR_MANAGEMENT_API_URL/sensors?dataTypes=Motion,Temperature
マッチャーおよびユーザー定義関数に対するクエリ
プロビジョニング済みのすべてのマッチャーおよびその ID を取得します。
YOUR_MANAGEMENT_API_URL/matchers
スペースおよび関連付けられているユーザー定義関数など、特定のマッチャーの詳細を取得します。
YOUR_MANAGEMENT_API_URL/matchers/YOUR_MATCHER_ID?includes=description, conditions, fullpath, userdefinedfunctions, space
センサーに対するマッチャーを評価し、デバッグのためのログ記録を有効にします。 この HTTP GET メッセージの戻り値は、マッチャーとセンサーがデータ型に属しているかどうかを示します。
YOUR_MANAGEMENT_API_URL/matchers/YOUR_MATCHER_ID/evaluate/YOUR_SENSOR_ID?enableLogging=true
ユーザー定義関数の ID を取得します。
YOUR_MANAGEMENT_API_URL/userdefinedfunctions
特定のユーザー定義関数の内容を取得します。
YOUR_MANAGEMENT_API_URL/userdefinedfunctions/YOUR_USER_DEFINED_FUNCTION_ID/contents
ユーザーに対するクエリ
このセクションでは、Azure Digital Twins 内のユーザーを管理するためのいくつかのサンプル API クエリを示します。 プレース ホルダーをセットアップからの値に置き換えて HTTP GET 要求を行います。
すべてのユーザーを取得します。
YOUR_MANAGEMENT_API_URL/users
特定のユーザーを取得します。
YOUR_MANAGEMENT_API_URL/users/ANY_USER_ID
次の手順
Management API を使用して認証を行う方法については、API を使用した認証に関するページを参照してください。
API エンドポイントの詳細については、Digital Twins Swagger の使用方法に関するページをご覧ください。