Udostępnij przez


http_request, funkcja

Dotyczy:zaznaczone jako tak Databricks SQL zaznaczone jako tak Databricks Runtime 16.2 lub nowsze

Wysyła żądanie HTTP przy użyciu zdefiniowanego połączenia HTTP .

Ta funkcja wymaga wywołania nazwanego parametru.

Składnia

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

Argumenty

Błąd jest zgłaszany, jeśli parametr jest określony więcej niż raz.

  • connectionName

    Stała STRING odwołująca się do istniejącego identyfikatora połączenia HTTP. Ten argument jest wymagany

  • httpMethod

    Wyrażenie STRINGstałe reprezentujące metodę HTTP do użycia. Obsługiwane są następujące metody: "GET", "POST", "PUT", "DELETE", "PATCH". Ten argument jest wymagany.

  • path

    Wyrażenie STRINGstałe , które jest dołączane do base_path adresu URL połączenia. Ścieżka nie może zawierać przechodzenia po katalogach (../..). Ten argument jest wymagany.

  • headerMap

    Opcjonalna MAP<STRING, STRING> zawierająca nagłówki żądań. Wartość domyślna to NULL.

  • paramMap

    Opcjonalny MAP<STRING, STRING> z parametrami zapytania w formacie JSON. Wartość domyślna to NULL.

  • jsonStr

    Opcjonalne wyrażenie ciągu JSON z treścią żądania.

Zwraca

STRUCT<status_code INT, text STRING> gdzie

  • status_code to kod stanu HTTP odpowiedzi z usługi zewnętrznej. Na przykład: 200 lub 403.
  • text to odpowiedź zwrócona przez usługę zewnętrzną. Zazwyczaj jest to ciąg JSON.

Przykłady

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