我正在尝试将 AWS boto3 用于我的应用程序。查看 boto3 文档后,我找不到计费 API。我的应用程序的目的是检查我是否有权访问成本和使用情况报告。如果我没有(如图所示),我希望脚本通知我:
我怎样才能检查它?我使用的凭据是我在担任角色后获得的凭据,我尝试了以下操作:
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"])
此代码在我无权访问时有效,但在我有权访问时也会引发异常