Node.js&TypeScript&lambda環境、aws-sdkを用いて、AWS SecretManagerからシークレットを取得する方法を解説します。
1. aws-sdkをinstall
npm install aws-sdk
2. コードを記述
referSecrets.ts
import*asAWSfrom"aws-sdk";exportconstreferSecrets=async()=>{try{constsecretsManager=newAWS.SecretsManager({region:"ap-northeast-1",})constresponse=awaitsecretsManager.getSecretValue({SecretId:SECRET_NAME,}).promise()returnJSON.parse(response.SecretString)}catch(err){returnJSON.stringify({err},null,2)}}
注意点
- requireではなく、importを使用する。
- typeが使用でき、vscodeがメソッドや型を推論してくれます。
- SECRET_NAMEには、シークレット名を記述
- iamroleなどの設定は省いています。