Query - Query Twins
Exécute une requête qui permet de parcourir les relations et de filtrer par valeurs de propriété. Codes d’état :
- 200 OK
- 400 Demande incorrecte
- BadRequest : le jeton de continuation n’est pas valide.
- SqlQueryError : la requête contient des erreurs.
- TimeoutError : l’exécution de la requête a expiré après 60 secondes. Essayez de simplifier la requête ou d’ajouter des conditions pour réduire la taille des résultats.
- 429 Trop de demandes
- QuotaReachedError : la limite de débit de requête maximale a été atteinte.
POST https://digitaltwins-hostname/query?api-version=2023-10-31
Paramètres URI
Nom | Dans | Obligatoire | Type | Description |
---|---|---|---|---|
api-version
|
query | True |
string |
Version de l’API demandée. |
En-tête de la demande
Nom | Obligatoire | Type | Description |
---|---|---|---|
max-items-per-page |
integer |
Nombre maximal d’éléments à récupérer par requête. Le serveur peut choisir de retourner moins que le nombre demandé. |
|
traceparent |
string |
Identifie la demande dans un système de suivi distribué. |
|
tracestate |
string |
Fournit des informations d’identification de trace spécifiques au fournisseur et est un complément à traceparent. |
Corps de la demande
Nom | Type | Description |
---|---|---|
continuationToken |
string |
Jeton utilisé pour récupérer l’ensemble de résultats suivant à partir d’une requête précédente. |
query |
string |
Requête à exécuter. Cette valeur est ignorée si un jeton de continuation est fourni. |
Réponses
Nom | Type | Description |
---|---|---|
200 OK |
Succès Headers query-charge: number |
|
Other Status Codes |
Réponse par défaut. Headers x-ms-error-code: string |
Sécurité
oauth2
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize?resource=0b07f429-9f4b-4714-9392-cc5e8e80c8b0
Exemples
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
}
]
}
Définitions
Nom | Description |
---|---|
Error |
Définition de l’erreur. |
Error |
Réponse d’erreur. |
Inner |
Une description de l’erreur plus spécifique que celle fournie par l’erreur contenante. |
Query |
Résultats d’une opération de requête et d’un jeton de continuation facultatif. |
Query |
Spécification de requête contenant une instruction de requête ou un jeton de continuation d’un résultat de requête précédent. |
Error
Définition de l’erreur.
Nom | Type | Description |
---|---|---|
code |
string |
Code d’erreur spécifique au service qui sert de sous-état pour le code d’erreur HTTP. |
details |
Error[] |
Détails de l’erreur interne. |
innererror |
Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur. |
|
message |
string |
Représentation lisible par l’homme de l’erreur. |
ErrorResponse
Réponse d’erreur.
Nom | Type | Description |
---|---|---|
error |
Détails de l’erreur. |
InnerError
Une description de l’erreur plus spécifique que celle fournie par l’erreur contenante.
Nom | Type | Description |
---|---|---|
code |
string |
Un code d’erreur plus spécifique que celui fourni par l’erreur contenante. |
innererror |
Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur. |
QueryResult
Résultats d’une opération de requête et d’un jeton de continuation facultatif.
Nom | Type | Description |
---|---|---|
continuationToken |
string |
Jeton qui peut être utilisé pour construire une nouvelle QuerySpecification afin de récupérer l’ensemble de résultats suivant. |
value |
object[] |
Résultats de requête. |
QuerySpecification
Spécification de requête contenant une instruction de requête ou un jeton de continuation d’un résultat de requête précédent.
Nom | Type | Description |
---|---|---|
continuationToken |
string |
Jeton utilisé pour récupérer l’ensemble de résultats suivant à partir d’une requête précédente. |
query |
string |
Requête à exécuter. Cette valeur est ignorée si un jeton de continuation est fourni. |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour