当前位置: 首页 > 知识库问答 >
问题:

aws成本和使用率报告引发s3权限错误

萧焱
2023-03-14

我试图通过JavaSDK生成AWS成本和使用报告。下面是我相同的代码块。

        credentials = new ProfileCredentialsProvider("default").getCredentials();
   AWSCostAndUsageReportClientBuilder reportBuilder = AWSCostAndUsageReportClientBuilder.standard();

   AWSCostAndUsageReportClient costAndUsageReport =  (AWSCostAndUsageReportClient) reportBuilder
           .withCredentials(new AWSStaticCredentialsProvider(credentials))
           .withRegion("us-east-1")
           .build();

   ReportDefinition reptDefinition = new ReportDefinition();

   reptDefinition.setReportName("ChandraReport123");
   reptDefinition.setTimeUnit("DAILY");
   reptDefinition.setCompression("ZIP");
   ArrayList addidtionSchemaElements = new ArrayList();
   addidtionSchemaElements.add("RESOURCES");
   reptDefinition.setAdditionalSchemaElements(addidtionSchemaElements);
   reptDefinition.setS3Bucket("etho-onnu22");
   reptDefinition.setS3Prefix("someprefix");
   reptDefinition.setS3Region("us-east-1");
   reptDefinition.setFormat("textORcsv");
   request.setReportDefinition(reptDefinition);

   PutReportDefinitionResult reportResult = costAndUsageReport.putReportDefinition(request);

我在执行代码时遇到以下异常-

线程“main”com.amazonaws.services.costandusagereport.model.ValidationException中出现异常:无法验证客户存储桶权限。accountId=xxxxxxx 72184,bucket名称:etho-onnu22,bucket区域:us-east-1(服务:AWSCostAndUsageReport;状态代码:400;错误代码:ValidationException;请求ID:xxxxxxx)位于com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1630)在com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1302)在com.amazonaws.http.AmazonHttpClient$RequestExecutor.executehelp(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文件夹。任何帮助或指针都非常感谢。谢啦

共有1个答案

李明贤
2023-03-14

AWS帐户386209384616(这是一个静态常量,AWS总是使用该帐户号来传递这些报告)必须具有通过存储桶策略写入存储桶的权限。

请参阅AWS计费和成本管理用户指南(2.0版)中的入门步骤2。其中提供了一个桶策略示例。您应该将该策略中的桶名称更改为您的桶,但不要更改帐户号码。它总是386209384616

 类似资料:
  • 我有什么选择?我如何使用他们的SDK的更新版本来实现类似的功能。

  • 使用 Robolectric 和 Android 生成代码覆盖率(测试)报告 原文链接 : Code coverage reports using Robolectric and Android 原文作者 : Kris Vandermast 译文出自 : 开发技术前线 www.devtf.cn 译者 : normalme 校对者: Mr.Simple 状态 : 校对中 我写过许多测试驱动开发与陷阱

  • 问题内容: 我正在尝试使用lcov为我的单元测试套件生成覆盖率报告,但是我什至无法捕获跟踪文件。错误消息表明找不到源文件。该代码由构建机器上的Jenkins作业编译,单元测试作为目标机器上的下游作业执行。源代码和gcno文件被传输到下游作业,然后下游作业执行对lcov的调用。以下是所有详细信息,可能需要一杯咖啡。 在构建机器上,执行make 我想要覆盖的源代码在以下子目录中 目标文件和gcno文件

  • 我最近通过控制台在AWS上创建了一个S3桶,带有默认settigns(显然除了名称)。我尝试编辑桶策略,但得到这个错误:"错误访问拒绝",与我的管理IAM用户和根帐户。 如何获得编辑S3 Bucket策略的权限?

  • 使用Netbeans IDE 8.0.2和JDK8,当我尝试生成PDF报告时,我得到以下错误: 无法解析类型java.lang.CharSequence。它从required.class filesvalue=((java.lang.string)field_type.getvalue()).contentequals(“xml”)中间接引用;//$JR_EXPR_ID=26$ 我在网上搜索了一下

  • 我正在尝试使用AWS CodeBuild设置我的节点项目。 触发生成时,命令失败: 调用GetAuthorizationToken操作时发生错误(AccessDeniedException):用户无权对资源执行:ecr:GetAuthorizationToken:[Container]2018/10/26 10:04:12命令未成功退出$(aws ecr get login)退出状态255 在IA