gpt4 book ai didi

java - 获取 AWS CloudFront 失效使用情况(上个月)

转载 作者:行者123 更新时间:2023-12-02 01:21:34 29 4
gpt4 key购买 nike

我正在使用 AWS Cloudfront Java SDK 来自动执行一些任务,其中之一就是使分发无效。我读到前 1000 个失效请求(实际上是路径)是免费的,之后它们 are billed .

我在 SDK 中没有看到任何功能获取该帐户上个月执行的失效请求总数(不是分布)。有什么办法可以得到吗?

如果无法使用 SDK 获取它,我想我会创建一个失效请求使用情况的本地记录。

最佳答案

没有直接的方法可以在 SDK 中获取此信息,但是,您可以在 CloudTrail 中监控 CloudFront 失效并在那里获取所需的数据。

我会发布一个代码示例,但是,虽然 AWS 完全掌握在我的技能范围内,但 JAVA 却不是。尽管如此,我检查了JAVA SDK,似乎有可用的方法来完成此任务。在较高级别上,您将在您的帐户上启用 CloudTrail,然后使用 lookupEvents JAVA SDK 中 CloudTrail API 的方法来查找名为 CreateInvalidation 的事件。

虽然它不是 JAVA 中的直接示例,但您也可以从 CLI 执行此操作:

aws cloudtrail 查找事件 --lookup-attributes AttributeKey=EventName,AttributeValue=CreateInvalidation

这将返回事件数组:

{
"Events": [
{
"EventId": "9a999999-9999-9aaa-aa99-a9999a9aa9aa",
"EventName": "CreateInvalidation",
"ReadOnly": "false",
"AccessKeyId": "ASXXXXXXXXXXXXXXXXXX",
"EventTime": 1566438448.0,
"EventSource": "cloudtrail.amazonaws.com",
"Username": "user.name",
"Resources": [],
"CloudTrailEvent": "{FULL-CLOUDTRAIL-EVENT-DATA-HERE}"
}
]
}

正如您所看到的,每个事件都有一个时间戳,EventTime。迭代数组,检查时间戳是否在您所需的时间范围内,如果超出您的时间范围,您可以简单地将其从数组中删除,然后完成后只需计算数组中的剩余项目。

请注意,API 响应可能会分页,因此您必须注意响应中的 NextToken,这表明还有更多事件需要获取。

编辑:此外,值得注意的是 CloudFront 是一项全局服务。作为一项全局服务,CloudFront 事件记录在 us-east-1 区域 ( see here ) 的 CloudTrail 中。

关于java - 获取 AWS CloudFront 失效使用情况(上个月),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57600318/

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