적용 대상: 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
상수 식입니다. 지원되는 메서드는 '', 'GETPOST', '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",
)
);