gpt4 book ai didi

typescript - 获取 AWS SecretManager secret 作为每个 CDK 的整数值

转载 作者:行者123 更新时间:2023-12-05 01:54:10 26 4
gpt4 key购买 nike

我正在尝试获取 Secret 作为每个 CDK 的整数值(端口号)以创建另一个资源。基本上,当我需要字符串参数的字符串值时,一切正常,但是当我尝试将字符串解析为 int 以提供数字参数时,它不再起作用。问题是 CDK 为这些值生成一个引用,它不能转换为数字值。问题是:是否有任何方法可以将 Secret Value 恢复为数字?

这里是一些代码片段:

SecretManager 对象:

const secret = secretsmanager.Secret.fromSecretAttributes(this, "SecretId", {
secretCompleteArn: someValidSecretArn
});

工作正常:

host: secret.secretValueFromJson('host').toString()

无效,因为参数需要是一个数字值:

port: secret.secretValueFromJson('port').toString()

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

port: parseInt(secret.secretValueFromJson('port').toString())

无效,同上:

port: +secret.secretValueFromJson('port').toString()

最佳答案

您可以使用 CDK 的 Token 类将 token 转换为数字:

https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_core.Token.html#static-aswbrnumbervalue

port: cdk.Token.asNumber(secret.secretValueFromJson('port'));

它将在部署时解析为正确的值。

关于typescript - 获取 AWS SecretManager secret 作为每个 CDK 的整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70786382/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com