Delen via


Query - Query Twins

Hiermee wordt een query uitgevoerd waarmee relaties kunnen worden doorkruist en kan worden gefilterd op eigenschapswaarden. Statuscodes:

  • 200 OK
  • 400 Ongeldige aanvraag
    • BadRequest: het vervolgtoken is ongeldig.
    • SqlQueryError: de query bevat enkele fouten.
    • TimeoutError: er is na 60 seconden een time-out opgetreden bij het uitvoeren van de query. Probeer de query te vereenvoudigen of voorwaarden toe te voegen om de grootte van het resultaat te verkleinen.
  • 429 Te veel aanvragen
  • QuotaReachedError - De maximale queryfrequentielimiet is bereikt.
POST https://digitaltwins-hostname/query?api-version=2023-10-31

URI-parameters

Name In Vereist Type Description
api-version
query True

string

De aangevraagde API-versie.

Aanvraagkoptekst

Name Vereist Type Description
max-items-per-page

integer

Het maximum aantal items dat per aanvraag moet worden opgehaald. De server kan ervoor kiezen om minder dan het aangevraagde nummer te retourneren.

traceparent

string

Identificeert de aanvraag in een gedistribueerd traceringssysteem.

tracestate

string

Biedt leverancierspecifieke traceringsidentificatie-informatie en is een aanvulling op traceerouder.

Aanvraagbody

Name Type Description
continuationToken

string

Een token dat wordt gebruikt om de volgende set resultaten op te halen uit een vorige query.

query

string

De query die moet worden uitgevoerd. Deze waarde wordt genegeerd als er een vervolgtoken wordt opgegeven.

Antwoorden

Name Type Description
200 OK

QueryResult

Geslaagd

Headers

query-charge: number

Other Status Codes

ErrorResponse

Standaardantwoord.

Headers

x-ms-error-code: string

Beveiliging

oauth2

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

Voorbeelden

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
    }
  ]
}

Definities

Name Description
Error

Foutdefinitie.

ErrorResponse

Foutreactie.

InnerError

Een specifiekere foutbeschrijving dan is opgegeven door de betreffende fout.

QueryResult

De resultaten van een querybewerking en een optioneel vervolgtoken.

QuerySpecification

Een queryspecificatie met een query-instructie of een vervolgtoken van een vorige queryresultaat.

Error

Foutdefinitie.

Name Type Description
code

string

Servicespecifieke foutcode die fungeert als de substatus voor de HTTP-foutcode.

details

Error[]

Details van interne fouten.

innererror

InnerError

Een object met specifiekere informatie dan het huidige object over de fout.

message

string

Een door mensen leesbare weergave van de fout.

ErrorResponse

Foutreactie.

Name Type Description
error

Error

De foutdetails.

InnerError

Een specifiekere foutbeschrijving dan is opgegeven door de betreffende fout.

Name Type Description
code

string

Een specifiekere foutcode dan is opgegeven door de betreffende fout.

innererror

InnerError

Een object met specifiekere informatie dan het huidige object over de fout.

QueryResult

De resultaten van een querybewerking en een optioneel vervolgtoken.

Name Type Description
continuationToken

string

Een token dat kan worden gebruikt om een nieuwe QuerySpecification te maken om de volgende set resultaten op te halen.

value

object[]

De queryresultaten.

QuerySpecification

Een queryspecificatie met een query-instructie of een vervolgtoken van een vorige queryresultaat.

Name Type Description
continuationToken

string

Een token dat wordt gebruikt om de volgende set resultaten op te halen uit een vorige query.

query

string

De query die moet worden uitgevoerd. Deze waarde wordt genegeerd als er een vervolgtoken wordt opgegeven.