我在AWS控制台中创建了一个PostgreSQL数据库示例,然后创建了一个用户名和密码,让Secrets Manager来管理PostgreSQL数据库,请告诉我在lambda Js节点中如何使用Secrets Manager来连接数据库和查询。我是一个新手,我对如何实现这个功能感到困惑。非常感谢
vohkndzv1#
这里是关于如何从lambda https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-secrets-manager/classes/createsecretcommand.html创建新的secret的官方文档以下是有关如何检索secrets manager中存储的凭据的官方文档:https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-secrets-manager/classes/getsecretvaluecommand.html下面是截取的代码:
import {SecretsManagerClient, GetSecretValueCommand} from "@aws-sdk/client-secrets-manager"; const client = new SecretsManagerClient({ region: 'us-west-1' }); const command = new GetSecretValueCommand({ SecretId: process.env.RDS_SECRET_NAME,//lambda env with the secret name VersionStage: "AWSCURRENT" }); let sql; try { const response = await client.send(command); const secrets = JSON.parse(response['SecretString']); // noinspection JSUnresolvedReference sql = postgres({ hostname: secrets.dbhost, username: secrets.username, password: secrets.password }); } catch (e) { console.error(e); process.exit(1); }
1条答案
按热度按时间vohkndzv1#
这里是关于如何从lambda https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-secrets-manager/classes/createsecretcommand.html创建新的secret的官方文档
以下是有关如何检索secrets manager中存储的凭据的官方文档:https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-secrets-manager/classes/getsecretvaluecommand.html
下面是截取的代码: