适用于: Databricks SQL
Databricks Runtime 16.2 及更高版本
使用定义的 HTTP 连接发出 HTTP 请求。
此函数需要命名的参数调用。
语法
http_request( { CONN => connectionName |
METHOD => httpMethod |
PATH => path |
HEADERS => headerMap |
PARAMS => paramMap |
JSON => jsonStr } [, ..] )
论据
如果多次指定参数,则会引发错误。
-
一个引用现有HTTP连接标识符的常量
STRING
。 必须填写此参数 httpMethod
表示要使用的 HTTP 方法的
STRING
常量表达式。 支持以下方法:“GET”、“POST”、“PUT”、“DELETE”、“PATCH”。 必须填写此参数。path
将常量表达式
STRING
追加到连接 URL 的base_path
部分。 路径不得包含目录遍历(../..
)。 必须填写此参数。headerMap
包含请求标头的可选
MAP<STRING, STRING>
参数。 默认值为NULL
。paramMap
具有 JSON 格式的请求查询参数的可选
MAP<STRING, STRING>
参数。 默认值为NULL
。jsonStr
具有请求正文的可选 JSON 字符串表达式。
退货
STRUCT<status_code INT, text STRING>
,其中
status_code
是来自外部服务的响应的 HTTP 状态代码。 例如:200 或 403。text
是外部服务返回的响应。 通常,这是一个 JSON 字符串。
例子
-- 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",
)
);