从文档:
无论您为如何处理缺失数据设置什么值,当警报评估是否更改状态时,CloudWatch 都会尝试检索比评估期指定数量更多的数据点。它尝试检索的确切数据点数量取决于警报周期的长度以及它是基于标准分辨率还是高分辨率的指标。它尝试检索的数据点的时间范围是评估范围。
文档继续给出了一个警报示例,其中“EvaluationPeriods”和“DatapointsToAlarm”设置为 3。他们指出 Cloudwatch 选择了 5 个最近的数据点。我的部分问题是,他们从哪里得到 5?从文档中不清楚。
我的问题的第二部分是,为什么会有这种行为(或者至少,为什么默认情况下有这种行为)?如果我将评估期设置为 3,将我的数据点设置为警报为 3,并告诉 Cloudwatch 将“TreatMissingData”视为“违规”,我将预计 3 个丢失数据周期会触发警报状态。这不一定会发生,如文档中的示例所示。
我已经盯着这个答案一段时间了,我无法绕过它:https://stackoverflow.com/a/23699009/3658800.
总结一下:
只有属性读取搜索原型链,而不是写入.所以当你设置
myObject.prop = '123';
Run Code Online (Sandbox Code Playgroud)
它不会查找链条,但是当你设置时
myObject.myThing.prop = '123';
Run Code Online (Sandbox Code Playgroud)
在写入操作中有一个微妙的读取,试图在写入其prop之前查找myThing.这就是为什么从子节点写入object.properties会获取父节点的对象.
我基本上要求有人详细说明这种"微妙的阅读"操作.首先评估myObject.myThing,返回对myThing对象的引用(然后设置其"prop"属性)?是否有一些我可以证实这一点的来源(Mozilla,Javascript源代码等)?