在 Amazon S3 中访问您的成本和使用率报告 - 成本和使用率报告
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

在 Amazon S3 中访问您的成本和使用率报告

在以下部分中,您将了解有关如何访问各种方案的报告的信息。

成本和使用率报告提交时间表

在报告周期内,每次 AWS 更新报告后,AWS 都会提供一个新报告和一个新清单文件。AWS 以之前的报告为基础构建,直到结算期结束。在报告账单周期结束后,AWS 将生成新报告并且不会使用之前的报告中的任何信息。

成本和使用率报告格式设置

成本和使用率报告是存储在 Amazon S3 存储桶中的一个 .csv 文件或一些 .csv 文件的集合。单个报告的大小可能会增长到 1 GB 以上,并可能超出桌面电子表格应用程序的显示能力,以致无法显示所有行。如果某个报告大于大多数应用程序可以处理的容量,AWS 会将该报告拆分成多个文件存储在 Amazon S3 存储桶的同一文件夹下。AWS CUR 文件的具体组织和命名约定取决于您在创建报告时选择的参数。

保留先前的成本和使用率报告

当您选择保留先前的成本和使用率报告时,您的 AWS CUR 会使用以下 Amazon S3 组织和命名约定。

<example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<assemblyId>/<example-report-name>-<file-number>.csv.<zip|gz>
  • report-prefix = 您为报告分配的前缀。

  • report-name= 您为报告分配的名称。

  • yyyymmdd-yyyymmdd = 报告覆盖的日期范围。报告将于日期范围的末尾最终确定。

  • assemblyId = 每次更新报告后 AWS 创建的 ID。

  • file-number = 如果更新包含一个大型文件,AWS 可能会将该文件拆分成多个文件。file-number 跟踪一个更新中的不同文件。

  • csv = 报告文件的格式。

  • zipgz = 应用于报告文件的压缩的类型。

例如,您的报告可能作为以下文件的集合进行传输。

<example-report-prefix>/<example-report-name>/20160101-20160131/<123456789>/<example-report-name>-<1>.csv.<zip> <example-report-prefix>/<example-report-name>/20160101-20160131/<123456789>/<example-report-name>-<2>.csv.<zip> <example-report-prefix>/<example-report-name>/20160101-20160131/<123456789>/<example-report-name>-<3>.csv.<zip> <example-report-prefix>/<example-report-name>/20160101-20160131/<123456789>/<example-report-name>-Manifest.json <example-report-prefix>/<example-report-name>/20160101-20160131/<example-report-name>-Manifest.json

AWS 会将一个报告日期范围内的所有报告传输到相同的 report-prefix/report-name/yyyymmdd-yyyymmdd 文件夹。AWS 为每个报告提供了唯一的 ID 并将其传输到日期范围文件夹中的 assemblyId 子文件夹。如果报告作为单个文件过大,则会被拆分成多个文件并传输到相同的 assemblyId 文件夹。

有关保留先前报告时的清单文件的更多信息,请参阅成本和使用率报告清单文件

覆盖先前的成本和使用率报告

当您选择覆盖先前的成本和使用率报告时,您的 AWS CUR 会使用以下 Amazon S3 组织和命名约定。

<example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<example-report-name>-<file-number>.csv.<zip|gz>
  • report-prefix = 您为报告分配的前缀。

  • report-name= 您为报告分配的名称。

  • yyyymmdd-yyyymmdd = 报告覆盖的日期范围。AWS 在日期范围结束时完成报告。

  • file-number = 如果更新包含一个大型文件,AWS 可能会将该文件拆分成多个文件。file-number 跟踪一个更新中的不同文件。

  • csv = 报告文件的格式。

  • zipgz = 应用于报告文件的压缩的类型。

例如,您的报告可能作为以下文件的集合进行传输。

<example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<example-report-name>-<1>.csv.<zip> <example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<example-report-name>-<2>.csv.<zip><example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<example-report-name>-<3>.csv.<zip> <example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<example-report-name>-Manifest.json

