Query Execution - Execute Query

Ejecuta una consulta en un flujo de datos y devuelve el resultado.
Ejecuta una consulta especificada en un flujo de datos y transmite el resultado al autor de la llamada. Admite el uso de documentos mashup personalizados para escenarios avanzados.

Esta API admite operaciones de larga duración (LRO).

Permissions

El autor de la llamada debe tener permisos de ejecución para el flujo de datos.

Ámbitos delegados necesarios

Dataflow.Execute.All o Item.Execute.All.

Limitaciones

Las consultas se pueden ejecutar durante un máximo de 90 segundos.

Identidades admitidas de Microsoft Entra

Esta API admite las identidades de Microsoft enumeradas en esta sección.

identidad Support
Usuario
Entidad de servicio e Identidades administradas

Formatos de respuesta

Use el Accept encabezado para negociar el tipo de medio de respuesta. Hoy en día, el formato de streaming de Apache Arrow es el único formato de respuesta disponible; Se pueden ofrecer formatos adicionales en el futuro.

Formato de streaming de Apache Arrow

Tipo de medio:application/vnd.apache.arrow.stream

Al enviar este tipo de medio, se requiere el pq-arrow-version parámetro de tipo multimedia y selecciona la versión de codificación de flecha:

  • pq-arrow-version=1 — Codificación original de Apache Arrow. Compatible con todos los flujos de datos, incluidos los que se conectan a través de una puerta de enlace de datos local.
  • pq-arrow-version=2 : codificación más reciente de Apache Arrow con un rendimiento de streaming mejorado. No se admite para flujos de datos que se conectan a través de una puerta de enlace de datos local.

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

Si el Accept encabezado se omite por completo (o */* se envía), la respuesta tiene application/vnd.apache.arrow.stream;pq-arrow-version=1como valor predeterminado .

Interfaz

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

Parámetros de identificador URI

Nombre En Requerido Tipo Description
dataflowId
path True

string (uuid)

Identificador de flujo de datos.

workspaceId
path True

string (uuid)

El identificador del área de trabajo.

Encabezado de la solicitud

Nombre Requerido Tipo Description
Accept

string

El tipo de medio deseado para la respuesta. Consulte la descripción de la operación para obtener la lista de formatos de respuesta admitidos. Actualmente, solo application/vnd.apache.arrow.stream se admite; al enviar este tipo de medio, se requiere el pq-arrow-version parámetro y debe ser 1 o 2 (por ejemplo, application/vnd.apache.arrow.stream;pq-arrow-version=1). Si el encabezado se omite por completo, se usa el valor predeterminado application/vnd.apache.arrow.stream;pq-arrow-version=1 .

Cuerpo de la solicitud

Nombre Requerido Tipo Description
queryName True

string

Nombre de la consulta que se va a ejecutar desde el flujo de datos (o desde el documento de mashup personalizado si se proporciona).

customMashupDocument

string

Documento de mashup personalizado opcional para invalidar el mashup predeterminado del flujo de datos.

Respuestas

Nombre Tipo Description
200 OK

file

El resultado de la consulta se ha transmitido correctamente. El cuerpo de la respuesta se codifica en el tipo de medio negociado a través del encabezado de Accept la solicitud (vea la descripción de la operación para obtener la lista de formatos de respuesta admitidos).

Cuando la respuesta está en el formato de streaming de Apache Arrow (application/vnd.apache.arrow.stream, el único formato disponible hoy), los resultados se transmiten como IPC de Apache Arrow; la versión de codificación de flecha devuelta coincide con el pq-arrow-version parámetro enviado en el encabezado de Accept la solicitud (valor predeterminado 1). Consulte la documentación de Flecha sobre cómo leer la secuencia en Python y otros lenguajes. Los errores detectados durante la ejecución o el streaming de consultas se notifican en una columna adicional al final denominada "Metadatos de flecha de PQ".

202 Accepted

Solicitud aceptada, ejecución de consultas en curso.

Encabezados

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

ErrorResponse

Se superó el límite de frecuencia de servicio. El servidor devuelve un Retry-After encabezado que indica, en segundos, cuánto tiempo debe esperar el cliente antes de enviar solicitudes adicionales.

Encabezados

Retry-After: integer

Other Status Codes

ErrorResponse

Códigos de error comunes:

  • DataflowExecuteQueryError: error en la ejecución de la consulta. Algunos motivos posibles son: el nombre de consulta especificado no es válido o está vacío, el documento de mashup personalizado no es válido o el nombre de consulta especificado no se encontró en el flujo de datos (o en el documento de mashup personalizado si se proporciona).

Definiciones

Nombre Description
ErrorRelatedResource

Objeto de detalles del recurso relacionado con el error.

ErrorResponse

Respuesta de error.

ErrorResponseDetails

Detalles de la respuesta de error.

ExecuteQueryRequest

Solicitud de carga para ejecutar una consulta en un flujo de datos.

ErrorRelatedResource

Objeto de detalles del recurso relacionado con el error.

Nombre Tipo Description
resourceId

string

Identificador de recurso implicado en el error.

resourceType

string

Tipo del recurso implicado en el error.

ErrorResponse

Respuesta de error.

Nombre Tipo Description
errorCode

string

Identificador específico que proporciona información sobre una condición de error, lo que permite una comunicación estandarizada entre nuestro servicio y sus usuarios.

isRetriable

boolean

Cuando es true, se puede reintentar la solicitud. Use el Retry-After encabezado de respuesta para determinar el retraso, si está disponible.

message

string

Representación legible del error.

moreDetails

ErrorResponseDetails[]

Lista de detalles de error adicionales.

relatedResource

ErrorRelatedResource

Detalles del recurso relacionado con el error.

requestId

string (uuid)

Identificador de la solicitud asociada al error.

ErrorResponseDetails

Detalles de la respuesta de error.

Nombre Tipo Description
errorCode

string

Identificador específico que proporciona información sobre una condición de error, lo que permite una comunicación estandarizada entre nuestro servicio y sus usuarios.

message

string

Representación legible del error.

relatedResource

ErrorRelatedResource

Detalles del recurso relacionado con el error.

ExecuteQueryRequest

Solicitud de carga para ejecutar una consulta en un flujo de datos.

Nombre Tipo Description
customMashupDocument

string

Documento de mashup personalizado opcional para invalidar el mashup predeterminado del flujo de datos.

queryName

string

Nombre de la consulta que se va a ejecutar desde el flujo de datos (o desde el documento de mashup personalizado si se proporciona).