LoginSignup
0
0

More than 1 year has passed since last update.

Netlify Functions(AWS Lambda)で Datastore に接続する方法

Last updated at Posted at 2022-05-14

GOOGLE_APPLICATION_CREDENTIALS ではなく、コードに値を直接渡す

GOOGLE_APPLICATION_CREDENTIALS はファイルパスにしか対応していません。
サーバーレス環境ではファイルパスを指定したくないので、環境変数を通してコードに値を直接渡します。

具体的には、Datastore のインスタンスを作成する際に、秘密鍵などの値を渡します。

index.ts
const datastore = new Datastore({
  projectId: process.env.GCLOUD_PROJECT,
  credentials: {
    client_email: process.env.CLIENT_EMAIL,
    private_key: process.env.PRIVATE_KEY,
  },
});

(環境変数名はそれぞれの環境に合わせて変更してください)

それぞれの値は、サービスアカウントのキー(json ファイル)に含まれている値をコピーするだけです。
ただし、 Invalid PEM Format 的なエラーが出る場合は

index.ts
    private_key: process.env.PRIVATE_KEY.replace(/\\n/g, "\n")

が必要かもしれません。

こちらをご確認ください。
https://stackoverflow.com/a/50376092/7978612

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0