Megosztás a következőn keresztül:


Query - Query Twins

Végrehajt egy lekérdezést, amely lehetővé teszi a kapcsolatok bejárását és a tulajdonságértékek szerinti szűrést. Állapotkódok:

  • 200 OK
  • 400 – Hibás kérés
    • BadRequest – A folytatási jogkivonat érvénytelen.
    • SqlQueryError – A lekérdezés hibákat tartalmaz.
    • TimeoutError – A lekérdezés végrehajtása 60 másodperc után túllépte az időkorlátot. Próbálja leegyszerűsíteni a lekérdezést, vagy adjon hozzá feltételeket az eredmény méretének csökkentése érdekében.
  • 429 – Túl sok kérelem
  • QuotaReachedError – Elérte a maximális lekérdezési sebességkorlátot.
POST https://digitaltwins-hostname/query?api-version=2023-10-31

URI-paraméterek

Name In Kötelező Típus Description
api-version
query True

string

A kért API-verzió.

Kérelem fejléce

Name Kötelező Típus Description
max-items-per-page

integer

A kérésenként lekérhető elemek maximális száma. A kiszolgáló dönthet úgy, hogy a kért számnál kevesebbet ad vissza.

traceparent

string

Azonosítja a kérést egy elosztott nyomkövetési rendszerben.

tracestate

string

Szállítóspecifikus nyomkövetési azonosítási információkat biztosít, és a nyomkövetési adatok kiegészítője.

Kérelem törzse

Name Típus Description
continuationToken

string

Egy jogkivonat, amely egy előző lekérdezés következő eredménykészletének lekérésére szolgál.

query

string

A végrehajtandó lekérdezés. Ezt az értéket a rendszer figyelmen kívül hagyja, ha a rendszer folytatási jogkivonatot ad meg.

Válaszok

Name Típus Description
200 OK

QueryResult

Siker

Headers

query-charge: number

Other Status Codes

ErrorResponse

Alapértelmezett válasz.

Headers

x-ms-error-code: string

Biztonság

oauth2

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize?resource=0b07f429-9f4b-4714-9392-cc5e8e80c8b0

Példák

Query for digital twins
Query for digital twins through a relationship
Retrieve paged query results

Query for digital twins

Sample Request

POST https://digitaltwins-hostname/query?api-version=2023-10-31

{
  "query": "SELECT * FROM DIGITALTWINS WHERE temp = 79"
}

Sample Response

{
  "value": [
    {
      "$dtId": "Twin-01",
      "$metadata": {
        "$lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
        "$model": "dtmi:com:example:Sample;1",
        "name": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        },
        "temp": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        },
        "comfortIndex": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        }
      },
      "name": "Sample01",
      "temp": 79,
      "comfortIndex": 50
    },
    {
      "$dtId": "Twin-02",
      "$metadata": {
        "$lastUpdateTime": "2022-02-28T00:29:00.1234567Z",
        "$model": "dtmi:com:example:Sample;1",
        "name": {
          "lastUpdateTime": "2022-02-28T00:29:00.1234567Z"
        },
        "temp": {
          "lastUpdateTime": "2022-02-28T00:29:00.1234567Z",
          "sourceTime": "2022-05-31T12:00:00.000125009Z"
        },
        "comfortIndex": {
          "lastUpdateTime": "2022-02-28T00:29:00.1234567Z"
        }
      },
      "name": "Sample02",
      "temp": 79,
      "comfortIndex": 50
    },
    {
      "$dtId": "Twin-03",
      "$metadata": {
        "$lastUpdateTime": "2022-02-28T00:31:00.1234567Z",
        "$model": "dtmi:com:example:Sample;1",
        "name": {
          "lastUpdateTime": "2022-02-28T00:31:00.1234567Z"
        },
        "temp": {
          "lastUpdateTime": "2022-02-28T00:31:00.1234567Z"
        },
        "comfortIndex": {
          "lastUpdateTime": "2022-02-28T00:31:00.1234567Z"
        }
      },
      "name": "Sample03",
      "temp": 79,
      "comfortIndex": 50
    }
  ],
  "continuationToken": "<token>"
}

Query for digital twins through a relationship

Sample Request

POST https://digitaltwins-hostname/query?api-version=2023-10-31

{
  "query": "SELECT Widget, Gadget FROM DIGITALTWINS Widget JOIN Gadget RELATED Widget.Contains WHERE Widget.$dtId = 'Twin-01'"
}

Sample Response

