Query - Query Twins
執行允許依屬性值周遊關聯性及篩選的查詢。 狀態碼:
- 200 確定
- 400 不正確的要求
- BadRequest - 接續權杖無效。
- SqlQueryError - 查詢包含一些錯誤。
- TimeoutError - 查詢執行時間會在 60 秒後逾時。 請嘗試簡化查詢或新增條件,以減少結果大小。
- 429 要求太多
- QuotaReachedError - 已達到查詢速率上限。
POST https://digitaltwins-hostname/query?api-version=2023-10-31
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
api-version
|
query | True |
string |
要求的 API 版本。 |
要求標頭
名稱 | 必要 | 類型 | Description |
---|---|---|---|
max-items-per-page |
integer |
每個要求要擷取的專案數目上限。 伺服器可以選擇傳回小於要求的數位。 |
|
traceparent |
string |
識別分散式追蹤系統中的要求。 |
|
tracestate |
string |
提供廠商特定的追蹤識別資訊,而且是追蹤親和的隨附專案。 |
要求本文
名稱 | 類型 | Description |
---|---|---|
continuationToken |
string |
用來擷取上一個查詢中下一組結果的權杖。 |
query |
string |
要執行的查詢。 如果提供接續權杖,則會忽略此值。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
Success Headers query-charge: number |
|
Other Status Codes |
預設回應。 Headers x-ms-error-code: string |
安全性
oauth2
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize?resource=0b07f429-9f4b-4714-9392-cc5e8e80c8b0
範例
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
}
]
}
定義
名稱 | Description |
---|---|
Error |
錯誤定義。 |
Error |
錯誤回應。 |
Inner |
比包含的錯誤所提供的更具體錯誤描述。 |
Query |
查詢作業和選擇性接續權杖的結果。 |
Query |
查詢規格,其中包含先前查詢結果中的查詢語句或接續標記。 |
Error
錯誤定義。
名稱 | 類型 | Description |
---|---|---|
code |
string |
服務特定的錯誤碼,可作為 HTTP 錯誤碼的子狀態。 |
details |
Error[] |
內部錯誤詳細資料。 |
innererror |
物件,包含比目前物件有關錯誤的更特定資訊。 |
|
message |
string |
人類看得懂的錯誤標記法。 |
ErrorResponse
錯誤回應。
名稱 | 類型 | Description |
---|---|---|
error |
錯誤詳細資料。 |
InnerError
比包含的錯誤所提供的更具體錯誤描述。
名稱 | 類型 | Description |
---|---|---|
code |
string |
比包含的錯誤所提供的更具體錯誤碼。 |
innererror |
物件,包含比目前物件有關錯誤的更特定資訊。 |
QueryResult
查詢作業和選擇性接續權杖的結果。
名稱 | 類型 | Description |
---|---|---|
continuationToken |
string |
權杖,可用來建構新的 QuerySpecification 來擷取下一組結果。 |
value |
object[] |
查詢結果。 |
QuerySpecification
查詢規格,其中包含先前查詢結果中的查詢語句或接續標記。
名稱 | 類型 | Description |
---|---|---|
continuationToken |
string |
用來擷取上一個查詢中下一組結果的權杖。 |
query |
string |
要執行的查詢。 如果提供接續權杖,則會忽略此值。 |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應