Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Funzione
Si applica a:
Databricks SQL
Databricks Runtime 16.2 e versioni successive
Effettua una richiesta HTTP usando una connessione HTTP definita.
Questa funzione richiede la chiamata di parametri denominati.
Sintassi
http_request( { CONN => connectionName |
METHOD => httpMethod |
PATH => path |
HEADERS => headerMap |
PARAMS => paramMap |
JSON => jsonStr } [, ..] )
Argomenti
Se un parametro viene specificato più volte, viene generato un errore.
-
Costante
STRINGche fa riferimento a un identificatore di connessione HTTP esistente. Questo argomento è obbligatorio httpMethodEspressione
STRINGcostante che rappresenta il metodo HTTP da utilizzare. Sono supportati i metodi seguenti: 'GET', 'POST', 'PUT', 'DELETE', 'PATCH'. Questo argomento è obbligatorio.pathEspressione
STRINGcostante che viene aggiunta all'oggettobase_pathdell'URL di connessione. Il percorso non deve contenere la traversata della directory (../..). Questo argomento è obbligatorio.headerMapUn
MAP<STRING, STRING>facoltativo contenente le intestazioni della richiesta. Il valore predefinito èNULL.paramMapUn
MAP<STRING, STRING>facoltativo con parametri di query della richiesta in formato JSON. Il valore predefinito èNULL.jsonStrEspressione stringa JSON facoltativa con il corpo della richiesta.
Restituzioni
Un STRUCT<status_code INT, text STRING> in cui
-
status_codeè il codice di stato HTTP della risposta dal servizio esterno. Ad esempio: 200 o 403. -
textè la risposta restituita dal servizio esterno. In genere, si tratta di una stringa JSON.
Esempi
-- 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",
)
);
Limitations
- La
http_requestfunzione è limitata. È progettato per casi d'uso interattivi e basati su agente, non per le query batch con volumi elevati. Se si eseguonohttp_requestin più righe in una singola query, le richieste potrebbero essere limitate e generare errori. Per risolvere questo problema, usare Databricks SDK per Python per inviare richieste in batch più piccoli con ritardi tra di essi. Per il nuovo codice, Databricks consiglia di usare l'endpoint proxy delle connessioni del catalogo Unity con l'SDK del provider anzichéhttp_request.