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)
サポートされるAPIには制限はありません。URLは、どの公開APIや非公開APIにでも指定できます。
APIの認証情報を渡す必要がある場合は、それらをヘッダーに含めることができます。たとえば、トークンを渡すためにAuthorization
ヘッダーを使用できます。クエリに認証情報をハードコードする場合は、クエリを非公開に保つようにしてください。オプションとして、クエリパラメータをプレースホルダーとして使用することもできます。
SELECT http_get(
'[<https://api.blastscan.io/api?module=block&action=getblocknobytime×tamp=1711712564&closest=before&apikey={{api_key}>](<https://api.blastscan.io/api?module=block&action=getblocknobytime×tamp=1711712564&closest=before&apikey=%7B%7Bapi_key%7D>)}'
);
http_get(url: varchar)
→ varchar
http_get(url: varchar, headers: array(varchar))
→ varchar
この関数は、指定されたURLに対してHTTP GETリクエストを送信し、オプションで提供されたヘッダーを含めて、レスポンスの本文をvarchar
として返します。
通常、レスポンスはJSONドキュメントです。JSON処理用のSQL関数を使ってさらに処理できます。htmlなどの他のレスポンス形式もサポートされています。
http_post(url: varchar, body: varchar)
→ varchar
http_post(url: varchar, body: varchar, headers: array(varchar))
→ varchar