Athena 规范

如果您在创建 AWS CUR 时选择了 Athena 支持,则文件命名约定与您选择覆盖 AWS CUR 时相同,但格式和压缩除外。Athena AWS CUR 文件改用 .parquet。例如,您的报告可能作为以下文件的集合进行传输。

<example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<example-report-name>.parquet <example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<cost_and_usage_data_status> <example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<example-report-name>-Manifest.json <example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<example-report-name>-create-table.sql <example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/crawler-cfn.yml

AWS CloudFormation 规范

除了 AWS CUR 文件,AWS 还提供一个 AWS CloudFormation 模板,让您能够设置 AWS CloudFormation 堆栈,从而可让您使用 Athena 查询 Amazon S3 数据。如果您不想使用 AWS CloudFormation 模板,则可以使用提供的 SQL 来创建自己的 Athena 表。有关更多信息,请参阅 使用 Amazon Athena 查询成本和使用率报告。)

成本和使用率报告清单文件

当 AWS 更新 AWS CUR 时,AWS 还会创建并传输清单文件,您可以将其用于 Amazon Athena、Amazon Redshift 或 Amazon QuickSight。

清单文件使用命名约定,并列出以下内容:

  • 迄今为止报告中包含的所有详细信息列

  • 报表文件的列表(如果报表被拆分为多个文件)

  • 报告所涵盖的时间段以及其他信息。

<example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<example-report-name>-Manifest.json <example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<assemblyId>/<example-report-name>-Manifest.json <example-report-prefix>/<example-report-name>/<example-report-name>/year=2018/month=12/<example-report-name>-Manifest.json

保留先前的成本和使用率报告

当您保留先前的成本和使用率报告时,清单文件将会传输到日期范围文件夹和 assemblyId 文件夹。每次 AWS 为某个日期范围创建新 AWS CUR 时,它都会用一个更新过的清单文件覆盖存储在日期范围文件夹中的清单文件。AWS 将向 assemblyId 文件夹提供同一个更新过的清单文件以及该更新对应的文件。assemblyId 文件夹中的清单文件不会被覆盖。

覆盖先前的成本和使用率报告

当您覆盖先前的 AWS CUR 时,清单文件将传输到 month=mm 文件夹。清单文件与报表文件一起被覆盖。

Amazon Redshift 规范

如果您在 AWS CUR 中为 Amazon Redshift 支持选择此选项,则 AWS 还会创建并提供一个文件,其中包含您将报告上传到 Amazon Redshift 所需的 SQL 命令。您可以使用普通文本编辑器打开 SQL 文件。SQL 文件使用以下命名约定。

<example-report-prefix>/<example-report-name>/yyyymmdd-yyyymmdd/<assemblyId>/<example-report-name>-RedshiftCommands.sql

如果您使用了 RedshiftCommands 文件中的命令,则不需要打开 RedshiftManifest 文件。

重要

manifest 文件决定了 copy 文件中的 RedshiftCommands 命令上传的报告文件。删除或移除 manifest 文件将破坏 RedshiftCommands 文件中的复制命令。

Amazon Athena 规范

如果您在 AWS CUR 中选择了 Amazon Athena 支持的选项,则 AWS 还会创建并提供多个文件,以帮助您设置所需的所有资源。AWS 提供 AWS CloudFormation 模板,即一个采用 SQL 的 SQL 文件(用于手动创建您的 Athena 表),以及一个采用 SQL 的文件(用于检查您的 AWS CUR 刷新状态)。这些文件使用以下命名约定。

<example-report-prefix>/<example-report-name>/<example-report-name>/yyyymmdd-yyyymmdd/crawler-cfn.yml <example-report-prefix>/<example-report-name>/<example-report-name>/yyyymmdd-yyyymmdd/<example-report-name>-create-table.sql <example-report-prefix>/<example-report-name>/<example-report-name>/yyyymmdd-yyyymmdd/<cost_and_usage_data_status>