Node.js client library for Google BigQuery
先日Google Cloud Functionsを試したところ、まだNode.jsしか対応していないことがわかりました。
やりたいこととして、Google Cloud FunctionsからGoogle BigQueryにためているGCP Billingデータを取得したいというものがあるので、今回はNode.jsでGoogle BigQueryのAPIを叩くところまでやってみます。
GoogleがBigQuery用のクライアントライブラリをNode.jsでも提供しているので、それを使います。
準備
ドキュメントをみながら進めます。
まずgcloudコマンドを使ってGCPにログインしておきます。
gcloud beta auth application-default login
次にnpmコマンドでGoogle BigQueryのクライアントライブラリをインストールします。
npm install --save @google-cloud/bigquery
クエリを実行するコードを書く
クエリを実行するには、クライアントライブラリのqueryメソッドを使えば良さそう。
Node.jsについてはよくわかってませんがサンプルを見ながらとりあえずやってみます。
- queryを実行し、結果をコンソールに出力するコード
プロジェクトID
と適当なクエリ
だけ書き換えれば動くはず
// Imports the Google Cloud client library
const BigQuery = require('@google-cloud/bigquery');
// Your Google Cloud Platform project ID
const projectId = 'プロジェクトID';
// Instantiates a client
const bigquery = BigQuery({
projectId: projectId
});
// Query
var query = '適当なクエリ'
// Run query
bigquery.query(query, function(err, rows) {
if (!err) {
console.log(err);
}
console.log(rows);
});
実行してみる
やってみます。
$ node bq-nodejs.js
null
[ { referer: '"http://hatebu-checker.net/url/?c=https%3A%2F%2Fblog.lorentzca.me%2F"' },
{ referer: '"https://blog.lorentzca.me/impact-of-cloudflares-incident-on-digitalocean/"' },
{ referer: '"-"' },
{ referer: '"http://blog.lorentzca.me/"' },
{ referer: '"-"' },
{ referer: '"-"' },
{ referer: '"-"' },
{ referer: '"-"' },
{ referer: '"-"' },
{ referer: '"-"' } ]
できた。 ✨
感想
Node.jsよく知らないのですごい単純な例で試してみたところうまくいったので安らかな気持ちで次のステップに進めそう。