Query - Query Twins
관계를 트래버스하고 속성 값을 기준으로 필터링할 수 있는 쿼리를 실행합니다. 상태 코드:
- 200 정상
- 400 잘못된 요청
- BadRequest - 연속 토큰이 잘못되었습니다.
- SqlQueryError - 쿼리에 몇 가지 오류가 포함됩니다.
- TimeoutError - 쿼리 실행 시간이 60초 후에 초과되었습니다. 쿼리를 단순화하거나 조건을 추가하여 결과 크기를 줄입니다.
- 429 요청이 너무 많음
- QuotaReachedError - 최대 쿼리 속도 제한에 도달했습니다.
POST https://digitaltwins-hostname/query?api-version=2023-10-31
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
api-version
|
query | True |
string |
요청된 API 버전입니다. |
요청 헤더
Name | 필수 | 형식 | Description |
---|---|---|---|
max-items-per-page |
integer |
요청당 검색할 최대 항목 수입니다. 서버는 요청된 번호보다 적게 반환하도록 선택할 수 있습니다. |
|
traceparent |
string |
분산 추적 시스템에서 요청을 식별합니다. |
|
tracestate |
string |
공급업체별 추적 식별 정보를 제공하며 추적 매개 변수의 도우미입니다. |
요청 본문
Name | 형식 | Description |
---|---|---|
continuationToken |
string |
이전 쿼리에서 다음 결과 집합을 검색하는 데 사용되는 토큰입니다. |
query |
string |
실행할 쿼리입니다. 연속 토큰이 제공되면 이 값은 무시됩니다. |
응답
Name | 형식 | 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
}
]
}
정의
Name | Description |
---|---|
Error |
오류 정의입니다. |
Error |
오류 응답입니다. |
Inner |
포함된 오류에서 제공한 것보다 더 구체적인 오류 설명입니다. |
Query |
쿼리 작업 및 선택적 연속 토큰의 결과입니다. |
Query |
이전 쿼리 결과의 쿼리 문 또는 연속 토큰을 포함하는 쿼리 사양입니다. |
Error
오류 정의입니다.
Name | 형식 | Description |
---|---|---|
code |
string |
HTTP 오류 코드의 하위 상태 역할을 하는 서비스별 오류 코드입니다. |
details |
Error[] |
내부 오류 세부 정보입니다. |
innererror |
오류에 대한 현재 개체보다 더 구체적인 정보를 포함하는 개체입니다. |
|
message |
string |
사람이 읽을 수 있는 오류 표현입니다. |
ErrorResponse
오류 응답입니다.
Name | 형식 | Description |
---|---|---|
error |
오류 세부 정보입니다. |
InnerError
포함된 오류에서 제공한 것보다 더 구체적인 오류 설명입니다.
Name | 형식 | Description |
---|---|---|
code |
string |
포함된 오류에서 제공한 것보다 더 구체적인 오류 코드입니다. |
innererror |
오류에 대한 현재 개체보다 더 구체적인 정보를 포함하는 개체입니다. |
QueryResult
쿼리 작업 및 선택적 연속 토큰의 결과입니다.
Name | 형식 | Description |
---|---|---|
continuationToken |
string |
새 QuerySpecification을 생성하여 다음 결과 집합을 검색하는 데 사용할 수 있는 토큰입니다. |
value |
object[] |
쿼리 결과입니다. |
QuerySpecification
이전 쿼리 결과의 쿼리 문 또는 연속 토큰을 포함하는 쿼리 사양입니다.
Name | 형식 | Description |
---|---|---|
continuationToken |
string |
이전 쿼리에서 다음 결과 집합을 검색하는 데 사용되는 토큰입니다. |
query |
string |
실행할 쿼리입니다. 연속 토큰이 제공되면 이 값은 무시됩니다. |
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기