本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS Data Exports 允许您创建成本和使用情况报告 2.0 (CUR 2.0) 的导出。CUR 2.0 表提供了与成本和使用情况报告 (CUR) 相同的信息以及一些改进方面。通过 Data Exports,您能够创建与用于处理 CUR 的数据管道向后兼容的 CUR 2.0 导出。
与 CUR 相比,CUR 2.0 进行了以下改进:
-
一致的架构:CUR 2.0 包含一组固定的列,而 CUR 中包含的列可能每月有所不同,具体取决于您的 AWS 服务使用情况、成本类别和资源标签。
-
嵌套数据:CUR 2.0 通过将 CUR 中的某些列折叠为具有折叠列的键值对的单个列来减少数据稀疏性。或者,您可以在 Data Exports 中将嵌套键作为单独的列进行查询,以匹配原始 CUR 架构和数据。
-
附加列:CUR 2.0 包含两个附加列:bill_payer_account_name 和 line_item_usage_account_name。
有关 CUR 2.0 架构的更多详细信息,请参阅 Data Exports 表字典。
您可以通过两种方式在 Data Exports 中迁移到 CUR 2.0:
-
方法一:使用 CUR 架构通过 SQL 查询创建导出
-
方法二:使用 CUR 2.0 的新架构为其创建导出
方法一:使用 CUR 架构通过 SQL 查询创建导出
您可以使用 SQL 查询创建导出。导出架构与您如今在 CUR 中收到的架构相匹配。您可以使用 AWS 或 SDK 来完成此操作。
-
确定 (a) 列列表和 (b) 与当前 CUR 相匹配所需的 CUR 内容设置(包括资源 ID、拆分成本分配数据和时间粒度)。
-
您可以通过查看其中一个 CUR 文件的架构或转到清单文件并从中提取列列表来确定列列表。
-
您可以通过转到控制台中的 Data Exports 并选择您的 CUR 导出以查看其详细信息来确定 CUR 内容设置。
-
-
编写一个 SQL 查询,用于从名为
COST_AND_USAGE_REPORT
的 CUR 2.0 表中选择您标识的列。-
CUR 2.0 表中的所有列名均采用蛇形命名法(例如,
line_item_usage_amount
)。对于 SQL 语句,您可能需要将前面的列名称转换为蛇形式。 -
对于 SQL 语句,您需要将所有
resource_tag
和cost_category
列以及某些product
和discount
列转换为点运算符,以便在 CUR 2.0 中选择嵌套列。例如,要在 CUR 2.0 中选择product_from_location
列,请编写一条用于选择product.from_location
的 SQL 语句。例如:
SELECT product.from_location FROM COST_AND_USAGE_REPORT
这将选择
product
映射列的from_location
列。 -
默认情况下,使用点运算符选择的列由属性命名(例如,
from_location
)。要匹配现有的 CUR,您需要为列声明一个别名,以便与以前相同。例如:
SELECT product.from_location AS product_from_location FROM COST_AND_USAGE_REPORT
有关嵌套列的更多详细信息,请参阅 Data Exports 表字典。
-
-
将步骤 1 中标识的 CUR 内容设置写入
CreateExport
API 的表配置格式。您需要在下一步的数据查询中提供这些表配置。 -
在用于 Data Exports 的 AWS SDK/CLI 中,使用
CreateExport
API 将您的 SQL 查询和表配置输入到 data-query 字段中。-
指定交付首选项,例如目标 Amazon S3 存储桶和覆盖首选项。我们建议您选择与之前相同的交付首选项。有关必填字段的更多信息,请参阅《AWS Billing and Cost Management API 参考》中的 AWS Data Exports。
-
更新目标 Amazon S3 存储桶的权限以允许 Data Exports 写入存储桶。有关更多信息,请参阅设置用于数据导出的 Amazon S3 存储桶。
-
-
指示您的数据摄取管道从交付 CUR 2.0 的 Amazon S3 存储桶中的目录中读取数据。
方法二:使用 CUR 2.0 的新架构为其创建导出
您可以创建 CUR 2.0 的导出,其中包含嵌套列和附加列的新架构。但是,您需要调整当前的数据管道才能处理这些新列。您可以使用控制台、AWS API 或 SDK 来执行此操作。
-
确定与当前 CUR 相匹配所需的 CUR 内容设置(包括资源 ID、拆分成本分配数据和时间粒度)。
-
您可以通过转到控制台中的 Data Exports 并选择您的 CUR 导出以查看其详细信息来确定 CUR 内容设置。
-
-
使用 Data Exports 控制台页面(选项 A)或 AWS SDK/CLI(选项 B),创建 CUR 2.0 的导出,以从“成本和使用情况报告”表中选择所有列。
-
(选项 A)在控制台中创建导出:
-
在导航窗格中,选择 Data Exports。
-
在 Data Exports 页面上,选择创建。
-
选择标准数据导出。
对于成本和使用情况报告 (CUR 2.0) 表,默认情况下会选中所有列。
-
指定您在步骤 1 中标识的 CUR 内容设置。
-
在数据表交付选项下,选择您的选项。
-
选择创建。
-
-
(选项 B)要使用 AWS API/SDK 创建导出,请先编写一个查询来选择
COST_AND_USAGE_REPORT
表中的所有列。-
使用
GetTable
API 确定列的完整列表并接收完整的架构。 -
将步骤 1 中标识的 CUR 内容设置写入
CreateExport
API 的表配置格式。 -
使用
CreateExport
API 将您的 SQL 查询和表配置输入到data-query
字段中。 -
指定交付首选项,例如目标 Amazon S3 存储桶和覆盖首选项。我们建议您选择与之前相同的交付首选项。有关必填字段的更多信息,请参阅《AWS Billing and Cost Management API 参考》中的 AWS Data Exports。
-
更新目标 Amazon S3 存储桶的权限以允许 Data Exports 写入存储桶。有关更多信息,请参阅设置用于数据导出的 Amazon S3 存储桶。
-
-
指示您的数据摄取管道从交付 CUR 2.0 的 Amazon S3 存储桶中的目录中读取数据。
您还需要更新数据摄取管道和商业智能工具,以使用嵌套键值处理以下新列:
product
、resource_tags
、cost_category
和discounts
。