【发布时间】:2020-08-31 11:56:33
【问题描述】:
我正在使用 cdk 来定义我的 ETL 管道。管道的第一步是创建爬虫,通过 JDBC 连接连接到 RDS 实例以获取架构元数据。
我正在尝试创建一个glue.CfnConnection,我在其中传入connectionProperties USERNAME 和PASSWORD,它们需要从SSM 作为秘密字符串获取。
我尝试了各种方法来使用ssm.StringParameter.valueForSecureStringParameter() 获取秘密,如下所述:https://docs.aws.amazon.com/cdk/latest/guide/get_ssm_value.html
我还尝试使用ssm.StringParameter.fromSecureStringParameterAttributes(),如下所述:https://docs.aws.amazon.com/cdk/api/latest/docs/aws-ssm-readme.html
当我合成模板时,它会正确呈现动态引用的值:
"ConnectionProperties": {
"JDBC_CONNECTION_URL": "url",
"USERNAME": "{{resolve:ssm-secure:<secret-name>/username:version}}",
"PASSWORD": "{{resolve:ssm-secure:<secret-name>/password:version}}"
}
但是当我尝试部署它时,我收到错误:SSM Secure reference is not supported,这导致我出现此问题,这表明并非所有 Cfn 资源都支持动态引用:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html
有没有更好的方法来做到这一点?
【问题讨论】:
标签: amazon-web-services aws-glue aws-cdk