无论如何在对流层中使用 try/catch ?

Is there anyway to use try/catch in troposphere?

我正在使用 scepter 用户数据,但无法使用 AWS::NoValue。由于我不想对当前模板进行太多更改,因此我想做一个解决方法,但我在 try 行中看到一个警告,即 Expected expression Pylance。在这种情况下如何使用 try catch?如果我不能,有什么解决方法吗?

                LifecycleRule(
                    Id="Xxxx",
                    Status="Enabled",
                    ExpirationInDays=
                        try:
                            bucket['ExpirationInDays'] 
                        except KeyError: Ref("AWS::NoValue")
                ),
            ]),

这个片段对你有用吗:

LifecycleRule(Id="Xxxx", Status="Enabled",
ExpirationInDays=bucket.get('ExpirationInDays', Ref('AWS::NoValue'))

我假设 bucket 是 Python 字典。像这样使用字典的 get() 函数避免了对 try/except 构造

的需要