다음을 통해 공유


http_request 함수

적용 대상:확인 표시 있음 Databricks SQL 확인 표시 있음 Databricks Runtime 16.2 이상

정의된 HTTP 연결사용하여 HTTP 요청을 만듭니다.

이 함수에는 명명된 매개 변수 호출이 필요합니다.

통사론

http_request( { CONN => connectionName |
                METHOD => httpMethod |
                PATH => path |
                HEADERS => headerMap |
                PARAMS => paramMap |
                JSON => jsonStr  } [, ..] )

논쟁

매개 변수를 두 번 이상 지정하면 오류가 발생합니다.

  • connectionName

    기존 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",
    )
  );