admin管理员组

文章数量:814956

在AWS lambda node.js中获取机密

任何人都可以提供一个简单而完整的node.js lambda函数,从那里我可以从Secrets Manager中获取秘密并使用它。我正在努力处理异步/等待过程。我已经尝试了其他帖子中的一些建议,但是最后所有这些建议都不能真正在main函数中使用该秘密。例如,我有一个主函数并调用第二个函数来检索秘密:

xxx = Retrieve_secret('mysecret');

然后,在retrieve_secret函数中,我可以检索秘密,可以使用console.log打印它,但是当我尝试在主要函数中使用它时,它显示“ Promise”。

[请帮助。预先感谢!

回答如下:

看着您的问题,您似乎无法读取来自retrieve_secret('mysecret')方法的响应,因为您提到它返回了promise,可以在promise后使用.then()来读取它。尝试这样做-

xxx.then(res => {
    console.log(res)
})

或者这是用来获取您的机密详细信息的代码:

import AWS from "aws-sdk";

getSecretValue(secretName: string): Promise<string> {
        const client = new AWS.SecretsManager({ 
            region: '',
            accessKeyId: '',
            secretAccessKey: '',
        });
        const secretId = "secretName";
        return new Promise((resolve, reject) =>
            client.getSecretValue({ SecretId: secretId }, (err, data) => {
                if (err) {
                    reject(err);
                } else {
                    resolve(data.SecretString);
                }
            })
        );
    }

本文标签: 在AWS lambda nodejs中获取机密