我正在尝试通过Java SDK生成AWS成本和使用情况报告。下面是我的代码块。
w.config(bg="GREEN",fg="red")
执行代码时遇到异常 -
线程中的异常" main" com.amazonaws.services.costandusagereport.model.ValidationException: 无法验证客户存储桶权限。 accountId = xxxxxxx72184, 桶名:etho-onnu22,桶区:us-east-1(服务: AWSCostAndUsageReport;状态代码:400;错误代码: ValidationException;请求ID:xxxxxxx)at com.amazonaws.http.AmazonHttpClient $ RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1630) 在 com.amazonaws.http.AmazonHttpClient $ RequestExecutor.executeOneRequest(AmazonHttpClient.java:1302) 在 com.amazonaws.http.AmazonHttpClient $ RequestExecutor.executeHelper(AmazonHttpClient.java:1056) 在 com.amazonaws.http.AmazonHttpClient $ RequestExecutor.doExecute(AmazonHttpClient.java:743) 在 com.amazonaws.http.AmazonHttpClient $ RequestExecutor.executeWithTimer(AmazonHttpClient.java:717) 在 com.amazonaws.http.AmazonHttpClient $ RequestExecutor.execute(AmazonHttpClient.java:699) 在 com.amazonaws.http.AmazonHttpClient $ RequestExecutor.access 500 $(AmazonHttpClient.java:667) 在 com.amazonaws.http.AmazonHttpClient $ RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649) 在 com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513)
能够通过s3 api将对象上传到同一个s3文件夹。非常感谢任何帮助或指针。感谢
答案 0 :(得分:1)
AWS账户386209384616(这是一个静态常量,AWS始终用于提供这些报告的帐号)必须具有通过存储桶策略写入存储桶的权限。
请参阅AWS结算和费用管理中的Getting Started, Step 2
用户指南(2.0版)。这里提供了示例存储桶策略。您应该将该策略中的存储桶名称更改为存储桶,但不要更改帐号。它总是386209384616
。