小编Exc*_*ion的帖子

将 AWS SecretManager 密钥作为每个 CDK 的整数值获取

我正在尝试将 Secret 作为每个 CDK 的整数值(端口号)获取,以便创建另一个资源。基本上,当我需要字符串参数的字符串值时,一切都工作正常,但是当我尝试将字符串解析为 int 以提供数字参数时,它不再工作。问题是 CDK 生成这些值的引用,并且无法将其转换为数字值。问题是:有没有办法以数字形式检索秘密值?

这里有一些代码片段:

SecretManager 对象:

const secret = secretsmanager.Secret.fromSecretAttributes(this, "SecretId", {
      secretCompleteArn: someValidSecretArn
    });
Run Code Online (Sandbox Code Playgroud)

工作正常:

host: secret.secretValueFromJson('host').toString()
Run Code Online (Sandbox Code Playgroud)

不起作用,因为参数需要是数字值:

port: secret.secretValueFromJson('port').toString()
Run Code Online (Sandbox Code Playgroud)

不工作,因为端口为空(它不是!),基本上无法解析引用:

port: parseInt(secret.secretValueFromJson('port').toString())
Run Code Online (Sandbox Code Playgroud)

不起作用,与上面相同:

port: +secret.secretValueFromJson('port').toString()
Run Code Online (Sandbox Code Playgroud)

amazon-web-services typescript aws-secrets-manager aws-cdk infrastructure-as-code

4
推荐指数
1
解决办法
1956
查看次数