[英]how to get aws lambda invocation count using javascript sdk
I want to get invocation count for each of my lambda functions for a specific time range.我想获取特定时间范围内每个 lambda 函数的调用计数。 I have used cloudwatch sdk to implement this.我已经使用 cloudwatch sdk 来实现这个。 However I am getting a Metrics array but there is no data regarding the invocation count.但是我得到了一个 Metrics 数组,但是没有关于调用计数的数据。 My code.我的代码。
var cwparams = {
Namespace: "AWS/Lambda",
MetricName: "Invocations",
};
const cw = await cloudWatch.listMetrics(cwparams).promise();
console.log(cw.Metrics);
My output我的 output
ResponseMetadata: { RequestId: 'some-id' },
Metrics: [
{
Namespace: 'AWS/Lambda',
MetricName: 'Invocations',
Dimensions: [Array]
},
... more objects like above
]
OwningAccounts: []
Dimensions array contains like this维度数组包含这样的
{ Name: 'FunctionName', Value: 'us-east-1.xxxx-xxxx' },
{ Name: 'Resource', Value: 'us-east-1.xxx-xxxx:xxx' }
How do I get my desired output?如何获得我想要的 output?
Solved it.You can use CloudWatch GetMetricStatistics API to retrieve Invocation/Duration for a specific time range and for a specific lambda function.For details, have a look at GetMetricStatistics AWS Docs解决了。您可以使用CloudWatch GetMetricStatistics API 检索特定时间范围和特定 lambda function 的调用/持续时间。有关详细信息,请查看GetMetricStatistics AWS Docs
Pasted my answer below.下面粘贴我的答案。
const params = {
Namespace: "AWS/Lambda",
MetricName: "Invocations",
StartTime: "2023-01-04T00:00:00Z",
EndTime: "2023-01-04T23:59:59Z",
Period: 86400, // in seconds
Statistics: ["Maximum", "Minimum", "Average"],
Dimensions: [
{
Name: "FunctionName",
Value: "your-lambda-function-name",
},
],
};
const cw = await cloudWatch.getMetricStatistics(params).promise();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.