Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
Databricks SQL
Databricks Runtime 16.2 et versions ultérieures
Effectue une requête HTTP à l’aide d’une connexion HTTP définie.
Cette fonction nécessite un appel de paramètre nommé.
Syntaxe
http_request( { CONN => connectionName |
METHOD => httpMethod |
PATH => path |
HEADERS => headerMap |
PARAMS => paramMap |
JSON => jsonStr } [, ..] )
Les arguments
Une erreur est générée si un paramètre est spécifié plusieurs fois.
-
Constante
STRINGréférençant un identificateur de connexion HTTP existant. Cet argument est obligatoire httpMethodExpression
STRINGconstante représentant la méthode HTTP à utiliser. Les méthodes suivantes sont prises en charge : «GET », « POST », « PUT », « DELETE », « PATCH ». Cet argument est obligatoire.pathExpression
STRINGconstante qui est ajoutée à l’URLbase_pathde connexion. Le chemin d’accès ne doit pas contenir de traversée de répertoire (../..). Cet argument est obligatoire.headerMapUn élément
MAP<STRING, STRING>facultatif contenant des en-têtes de requête. La valeur par défaut estNULL.paramMapUn
MAP<STRING, STRING>facultatif avec des paramètres de requête au format JSON. La valeur par défaut estNULL.jsonStrExpression de chaîne JSON facultative avec le corps de la requête.
Retours
Un STRUCT<status_code INT, text STRING> pour lequel
-
status_codeest le code d’état HTTP de la réponse du service externe. Par exemple : 200 ou 403. -
textest la réponse retournée par le service externe. En règle générale, il s’agit d’une chaîne JSON.
Exemples
-- 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_requestfonction est limitée. Il est conçu pour les cas d’usage interactifs et basés sur un agent, et non pour les requêtes par lots à volume élevé. Si vous exécutezhttp_requestde nombreuses lignes dans une requête unique, les requêtes peuvent être limitées et entraîner des erreurs. Pour contourner ce problème, utilisez le Kit de développement logiciel (SDK) Databricks pour Python pour envoyer des requêtes en lots plus petits avec des délais entre eux. Pour le nouveau code, Databricks recommande d’utiliser le point de terminaison proxy de connexions du catalogue Unity avec le KIT de développement logiciel (SDK) du fournisseur au lieu dehttp_request.