Node.js AWS SDK V3 SecretsManager:位于';的值为null;秘密的';

Node.js AWS SDK V3 SecretsManager:位于';的值为null;秘密的';,node.js,amazon-web-services,aws-lambda,aws-sdk,aws-sdk-nodejs,Node.js,Amazon Web Services,Aws Lambda,Aws Sdk,Aws Sdk Nodejs,下面是我通过Lambda函数运行的代码,该函数对其角色具有完全secretsmanagerradwrite权限: const{SecretsManagerClient,GetSecretValueCommand}=require(“@aws-sdk/client-secrets-manager”); exports.handler=async()=>{ const secretsManagerClient=新secretsManagerClient({ 地区:“欧盟-西部-2” }); 常量参数

下面是我通过Lambda函数运行的代码,该函数对其角色具有完全secretsmanagerradwrite权限:

const{SecretsManagerClient,GetSecretValueCommand}=require(“@aws-sdk/client-secrets-manager”);
exports.handler=async()=>{
const secretsManagerClient=新secretsManagerClient({
地区:“欧盟-西部-2”
});
常量参数={
秘密:“Realitex/APIAccount”
}
const命令=新的GetSecretValueCommand(参数);
试一试{
const data=wait secretsManagerClient.send(命令);
控制台日志(数据);
}捕获(错误){
log(error,error.stack);
}最后{
console.log(“完成获取”);
}
}
您可以清楚地看到,我正在将secretId作为参数传递给通过secrets manager客户端发送的命令,但是出现了以下错误:

2021-03-17T15:20:39.963Z    0bd9bc3a-47ce-4c57-b583-0df9d9d70b34    INFO    ValidationException: 1 validation error detected: Value null at 'secretId' failed to satisfy constraint: Member must not be null
    at deserializeAws_json1_1GetSecretValueCommandError (/var/task/node_modules/@aws-sdk/client-secrets-manager/dist/cjs/protocols/Aws_json1_1.js:770:41)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async /var/task/node_modules/@aws-sdk/middleware-serde/dist/cjs/deserializerMiddleware.js:6:20
    at async /var/task/node_modules/@aws-sdk/middleware-signing/dist/cjs/middleware.js:12:24
    at async StandardRetryStrategy.retry (/var/task/node_modules/@aws-sdk/middleware-retry/dist/cjs/defaultStrategy.js:56:46)
    at async /var/task/node_modules/@aws-sdk/middleware-logger/dist/cjs/loggerMiddleware.js:6:22
    at async Runtime.exports.handler (/var/task/index.js:14:18) {
  __type: 'ValidationException',
  '$fault': 'client',
  '$metadata': {
    httpStatusCode: 400,
    requestId: '7b22cb52-0345-4c49-bd41-33aa3a1be707',
    extendedRequestId: undefined,
    cfId: undefined,
    attempts: 1,
    totalRetryDelay: 0
  }
}
我不知道还有什么地方会出现成员“secretId”,因为我在初始化SecretsManager时尝试将其作为配置参数传递,API V3的文档也不建议在其他地方使用

任何帮助都将不胜感激

我已经解决了这个问题(通常是在发布后几分钟)

该错误表示它需要一个键为'secretId'的成员,但是需要将其作为'secretId'传递-请注意大写的第一个字符

将传递给命令构造函数的参数更改为后一个键后,它现在可以工作了…

我已经解决了这个问题(通常是在发布后几分钟)

该错误表示它需要一个键为'secretId'的成员,但是需要将其作为'secretId'传递-请注意大写的第一个字符


将传递给命令构造函数的参数更改为后一个键后,它现在可以工作…

供将来参考-AWS SDK V3 SecretsManager代码示例可在此处找到:


供将来参考-AWS SDK V3 SecretsManager代码示例可在以下位置找到:


非常感谢,我已将其添加到书签中。那真的很有帮助!非常感谢,我已经把它添加到我的书签里了。那真的很有帮助!