{
  "value": [
    {
      "Widget": {
        "$dtId": "Twin-01",
        "$metadata": {
          "$lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
          "$model": "dtmi:com:example:Sample;1",
          "name": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          },
          "temp": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          },
          "comfortIndex": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          }
        },
        "name": "Sample01",
        "temp": 79,
        "comfortIndex": 50
      },
      "Gadget": {
        "$dtId": "Twin-02",
        "$metadata": {
          "$lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
          "$model": "dtmi:com:example:Sample;1",
          "name": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          },
          "temp": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          },
          "comfortIndex": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          }
        },
        "name": "Sample02",
        "temp": 79,
        "comfortIndex": 50
      }
    },
    {
      "Widget": {
        "$dtId": "Twin-01",
        "$metadata": {
          "$lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
          "$model": "dtmi:com:example:Sample;1",
          "name": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          },
          "temp": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          },
          "comfortIndex": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          }
        },
        "name": "Sample01",
        "temp": 79,
        "comfortIndex": 50
      },
      "Gadget": {
        "$dtId": "Twin-10",
        "$metadata": {
          "$lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
          "$model": "dtmi:com:example:Sample;1",
          "name": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          },
          "temp": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          },
          "comfortIndex": {
            "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
          }
        },
        "name": "Sample10",
        "temp": 79,
        "comfortIndex": 50
      }
    }
  ]
}

Retrieve paged query results

Sample Request

POST https://digitaltwins-hostname/query?api-version=2023-10-31

{
  "continuationToken": "<continuationToken from previous query>"
}

Sample Response

{
  "value": [
    {
      "$dtId": "Twin-04",
      "$metadata": {
        "$lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
        "$model": "dtmi:com:example:Sample;1",
        "name": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        },
        "temp": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        },
        "comfortIndex": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        }
      },
      "name": "Sample04",
      "temp": 79,
      "comfortIndex": 50
    },
    {
      "$dtId": "Twin-05",
      "$metadata": {
        "$lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
        "$model": "dtmi:com:example:Sample;1",
        "name": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        },
        "temp": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        },
        "comfortIndex": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        }
      },
      "name": "Sample05",
      "temp": 79,
      "comfortIndex": 50
    },
    {
      "$dtId": "Twin-06",
      "$metadata": {
        "$lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
        "$model": "dtmi:com:example:Sample;1",
        "name": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        },
        "temp": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        },
        "comfortIndex": {
          "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
        }
      },
      "name": "Sample06",
      "temp": 79,
      "comfortIndex": 50
    }
  ]
}

Definíciók

Name Description
Error

Hibadefiníció.

ErrorResponse

Hibaválasz.

InnerError

Pontosabb hibaleírás, mint amelyet a hiba tartalmazott.

QueryResult

Egy lekérdezési művelet eredményei és egy opcionális folytatási jogkivonat.

QuerySpecification

Egy lekérdezési utasítást vagy egy korábbi lekérdezési eredményből származó folytatási jogkivonatot tartalmazó lekérdezési specifikáció.

Error

Hibadefiníció.

Name Típus Description
code

string

Szolgáltatásspecifikus hibakód, amely a HTTP-hibakód alállapotaként szolgál.

details

Error[]

Belső hiba részletei.

innererror

InnerError

Egy objektum, amely az aktuális objektumnál pontosabb információt tartalmaz a hibáról.

message

string

A hiba emberi olvasásra alkalmas ábrázolása.

ErrorResponse

Hibaválasz.

Name Típus Description
error

Error

A hiba részletei.

InnerError

Pontosabb hibaleírás, mint amelyet a hiba tartalmazott.

Name Típus Description
code

string

Pontosabb hibakód, mint amit a tartalmazó hiba adott meg.

innererror

InnerError

Egy objektum, amely az aktuális objektumnál pontosabb információt tartalmaz a hibáról.

QueryResult

Egy lekérdezési művelet eredményei és egy opcionális folytatási jogkivonat.

Name Típus Description
continuationToken

string

Egy jogkivonat, amely egy új QuerySpecification létrehozásához használható a következő eredménykészlet lekéréséhez.

value

object[]

A lekérdezés eredménye.

QuerySpecification

Egy lekérdezési utasítást vagy egy korábbi lekérdezési eredményből származó folytatási jogkivonatot tartalmazó lekérdezési specifikáció.

Name Típus Description
continuationToken

string

Egy jogkivonat, amely egy előző lekérdezés következő eredménykészletének lekérésére szolgál.

query

string

A végrehajtandó lekérdezés. Ezt az értéket a rendszer figyelmen kívül hagyja, ha a rendszer folytatási jogkivonatot ad meg.