Query Execution - Execute Query

Exécute une requête sur un dataflow et retourne le résultat.
Exécute une requête spécifiée sur un flux de données et transmet le résultat à l’appelant. Prend en charge l’utilisation de documents mashup personnalisés pour les scénarios avancés.

Cette API prend en charge opérations longues (LRO).

Permissions

L’appelant doit disposer d’autorisations d’exécution pour le flux de données.

Étendues déléguées requises

Dataflow.Execute.All ou Item.Execute.All.

Limites

Les requêtes peuvent s’exécuter pendant un maximum de 90 secondes.

Identités prises en charge par Microsoft Entra

Cette API prend en charge les identités Microsoft répertoriées dans cette section.

Identité Support
Utilisateur Oui
Service principal et identités gérées Oui

Formats de réponse

Utilisez l’en-tête Accept pour négocier le type de média de réponse. Aujourd’hui, le format de diffusion en continu Apache Arrow est le seul format de réponse disponible ; d’autres formats peuvent être proposés à l’avenir.

Format de streaming Apache Arrow

Type de média :application/vnd.apache.arrow.stream

Lors de l’envoi de ce type de média, le pq-arrow-version paramètre de type multimédia est requis et sélectionne la version d’encodage de flèche :

  • pq-arrow-version=1 — Encodage Apache Arrow d’origine. Compatible avec tous les dataflows, y compris ceux qui se connectent via une passerelle de données locale.
  • pq-arrow-version=2 — Encodage Apache Arrow plus récent avec amélioration des performances de streaming. Non pris en charge pour les flux de données qui se connectent via une passerelle de données locale.

Exemple : Accept: application/vnd.apache.arrow.stream;pq-arrow-version=2

Si l’en-tête Accept est omis application/vnd.apache.arrow.stream;pq-arrow-version=1entièrement (ou */* envoyé), la réponse est par défaut .

Interface

POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/dataflows/{dataflowId}/executeQuery

Paramètres URI

Nom Dans Obligatoire Type Description
dataflowId
path True

string (uuid)

ID de dataflow.

workspaceId
path True

string (uuid)

Identifiant de l’espace de travail.

En-tête de la demande

Nom Obligatoire Type Description
Accept

string

Le type de média souhaité pour la réponse. Consultez la description de l’opération pour obtenir la liste des formats de réponse pris en charge. Aujourd’hui, seul application/vnd.apache.arrow.stream est pris en charge ; lors de l’envoi de ce type de média, le pq-arrow-version paramètre est requis et doit être soit 1 ou 2 (par exemple application/vnd.apache.arrow.stream;pq-arrow-version=1). Si l’en-tête est omis entièrement, la valeur par défaut application/vnd.apache.arrow.stream;pq-arrow-version=1 est utilisée.

Corps de la demande

Nom Obligatoire Type Description
queryName True

string

Nom de la requête à exécuter à partir du flux de données (ou du document mashup personnalisé s’il est fourni).

customMashupDocument

string

Document mashup personnalisé facultatif pour remplacer le mashup par défaut du flux de données.

Réponses

Nom Type Description
200 OK

file

Le résultat de la requête a été diffusé en continu. Le corps de la réponse est encodé dans le type de média négocié via l’en-tête de la requête (consultez la description de Accept l’opération pour la liste des formats de réponse pris en charge).

Lorsque la réponse se trouve dans le format de diffusion en continu Apache Arrow (application/vnd.apache.arrow.streamle seul format disponible aujourd’hui), les résultats sont diffusés en tant qu’IPC Apache Arrow ; la version d’encodage de flèche retournée correspond au pq-arrow-version paramètre envoyé sur l’en-tête de Accept la requête (valeur par défaut 1). Reportez-vous à la documentation flèche sur la lecture du flux en Python et dans d’autres langages. Les erreurs rencontrées lors de l’exécution de la requête ou de la diffusion en continu sont signalées dans une colonne supplémentaire à la fin nommée « Métadonnées de flèche PQ ».

202 Accepted

Demande acceptée, exécution de requête en cours.

En-têtes

  • Location: string
  • x-ms-operation-id: string
  • Retry-After: integer
429 Too Many Requests

ErrorResponse

La limite de débit de service a été dépassée. Le serveur retourne un Retry-After en-tête indiquant, en secondes, combien de temps le client doit attendre avant d’envoyer des demandes supplémentaires.

En-têtes

Retry-After: integer

Other Status Codes

ErrorResponse

Codes d’erreur courants :

  • DataflowExecuteQueryError - Échec de l’exécution de la requête. Voici quelques raisons possibles : le nom de requête spécifié n’est pas valide ou vide, le document mashup personnalisé n’est pas valide ou le nom de la requête spécifié n’a pas été trouvé dans le flux de données (ou dans le document mashup personnalisé s’il est fourni).

Définitions

Nom Description
ErrorRelatedResource

Objet de détails de ressource associé à l’erreur.

ErrorResponse

Réponse d’erreur.

ErrorResponseDetails

Détails de la réponse d’erreur.

ExecuteQueryRequest

Charge utile de requête pour l’exécution d’une requête sur un dataflow.

ErrorRelatedResource

Objet de détails de ressource associé à l’erreur.

Nom Type Description
resourceId

string

ID de ressource impliqué dans l’erreur.

resourceType

string

Type de la ressource impliquée dans l’erreur.

ErrorResponse

Réponse d’erreur.

Nom Type Description
errorCode

string

Identificateur spécifique qui fournit des informations sur une condition d’erreur, ce qui permet une communication standardisée entre notre service et ses utilisateurs.

isRetriable

boolean

Lorsque la valeur est true, la requête peut être retentée. Utilisez l’en-tête Retry-After de réponse pour déterminer le délai, le cas échéant.

message

string

Représentation lisible humaine de l’erreur.

moreDetails

ErrorResponseDetails[]

Liste des détails d’erreur supplémentaires.

relatedResource

ErrorRelatedResource

Détails de la ressource associée à l’erreur.

requestId

string (uuid)

ID de la demande associée à l’erreur.

ErrorResponseDetails

Détails de la réponse d’erreur.

Nom Type Description
errorCode

string

Identificateur spécifique qui fournit des informations sur une condition d’erreur, ce qui permet une communication standardisée entre notre service et ses utilisateurs.

message

string

Représentation lisible humaine de l’erreur.

relatedResource

ErrorRelatedResource

Détails de la ressource associée à l’erreur.

ExecuteQueryRequest

Charge utile de requête pour l’exécution d’une requête sur un dataflow.

Nom Type Description
customMashupDocument

string

Document mashup personnalisé facultatif pour remplacer le mashup par défaut du flux de données.

queryName

string

Nom de la requête à exécuter à partir du flux de données (ou du document mashup personnalisé s’il est fourni).