0

私はうまく動作するGoogle Cloud Functionを持っています。コールバックの前に一度実行すると、Firestoreに接続してNotificationsコレクションにドキュメントを追加します。Google CloudのJSONプロジェクトのキーファイルをGoogle Cloud機能に含めるにはどうすればいいですか?

const Firestore = require('@google-cloud/firestore'); 

const firestore = new Firestore({ 
    projectId: 'my-firebase-project', 
    keyFilename: 'thekey.json', 
}); 

var fsDocument = { 
    'username': 'theuser', 
    'organization': 'theorg', 
    'attr': [ 
     {k:'key1', v:'val1'}, 
     {k:'key2', v:'val2'} 
    ] 
}; 

firestore.collection('Notifications').add(fsDocument).then(documentReference => { 
    console.log('Added document with name' + documentReference.id); 
}); 

グーグルクラウド機能にキーファイルを含めるにはどうすればよいですか?これまでは、console.cloud.google.comで作成しています。

答えて

0

functionsディレクトリ内のすべてのファイルは、展開時にクラウド機能に送信されます。あなたは、functions下のファイルに資格情報を入れて、このような相対パスでそれを参照することができます:

const firestore = new Firestore({ 
    projectId: 'my-firebase-project', 
    keyFilename: './thekey.json', 
}); 

資格情報は、あなたのクラウド機能を実行しているものとは別のプロジェクトのためのものである場合にのみ、この操作を行う必要があります。機能を実行しているプロジェクトと同じプロジェクトでFirestoreにアクセスしようとしている場合は、Admin SDKを使用してデフォルトの認証情報を使用してください。これの多くの例がfunctions-samplesにあります。

関連する問題