アルパカログ

GCP Cloud Functions(GCF)からDatastoreを使う方法

2018年3月05日
🔖クラウド・インフラ🔖プログラミング

Google Cloud Functions(GCF)で永続データを扱いたいと思ったらまず思い浮かぶのが、「いつまでも無料」枠に含まれているDatastoreですよね。

DatastoreはGAE(Google App Engine)からしか使えないのかな?と思いきや、実はGCFからも、とっても簡単に使えるんです。

このエントリでは、GCFからDatastoreを利用する方法を説明します。

準備

Datastoreのクイックスタートがまだの方は、先に済ませてしまいましょう。

Datastoreエンティティは、クイックスタートと同じように種類をTaskにして、プロパティは下記のように作っておきましょう。

種類: Task

An image from Notion

GCFのコード

コンソールでGCFに移動し関数を作成します。

ここでは関数の名前はhelloWorldとしましょう。

その他の項目は下の表をご覧ください。

index.js

exports.helloWorld = (req, res) => {
  datastore = require('@google-cloud/datastore')({
    projectId: 'oval-tuner-191403'
  });
  
  datastore.createQuery('Task').run(function(err, entities, info){
    if (err) {
      console.log(err);
      res.status(400).send('Datastore Error!');
    } else {
      console.log(entities);
      res.status(200).send(entities[0].description);
    }
  });
};

package.json

{
  "name": "http-trigger-datastore-sample",
  "version": "0.0.1",
  "dependencies": {
    "@google-cloud/datastore": "^1.3.3"
  }
}

入力ができたら「作成」を押して関数をデプロイします。

デプロイが完了したら「トリガー」タブのURL(下図) にアクセスしてみましょう。

An image from Notion

Datastoreに作成したTaskエンティティのdescriptionである"Hello World!"が表示されれば完成です!

以上です。このエントリでは、GCFからDatastoreを利用する方法を説明しました。

参考リンク

タグ