http_request funkce

platí pro:zaškrtněte políčko Ano Databricks Runtime 16.2 a novější

Vytvoří HTTP požadavek pomocí definovaného připojení .

Tato funkce vyžaduje vyvolání pojmenovaného parametru.

Syntaxe

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

Argumenty

Pokud je parametr zadán více než jednou, vyvolá se chyba.

  • connectionName

    Konstanta STRING odkazující na existující identifikátor připojení HTTP. Tento argument je povinný.

  • httpMethod

    Konstantní výraz STRING představující metodu HTTP, která se má použít. Podporují se následující metody: "GET', 'POST', 'PUT', 'DELETE', 'PATCH'. Tento argument je povinný.

  • path

    Konstantní výraz STRING, který se připojí k base_path adresy URL připojení. Cesta nesmí obsahovat procházení adresářů (../..). Tento argument je povinný.

  • headerMap

    Volitelné MAP<STRING, STRING> obsahující záhlaví požadavku. Výchozí hodnota je NULL.

  • paramMap

    Volitelný parametr MAP<STRING, STRING> s parametry dotazu v požadavku ve formátu JSON. Výchozí hodnota je NULL.

  • jsonStr

    Volitelný řetězcový výraz JSON s textem požadavku.

Návraty

STRUCT<status_code INT, text STRING> kde

  • status_code je stavový kód HTTP odpovědi z externí služby. Příklad: 200 nebo 403.
  • text je odpověď vrácená externí službou. Obvykle se jedná o řetězec JSON.

Příklady

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