Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Databricks SQL
Databricks Runtime 16.2 y versiones posteriores
Realiza una solicitud HTTP mediante una conexión HTTP definida.
Esta función requiere la invocación de parámetros con nombre.
Sintaxis
http_request( { CONN => connectionName |
METHOD => httpMethod |
PATH => path |
HEADERS => headerMap |
PARAMS => paramMap |
JSON => jsonStr } [, ..] )
Argumentos
Se produce un error si se especifica un parámetro más de una vez.
-
Constante
STRINGque hace referencia a un identificador de conexión HTTP existente. Este argumento es obligatorio httpMethodExpresión
STRINGconstante que representa el método HTTP que se va a usar. Se admiten los métodos siguientes: 'GET', 'POST', 'PUT', 'DELETE', 'PATCH'. Este argumento es obligatorio.pathExpresión
STRINGconstante que se anexa a labase_pathde la dirección URL de conexión. La ruta de acceso no debe contener recorrido de directorios (../..). Este argumento es obligatorio.headerMapUn
MAP<STRING, STRING>opcional que contiene encabezados de solicitud. El valor predeterminado esNULL.paramMapUn
MAP<STRING, STRING>opcional con los parámetros de consulta de petición en formato JSON. El valor predeterminado esNULL.jsonStrExpresión de cadena JSON opcional con el cuerpo de la solicitud.
Devoluciones
Un STRUCT<status_code INT, text STRING> donde
-
status_codees el código de estado HTTP de la respuesta del servicio externo. Por ejemplo: 200 o 403. -
textes la respuesta devuelta por el servicio externo. Normalmente, se trata de una cadena JSON.
Ejemplos
-- Set up a connect to Slack.
> CREATE CONNECTION slack_conn
TYPE HTTP
OPTIONS (
host 'https://slack.com',
port '443',
base_path '/api/',
bearer_token 'xoxb-xxxxx'
);
-- Request to the external service
> SELECT http_request(
conn => 'slack_conn',
method => 'POST',
path => '/chat.postMessage',
json => to_json(named_struct(
'channel', channel,
'text', text
))
headers => map(
'Accept', "application/vnd.github+json",
)
);
Limitaciones
- La
http_requestfunción está limitada por velocidad. Está diseñado para casos de uso interactivos y basados en agentes, no para consultas por lotes de gran volumen. Si se ejecutahttp_requesten muchas filas en una sola consulta, es posible que las solicitudes se limite y produzcan errores. Para solucionar este problema, use el SDK de Databricks para Python enviar solicitudes en lotes más pequeños con retrasos entre ellos. Para el nuevo código, Databricks recomienda usar el punto de conexión de proxy de conexiones del catálogo de Unity con el SDK del proveedor en lugar de .http_request