gpt4 book ai didi

yaml - CloudFormation yaml - 如何强制数字类型?

转载 作者:行者123 更新时间:2023-12-04 01:12:46 25 4
gpt4 key购买 nike

我正在尝试创建 ECS 任务定义作为 CloudFormation 堆栈的一部分。

到目前为止,我的任务定义如下......

  TaskDefinition:
Type: AWS::ECS::TaskDefinition
Properties:
RequiresCompatibilities:
- EC2
ExecutionRoleArn: !Ref MyTaskRole
ContainerDefinitions:
- Name: !Ref ServiceName
Image: amazon/amazon-ecs-sample
PortMappings:
- ContainerPort: 3000
HostPort: 0
Protocol: tcp
MemoryReservation: 128

当我尝试运行此程序时,出现以下错误...

#/ContainerDefinitions/0/MemoryReservation: expected type: Number, found: String

看来 CloudFormation 正在将 128 转换为字符串,然后堆栈失败。

定义该值以使其保持为数字的正确方法是什么?

最佳答案

事实证明,CloudFormation 报告的错误实际上与失败无关。上面的代码完全没问题。

就我而言,问题在于我定义稍后出现在模板中的日志记录部分的方式。

由此得出的结论是,CloudFormation 的调试非常困惑,如果您收到这样的错误,请不要认为它是真正导致堆栈失败的原因。

为了找到实际问题,我必须首先删除导致类型转换错误的属性、MemoryReservation 和 PortMappings,然后它显示有关我定义日志记录部分的方式的错误。修复该错误后,我可以重新添加其他属性,并且效果很好。

我现在怀疑,因为我的日志记录部分不正确,整个 ContainerDefinitions 可能没有被正确解析,可能导致误导性的类型不匹配错误。

关于yaml - CloudFormation yaml - 如何强制数字类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64327964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com