LiveFetch関数は指定されたURLにHTTPリクエストを送信します。

LiveFetch関数は指定されたURLにHTTPリクエストを送信します。LiveFetch関数を使用すると、SQLクエリ内で直接HTTPサーバーとやり取りすることができます。これにより、外部APIからデータを取得したり、リモート手続き呼び出しを行ったりすることができます。

LiveFetch関数を使用すると、例えばcoingeckoからコインのリストを取得することができます。

SELECT * FROM UNNEST(
CAST(json_parse(
http_get('[<https://api.coingecko.com/api/v3/coins/list>](<https://api.coingecko.com/api/v3/coins/list>)'))
AS array(json))) t(coin_data)

Listing coins from CoinGecko

Untitled

DuneSQL LiveFetch Functions

APIのサポートと認証情報

サポートされるAPIには制限はありません。URLは、どの公開APIや非公開APIにでも指定できます。

APIの認証情報を渡す必要がある場合は、それらをヘッダーに含めることができます。たとえば、トークンを渡すためにAuthorizationヘッダーを使用できます。クエリに認証情報をハードコードする場合は、クエリを非公開に保つようにしてください。オプションとして、クエリパラメータをプレースホルダーとして使用することもできます。

SELECT http_get(
'[<https://api.blastscan.io/api?module=block&action=getblocknobytime&timestamp=1711712564&closest=before&apikey={{api_key}>](<https://api.blastscan.io/api?module=block&action=getblocknobytime&timestamp=1711712564&closest=before&apikey=%7B%7Bapi_key%7D>)}'
);

機能

http_get()

http_get(url: varchar) → varchar

http_get(url: varchar, headers: array(varchar)) → varchar

この関数は、指定されたURLに対してHTTP GETリクエストを送信し、オプションで提供されたヘッダーを含めて、レスポンスの本文をvarcharとして返します。

通常、レスポンスはJSONドキュメントです。JSON処理用のSQL関数を使ってさらに処理できます。htmlなどの他のレスポンス形式もサポートされています。

http_post()

http_post(url: varchar, body: varchar) → varchar

http_post(url: varchar, body: varchar, headers: array(varchar)) → varchar