如何Dimensions在nodejs中獲取陣列的長度 ?它可能有 2 個塊,有時只有 1 個。我想根據長度撰寫一個 if 條件。這是在 AWS-Lambda 函式內部,所以我不能在那里使用 JQ(我不確定是否可以)。
示例:我想if condition根據長度將這些變數放在 a 中
var sns_DimensionsValue_ApiName = sns.Trigger.Dimensions[0].value;
var sns_DimensionsValue_StageName = sns.Trigger.Dimensions[1].value;
Dimensions 陣列的輸出:
"Dimensions": [
{
"value": "zabbixPy-API",
"name": "ApiName"
},
{
"value": "qa",
"name": "Stage"
}
],
在某些情況下,維度將只有一項。在這個例子中,我們有 2 個(ApiName 和 Stage name)。這取決于 cloudwatch 指標型別。
完整輸出代碼:
{
"AlarmName": "Zabbix PY 5XX - By Stage QA",
"AlarmDescription": null,
"AWSAccountId": "123456789",
"NewStateValue": "ALARM",
"NewStateReason": "Threshold Crossed: 1 out of the last 1 datapoints [1.0 (05/11/21 09:54:00)] was greater than or equal to the threshold (1.0) (minimum 1 datapoint for OK -> ALARM transition).",
"StateChangeTime": "2021-11-05T09:55:43.823 0000",
"Region": "Asia Pacific (Mumbai)",
"AlarmArn": "arn:aws:cloudwatch:ap-south-1:123456789:alarm:Zabbix PY 5XX - By Stage QA",
"OldStateValue": "INSUFFICIENT_DATA",
"Trigger": {
"MetricName": "5XXError",
"Namespace": "AWS/ApiGateway",
"StatisticType": "Statistic",
"Statistic": "MINIMUM",
"Unit": null,
"Dimensions": [
{
"value": "zabbixPy-API",
"name": "ApiName"
},
{
"value": "qa",
"name": "Stage"
}
],
"Period": 60,
"EvaluationPeriods": 1,
"ComparisonOperator": "GreaterThanOrEqualToThreshold",
"Threshold": 1,
"TreatMissingData": "- TreatMissingData: missing",
"EvaluateLowSampleCountPercentile": ""
}
}
uj5u.com熱心網友回復:
原生 JS 陣列有一個.length 屬性,您可以根據需要使用它。
uj5u.com熱心網友回復:
適用于常規 javascript。
var dimLength = sns.Trigger.Dimensions.length;
if(dimLength === 1){
var sns_DimensionsValue_ApiName = sns.Trigger.Dimensions[0].value;
} else if(dimLength === 2){
var sns_DimensionsValue_StageName = sns.Trigger.Dimensions[1].value;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/349249.html
標籤:javascript 节点.js json
