如何使用 boto3 检查对成本和使用情况报告选项卡的访问

问题描述

我正在尝试将 AWS boto3 用于我的应用程序。 在查看 boto3 文档后,我找不到 Billing API。 我的应用程序的目的是检查我是否有权访问成本和使用情况报告。 如果我没有(如图所示),我希望脚本通知我:

enter image description here

我该如何检查?我使用的凭据是我担任角色后获得的凭据 我尝试了以下方法

costExplorer = boto3.client(
    'ce',aws_access_key_id=credentials['AccessKeyId'],aws_secret_access_key=credentials['SecretAccessKey'],aws_session_token=credentials['SessionToken']
)

endTime = datetime.Now(timezone.utc)
if endTime.month == 1:
    startTime = datetime(endTime.year - 1,endTime.month + 11,endTime.day)
else:
    startTime = datetime(endTime.year,endTime.month - 1,endTime.day)

timePeriod: Dict[str,str] = {
    'Start': startTime.strftime("%Y-%m-%d"),'End': endTime.strftime("%Y-%m-%d")
}
# if it raise exception -> Means I don't have access to the Cost & Usage Reports tab
costExplorer.get_cost_and_usage(TimePeriod=timePeriod,Metrics=["UsageQuantity"])

代码在我无权访问时有效,但在我确实有访问权时也会引发异常

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)