nodejs

A collection of 6 posts
Alaexa, when's garbage day?
alexa

Alaexa, when's garbage day?

今まで実家に住んでいたのですが、去年の12月に目黒区へ引越ししました。 そこで問題になったのがゴミの日がよくわからんということです。 なので Amazon Echo Dot (第3世代) に教えてもらうことにしました。 Amazon Echo Dot 実家にいた頃も Amazon Echo を所有していたのですが、それは親が主に音楽を聴くのに使用していたので置いていきました。 そこで新しく買ったのが Amazon Echo Dot です。第3世代は前の世代より少し大きくなったみたいですが、その分音質が良くなったみたいです。大きくなったと言っても手のひらサイズで十分小さいです。 * Amazon | New Echo Dot - コンパクトスマートスピーカー 開発環境 Alexa Skills Kit (ASK) SDK for Node.js のバージョン2を使用しました。Alexa Skills について前回書いた記事は1年以上前ですが、当時より大分状況が異なります。 * Alexa Skills Kit (ASK) SDK
5 min read
Post GCP Billing data to Mackerel with Node.js
mackerel

Post GCP Billing data to Mackerel with Node.js

Node.jsのBigQueryライブラリを使ってGCPのBillingを取得してみました。 * Get GCP Billing with Node.js 次はこのBillingの情報をMackerelにサービスメトリックとして送ってみます。 Mackerel側のインターフェースの確認 サービスメトリックは以下のデータ形式で送れば良いみたいです。 [ , , … ] 詳細はこちら。 * サービスメトリック - Mackerel API ドキュメント (v0) つまり、今回の場合は以下のようなデータを送れば良いみたいです。 [ {name: "gcp.monthly_cost", time: "1234567890", value: "0.1567"} ] Node.jsのコードを書く 以下のようなコードを用意します。 // Imports the Google Cloud client library // Instantiates a client var bigquery
2 min read
Get GCP Billing with Node.js
gcp

Get GCP Billing with Node.js

Node.jsのBigQueryクライアントライブラリを使ってみました。 * Node.js client library for Google BigQuery 今回はこれを使ってGCPのBillingデータを取得してみます。 ※ GCPのBillingデータをBigQueryに送る方法は以下。 * Export GCP Billing data to Google BigQuery 以下のようなコードを書いてみます。 // Imports the Google Cloud client library // Instantiates a client var bigquery = require('@google-cloud/bigquery')({ projectId: 'GCPのプロジェクトID', keyFilename: 'BigQueryへアクセスするためのjsonキーのpath' }); // Query var query = 'SELECT SUM(cost) AS sum_cost, LEFT (FORMAT_UTC_
1 min read
Node.js client library for Google BigQuery
nodejs

Node.js client library for Google BigQuery

先日Google Cloud Functionsを試したところ、まだNode.jsしか対応していないことがわかりました。 * Hello Google Cloud Functions やりたいこととして、Google Cloud FunctionsからGoogle BigQueryにためているGCP Billingデータを取得したいというものがあるので、今回はNode.jsでGoogle BigQueryのAPIを叩くところまでやってみます。 GoogleがBigQuery用のクライアントライブラリをNode.jsでも提供しているので、それを使います。 準備 ドキュメントをみながら進めます。 * BigQueryクライアントライブラリ - Node.js まずgcloudコマンドを使ってGCPにログインしておきます。 gcloud beta auth application-default login 次にnpmコマンドでGoogle BigQueryのクライアントライブラリをインストールします。 npm install --save @
1 min read
Update nodejs 4.x to 6.x
nodejs

Update nodejs 4.x to 6.x

ghost v0.11.3からnodejs6系がサポートされるようになりました。 * Release 0.11.3 · TryGhost/Ghost · GitHub ので4.xから6.xにあげてく(もちろんghostは0.11.3にアップグレード済み)。 まずは諸々やる前にdropletのスナップショットをとっておく。 * 最悪スナップショットからサーバ立てて復活できるので! doctl compute droplet-action snapshot --snapshot-name ponpokopon.me-$(date +%Y%d%m%H%M) -v ansibleプレイブックの修正。 * バージョン部分いじっただけ - name: setup is downloaded - get_url: url=https://rpm.nodesource.com/setup_4.
1 min read
Idempotence shell in Ansible
ansible

Idempotence shell in Ansible

nodejsをインストールするプレイブックを書いたんだけど、epelから入れると古いnodejsがインストールされてしまう問題があった。 そこで最新のnodejsをcentos7に入れるプレイブックに書きなおした。nodejs公式に案内されてるやり方で、まずcurl叩いてnodejs5系が入るリポジトリをインストールした。 こんな感じ。 - name: setup_5.x is downloaded get_url: url=https://rpm.nodesource.com/setup_5.x dest=/tmp/setup_5.x tags: nodejs - name: nodesource repo is installed become: yes shell: bash /tmp/setup_5.x tags: nodejs ところが、shellモジュールは冪等性が担保されていないモジュールなので、ansible-playbook -i
1 min read