次の方法で共有


http_request 関数

適用対象:チェック マークあり Databricks SQL チェック マークあり Databricks Runtime 16.2 以降

定義された HTTP 接続を使用して HTTP 要求を行います。

この関数には、名前付きパラメーターの呼び出しが必要です。

構文

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

論争

パラメーターが複数回指定されると、エラーが発生します。

  • connectionName

    既存の HTTP 接続識別子を参照する STRING 定数。 この引数は必須です

  • httpMethod

    使用する HTTP メソッドを表す STRING 定数式。 次のメソッドがサポートされています: 'GET'、'POST'、'PUT'、'DELETE'、'PATCH'。 この引数は必須です。

  • path

    接続 URL のSTRINGに追加されるbase_path定数式。 パスにディレクトリ トラバーサル (../..) を含めてはなりません。 この引数は必須です。

  • headerMap

    要求ヘッダーを含む省略可能な MAP<STRING, STRING>。 既定値は NULLです。

  • paramMap

    JSON 形式の要求クエリ パラメーターを含む省略可能な MAP<STRING, STRING>。 既定値は NULLです。

  • jsonStr

    要求本文を含む省略可能な JSON 文字列式。

返品ポリシー

STRUCT<status_code INT, text STRING>: 各項目の内容は次のとおりです

  • status_code は、外部サービスからの応答の HTTP 状態コードです。 例: 200 または 403。
  • text は、外部サービスによって返される応答です。 通常、これは JSON 文字列です。

例示

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