Я пытаюсь использовать пример кода Node.js, который AWS Secrets Manager предоставляет для чтения секретного значения, и помещаю этот код в функцию Lambda. Тем не менее я не могу войти в функцию, которая обрабатывает ответ от получения секретного значения.
Роль Lambda имеет разрешения AdministratorAccess, чтобы исключить проблему с разрешениями.
Lambda Код:
exports.handler = async (event) => {
// Load the AWS SDK
var AWS = require('aws-sdk'),
region = "us-east-1",
secretName = "/my-secrets/level1/level2",
secret,
decodedBinarySecret;
var client = new AWS.SecretsManager({
region: region
});
console.log('above')
client.getSecretValue({SecretId: secretName}, function(err, data) {
console.log('in')
if (err) {
throw err;
}
else {
if ('SecretString' in data) {
secret = data.SecretString;
} else {
let buff = new Buffer(data.SecretBinary, 'base64');
decodedBinarySecret = buff.toString('ascii');
}
}
console.log(secret)
});
console.log('below')
};
OUTPUT
2020-03-05T18:51:54.547Z a3101875-a1f4-4b6f-ac62-3c2f93f5941f INFO above
2020-03-05T18:51:54.947Z a3101875-a1f4-4b6f-ac62-3c2f93f5941f INFO below
Поскольку секрет существует, я ожидаю увидеть "in" и секретные строки на выходе. ... что мешает ему проникнуть внутрь этой функции?