firestore_create_rest.js
#! /usr/bin/node
// ---------------------------------------------------------------// firestore_create_rest.js//// Feb/01/2020//// ---------------------------------------------------------------varget_token=require('./get_token.js')// ---------------------------------------------------------------functionpatch_proc(client,token,url,str_json){constargs={data:str_json,headers:{"Authorization":"Bearer "+token}}try{client.patch(url,args,function(data,response){console.log(data)})}catch(error){console.error("*** error *** from client.get ***")console.error(error)}}// ---------------------------------------------------------------functionadd_data_proc(client,token,url_base,key,name,population,date_mod){vardata={}unit_aa={}unit_aa['name']={"stringValue":""}unit_aa['population']={"integerValue":0}unit_aa['date_mod']={"timestampValue":""}data['fields']=unit_aadata.fields.name.stringValue=namedata.fields.population.integerValue=populationdata.fields.date_mod.timestampValue=date_mod+"T00:00:0.0Z"conststr_json=JSON.stringify(data)consturl=url_base+keypatch_proc(client,token,url,str_json)}// ---------------------------------------------------------------console.error("*** 開始 ***")consttoken=get_token.get_token_proc()constproject='project-jan25-2020'consturl_base="https://firestore.googleapis.com/v1/projects/"+project+"/databases/(default)/documents/cities/"varClient=require('node-rest-client').Clientvarclient=newClient()add_data_proc(client,token,url_base,'t0921','宇都宮',81236,'1954-9-24')add_data_proc(client,token,url_base,'t0922','小山',94247,'1954-2-15')add_data_proc(client,token,url_base,'t0923','佐野',71393,'1954-5-28')add_data_proc(client,token,url_base,'t0924','足利',35441,'1954-7-8')add_data_proc(client,token,url_base,'t0925','日光',61923,'1954-1-11')console.error("*** 終了 ***")// ---------------------------------------------------------------
get_token.js
// ---------------------------------------------------------------// get_token.js//// Feb/01/2020//// ---------------------------------------------------------------exports.get_token_proc=function(){constexecSync=require('child_process').execSyncconstcommand='gcloud auth application-default print-access-token'constresult=execSync(command).toString().trim()returnresult}// ---------------------------------------------------------------
実行コマンド
export NODE_PATH=/usr/lib/node_modules
export GOOGLE_APPLICATION_CREDENTIALS="***.json"
./firestore_create_rest.js