0

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

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

1 回答 1

2

这个片段对你有用吗:

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

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

于 2021-10-14T19:24:36.070 回答