Query - Query Twins
Spustí dotaz, který umožňuje procházení relací a filtrování podle hodnot vlastností. Stavové kódy:
- 200 OK
- 400 – Chybný požadavek
- BadRequest – token pro pokračování je neplatný.
- SqlQueryError – dotaz obsahuje některé chyby.
- TimeoutError – Časový limit provádění dotazu vypršel po 60 sekundách. Zkuste dotaz zjednodušit nebo přidat podmínky, abyste zmenšili velikost výsledku.
- 429 – Příliš mnoho požadavků
- QuotaReachedError – došlo k dosažení maximálního limitu četnosti dotazů.
POST https://digitaltwins-hostname/query?api-version=2023-10-31
Parametry identifikátoru URI
Name | V | Vyžadováno | Typ | Description |
---|---|---|---|---|
api-version
|
query | True |
string |
Požadovaná verze rozhraní API |
Hlavička požadavku
Name | Vyžadováno | Typ | Description |
---|---|---|---|
max-items-per-page |
integer |
Maximální počet položek, které se mají načíst na žádost. Server se může rozhodnout vrátit méně, než je požadované číslo. |
|
traceparent |
string |
Identifikuje požadavek v distribuovaném trasovacím systému. |
|
tracestate |
string |
Poskytuje identifikační informace o trasování specifické pro dodavatele a je doprovodnou zprávou traceparent. |
Text požadavku
Name | Typ | Description |
---|---|---|
continuationToken |
string |
Token, který slouží k načtení další sady výsledků z předchozího dotazu. |
query |
string |
Dotaz, který se má provést. Pokud je k dispozici pokračovací token, tato hodnota se ignoruje. |
Odpovědi
Name | Typ | Description |
---|---|---|
200 OK |
Success Headers query-charge: number |
|
Other Status Codes |
Výchozí odpověď. Headers x-ms-error-code: string |
Zabezpečení
oauth2
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize?resource=0b07f429-9f4b-4714-9392-cc5e8e80c8b0
Příklady
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
}
]
}
Definice
Name | Description |
---|---|
Error |
Definice chyby. |
Error |
Chybová odpověď. |
Inner |
Konkrétnější popis chyby, než je uvedeno v obsahující chybě. |
Query |
Výsledky operace dotazu a volitelného pokračovacího tokenu |
Query |
Specifikace dotazu obsahující příkaz dotazu nebo pokračovací token z předchozího výsledku dotazu. |
Error
Definice chyby.
Name | Typ | Description |
---|---|---|
code |
string |
Kód chyby specifický pro službu, který slouží jako dílčí stav pro kód chyby HTTP. |
details |
Error[] |
Podrobnosti o vnitřní chybě. |
innererror |
Objekt obsahující konkrétnější informace o chybě než aktuální objekt. |
|
message |
string |
Lidsky čitelná reprezentace chyby. |
ErrorResponse
Chybová odpověď.
Name | Typ | Description |
---|---|---|
error |
Podrobnosti o chybě. |
InnerError
Konkrétnější popis chyby, než je uvedeno v obsahující chybě.
Name | Typ | Description |
---|---|---|
code |
string |
Konkrétnější kód chyby, než byl poskytnut v obsahující chybě. |
innererror |
Objekt obsahující konkrétnější informace o chybě než aktuální objekt. |
QueryResult
Výsledky operace dotazu a volitelného pokračovacího tokenu
Name | Typ | Description |
---|---|---|
continuationToken |
string |
Token, který lze použít k vytvoření nové QuerySpecification pro načtení další sady výsledků. |
value |
object[] |
Výsledky dotazu |
QuerySpecification
Specifikace dotazu obsahující příkaz dotazu nebo pokračovací token z předchozího výsledku dotazu.
Name | Typ | Description |
---|---|---|
continuationToken |
string |
Token, který slouží k načtení další sady výsledků z předchozího dotazu. |
query |
string |
Dotaz, který se má provést. Pokud je k dispozici pokračovací token, tato hodnota se ignoruje. |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro