Aracılığıyla paylaş


http_request işlevi

Şunun için geçerlidir:evet olarak işaretli Databricks SQL evet olarak işaretli Databricks Runtime 16.2 ve üzeri

Tanımlı bir HTTP bağlantısı kullanarak HTTP isteğinde bulunur.

Bu işlev adlandırılmış parametre çağırması gerektirir.

Sözdizimi

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

Argümanlar

Bir parametre birden çok kez belirtilirse bir hata oluşur.

  • connectionName

    Var olan bir HTTP bağlantı tanımlayıcısını gösteren STRING sabiti. Bu argüman gereklidir

  • httpMethod

    STRING Kullanılacak HTTP yöntemini temsil eden sabit ifade. Aşağıdaki yöntemler desteklenir: 'GET', 'POST', 'PUT', 'DELETE', 'PATCH'. Bu argüman gereklidir.

  • path

    Bağlantı URL'sinin STRING sonuna eklenen base_path. Yol dizin geçişi (../..) içermemelidir. Bu argüman gereklidir.

  • headerMap

    İsteğe bağlı istek üst bilgilerini içeren bir MAP<STRING, STRING>. Varsayılan değer NULL.

  • paramMap

    JSON biçiminde istek sorgu parametrelerine sahip isteğe bağlı bir MAP<STRING, STRING>. Varsayılan değer NULL.

  • jsonStr

    İstek gövdesine sahip isteğe bağlı bir JSON dize ifadesi.

İadeler

Bir STRUCT<status_code INT, text STRING> olan yer

  • status_code, dış hizmetten gelen yanıtın HTTP durum kodudur. Örneğin: 200 veya 403.
  • text, dış hizmet tarafından döndürülen yanıttır. Bu genellikle bir JSON dizesidir.

Örnekler

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