botocore.exceptions.WaiterError: Waiter StackCreateComplete failed: Max attempts exceeded

botocore.exceptions.WaiterError: Waiter StackCreateComplete failed: Max attempts exceeded

当 运行 带有 boot3 的 python 代码时出现上述错误。它一直在 1 小时出错,即使在此错误之后也会创建堆栈。我已经应用了 IAM 角色的 MaxSessionDuration 和 AWS CLI 的 duration_seconds 配置值,但没有 helped.ALso 我将 CreationPolicyTimer 设置为 12H,因此堆栈创建花费了那么多时间,但它正在出错在 运行 一个小时后的 aws cli 中。似乎是 aws cli 或 linux cli 的一些默认值,它在一个小时后超时,并在通过 aws cli 创建 cloudformation 堆栈时出现如下错误。

 File "/usr/local/lib/python3.8/dist-packages/botocore/waiter.py", line 54, in wait
18:58:53      Waiter.wait(self, **kwargs)
18:58:53    File "/usr/local/lib/python3.8/dist-packages/botocore/waiter.py", line 363, in wait
18:58:53      raise WaiterError(
18:58:53  botocore.exceptions.WaiterError: Waiter StackCreateComplete failed: Max attempts exceeded

此外,我 运行 在 jenkins 代理的 docker 容器中。

排队的服务员 waiter.wait(StackName=name),从下面添加代码就可以了。 这是文档 https://boto3.amazonaws.com/v1/documentation/api/1.9.42/reference/services/cloudformation.html#CloudFormation.Waiter.ChangeSetCreateComplete.wait 您可以使用 waiterconfig 进行设置和测试,例如

waiter.wait(
    StackName=name,
    WaiterConfig={
        'Delay': 123,
        'MaxAttempts': 123
    }
)