在CD中,未更改的Timestream表导致堆栈更新失败。

0

【以下的问题经过翻译处理】 我有一个CDK堆栈,其中包含一个Timestream数据库和一个Timestream表。自从它们最初部署以来,它们没有进行任何更改。

在本地运行部署时,对于我们在两个帐户中拥有此堆栈的情况,一切都顺利。

然而,CI/CD系统无法进行部署。它在两个帐户中都失败,出现以下错误:

UPDATE_FAILED | AWS::Timestream::Table | <表名> Resource handler returned message: "null" (RequestToken: 73f0b0b6-fee5-dba2-355f-d85a235942df, HandlerErrorCode: InternalFailure)

CloudTrail中没有错误。与此相关的唯一两个可见事件是CreateChangeSet和ExecuteChangeSet。其中没有显示任何错误。

我已经在S3中检查了部署模板。本地部署的模板包含RetentionProperties,而CI/CD部署的模板没有。CDK明确定义了这些。

CI/CD系统使用的角色在“*”上拥有以下权限:

                  'timestream:DescribeDatabase',
                  'timestream:DescribeEndpoints',
                  'timestream:DescribeScheduledQuery',
                  'timestream:DescribeTable',
                  'timestream:ListDatabases',
                  'timestream:ListMeasures',
                  'timestream:ListTables',
                  'timestream:UpdateDatabase',
                  'timestream:UpdateTable',
                  'timestream:UpdateDatabase',
                  'timestream:UpdateTable'

我已尝试授予部署角色所有“timestream:\ *”权限,结果相同。

profile picture
专家
已提问 8 个月前39 查看次数
1 回答
0

【以下的回答经过翻译处理】 所以我找到了问题所在。这是由于RetetionProperties在CDK中存在一个bug。在本地我使用了早于2.55版本的cdk,而我们在CI/CD系统中总是尝试使用最新版本,即2.55.1。在这种情况下,问题也存在于2.55版本中。该bug已经被报道,希望不久的将来能够修复:https://github.com/aws/aws-cdk/issues/23404

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则