Teilen über


http_request-Funktion

Gilt für:Grünes Häkchen für „Ja“ Databricks SQL Grünes Häkchen für „Ja“ Databricks Runtime 16.2 und höher.

Führt eine HTTP-Anforderung mithilfe einer definierten HTTP-Verbindung aus.

Für diese Funktion ist ein benannter Parameteraufruf erforderlich.

Syntax

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

Argumente

Ein Fehler wird ausgelöst, wenn ein Parameter mehrmals angegeben wird.

  • connectionName

    Eine STRING Konstante, die auf einen vorhandenen HTTP-Verbindungsbezeichner verweist. Dieses Argument ist erforderlich.

  • httpMethod

    Ein STRINGkonstanter Ausdruck , der die zu verwendende HTTP-Methode darstellt. Die folgenden Methoden werden unterstützt: 'GET', 'POST', 'PUT', 'DELETE', 'PATCH'. Dieses Argument ist erforderlich.

  • path

    Ein STRINGkonstanter Ausdruck , der an die base_path Verbindungs-URL angefügt wird. Der Pfad darf kein Verzeichnis-Traversal (../..) enthalten. Dieses Argument ist erforderlich.

  • headerMap

    Ein optionaler MAP<STRING, STRING>-Anforderungsheader. Der Standardwert lautet NULL.

  • paramMap

    MAP<STRING, STRING> Optional mit Anforderungsabfrageparametern im JSON-Format. Der Standardwert lautet NULL.

  • jsonStr

    Ein optionaler JSON-Zeichenfolgenausdruck mit dem Anforderungstext.

Rückkehr

Ein STRUCT<status_code INT, text STRING>, an dem

  • status_code ist der HTTP-Statuscode der Antwort vom externen Dienst. Beispiel: 200 oder 403.
  • text ist die Antwort, die vom externen Dienst zurückgegeben wird. In der Regel handelt es sich um eine JSON-Zeichenfolge.

Beispiele

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