跳到主要內容

gcloud-kvstore module,讓存取cloud datastore更方便!

gcloud-kvstore module

gcloud-kvstore是一套基於gcloud模組來存取Google Cloud Datastore的方法,讓存取Datastore的部分可以更直覺。而該資料的儲存,最後會存入到"KeyValue"這個Kind中,以簡化所有儲存的動作。

Github repository

Installation

npm install gcloud-kvstore

Sample Usage

認證

這個模組是使用gcloud的認證方式,所以開始需要有service account所給予的json file,然後搭配可以存取的project id
var dataset = gcloud.datastore.dataset({
  projectId: 'your-project-id',
  keyFilename: '/path/to/key.json'
});
認證過後的datastore物件就可以拿來使用...

執行

下面是一段可以執行的code,我們可以透過安插一些時間點,來做執行間的監控,瞭解一下Cloud Datastore的反應速度。
var gcloud = require('gcloud');
var kvstore = require('gcloud-kvstore');

//初始化cloud datastore物件
var dataset = gcloud.datastore.dataset({
  projectId: 'your-project-id',
  keyFilename: '/path/to/key.json'
});

var t0 = new Date().getTime();
//將初始化的dataset提供給kvstore使用
var store = kvstore(dataset);

// 
store.set('todos', ['eat', 'sleep', 'repeat'], function(err, key) {});

console.log('After insert time cost:', new Date().getTime() - t0);
var cnt = 10;

function doit() {
  var ts = new Date().getTime();
  store.get('todos', function(err, todos) {
    var te = new Date().getTime();
    console.log(err || todos);
    console.log('cost: ', te - ts);
    cnt--;
    if(cnt > 0) doit();
  });
}

doit();
另外,作者針對資料存取的動作,一共提供了下面三個簡單的操作:
//以key維id存一份資料
store.set('key', 'value', function() {});

//取出id=key得值
store.get('key', function() {});

//刪除id=key的物件
store.delete('key', function() {});

留言

這個網誌中的熱門文章

透過Google Apps Script結合Google Form做即時郵件通知

體驗過Google Apps Script的功能後,也發現他結合GmailApps的模組 GmailApps的應用可以用在表單填寫完成後,做發信的通知 例如您開立了一個訂購的表單,為了要在第一時間通知商家有訂單進入 就可以直接呼叫Gmail做發信的通知,讓手持Smart Phone的我們可以很快的知道生意上門了! 下面規劃三個function,其中: onCommit():為form commit時候觸發的function,需要掛載於form commit trigger上 jsonArrToTable():目的將json array解析成為一個Table getLastRowTable():目的將整個table的回傳過濾為剩下第一筆(表頭,含有Form的欄位說明)與最後一筆(原則上就是剛剛送出的那一筆表單) 完整程式碼如下: function onCommit(){   var sheet = SpreadsheetApp.getActiveSheet();   var rows = sheet.getDataRange();   var numRows = rows.getNumRows();   var values = rows.getValues();   var content = getLastRowTable(values);   var htmlBody = "Hi Admin: <br/><br/>有訂單拉,檢查一下吧! <br/><br/>" + content + '<br/><br/>Send by Google Apps';   GmailApp.sendEmail(     " your-email-address@gmail.com ",      "Order Confirm Notice",      htmlBody,      {from: ' from-email-...

Share a chrome plugin for manage google cloud platform

好玩意兒報報.... 同事的新作,把Google Project List在Chrome Plugin中! 對一次管理多個專案的人來說,真得超方便的拉! 下載: https://chrome.google.com/webstore/detail/gdclauncher/bicgkglnnilldakpenngnblekooejnpg 使用說明: 1. Use browser url bar to quick search: Type "gdcl" in browser Press "TAB" to start search Type the project id key word then select the search result... 2. Using quick launch bar... You can search by keyword or click project name to go to the project or gae link to go to gae or go to billing page....

Cloud Monitor嚐鮮

GCP上,我們非常想要的一個功能,終於問世.... Cloud Monitor來了!