http_request függvény

A következőre vonatkozik:pipával jelölve: igen Databricks SQL pipával jelölve: igen Databricks Runtime 16.2 és újabb

HTTP-kérést készít egy meghatározott HTTP-kapcsolathasználatával.

Ehhez a függvényhez megnevezett paraméterhívás szükséges.

Szintaxis

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

Érvek

Hiba akkor jelentkezik, ha egy paraméter többször van megadva.

  • connectionName

    Meglévő HTTP-kapcsolatazonosítóra hivatkozó állandó STRING. Ez az argumentum kötelező

  • httpMethod

    A STRING használandó HTTP-metódust jelképező állandó kifejezés. A következő módszerek támogatottak: 'GET', 'POST', 'PUT', 'DELETE', 'PATCH'. Ez az argumentum kötelező.

  • path

    Állandó STRINGkifejezés , amely hozzá lesz fűzve a base_path kapcsolat URL-címéhez. Az elérési út nem tartalmazhat könyvtárbejárást (../..). Ez az argumentum kötelező.

  • headerMap

    Egy opcionális MAP<STRING, STRING>, amely a kérés fejléceit tartalmazza. Az alapértelmezett érték a NULL.

  • paramMap

    Egy nem kötelező MAP<STRING, STRING>, amely JSON formátumú lekérdezési paramétereket tartalmaz. Az alapértelmezett érték a NULL.

  • jsonStr

    Választható JSON-sztringkifejezés a kérelem törzsével.

Visszatér

Egy STRUCT<status_code INT, text STRING>, ahol

  • status_code a külső szolgáltatás válaszának HTTP-állapotkódja. Például: 200 vagy 403.
  • text a külső szolgáltatás által visszaadott válasz. Ez általában egy JSON-sztring.

Példák

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

Limitations

  • A http_request függvény sebessége korlátozott. Interaktív és ügynökalapú használati esetekre tervezték, nem nagy mennyiségű kötegelt lekérdezésekhez. Ha egyetlen lekérdezésben több sorban fut http_request végig, előfordulhat, hogy a kérések szabályozva vannak, és hibákat eredményeznek. Ennek megkerüléséhez használja a Databricks SDK-t Python, hogy kisebb kötegekben küldjön kérelmeket, köztük késéssel. Új kód esetén a Databricks a Unity Catalog-kapcsolatok proxyvégpontjának használatát javasolja a szolgáltató SDK-jával ahelyett http_request, hogy .