方法 1: CUR スキーマを使用して SQL クエリでエクスポートを作成する
SQL クエリを使用してエクスポートを作成できます。エクスポートスキーマは、現在 CUR で受け取っているものと一致します。この操作は、AWS API または SDK を使用して行います。
-
現在の CUR に合わせるために必要な (a) 列のリストと (b) CUR コンテンツ設定 ([リソース IDを含める]、[コスト配分データの分割]、および [時間粒度]) を決定します。
-
列のリストは、いずれかのCUR ファイルのスキーマを表示するか、マニフェストファイルに移動してそこから列のリストを抽出することで決定できます。
-
CUR コンテンツの設定は、コンソールの [データエクスポート] に移動し、CUR エクスポートを選択して詳細を表示することで決定できます。
-
-
COST_AND_USAGE_REPORTという名前の CUR 2.0 テーブルから特定した列を選択する SQL クエリを書き込みます。-
CUR 2.0 テーブルの列名はすべてスネークケースです (例:
line_item_usage_amount)。SQL ステートメントでは、以前の列名をスネークケースに変換することが必要な場合があります。 -
SQL ステートメントでは、CUR 2.0 でネストされた列を選択するために、すべての
resource_tagとcost_category列、そして特定のproductとdiscount列をドット演算子に変換する必要があります。例えば、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 table dictionary」を参照してください。
-
-
ステップ 1 で特定した CUR コンテンツ設定を
CreateExportAPI のテーブル設定形式に書き込みます。次のステップでは、これらのテーブル設定をデータクエリで提供する必要があります。 -
データエクスポート用 AWS SDK/CLI では、
CreateExportAPIを使用してSQLクエリとテーブル設定をデータクエリフィールドに入力します。-
ターゲットの Amazon S3 バケットや上書き設定など、配信設定を指定します。以前と同じ配送設定を選択することをお勧めします。必須フィールドの詳細については、「AWS Billing and Cost Management API リファレンス」の「AWS Data Exports」を参照してください。
-
データエクスポートがバケットに書き込めるように、ターゲット Amazon S3 バケットのアクセス許可を更新します。詳細については、「Setting up an Amazon S3 bucket for data exports」を参照してください。
-
-
CUR 2.0 が配信されている Amazon S3 バケット内のディレクトリからデータを読み取るようにデータインジェストパイプラインに指示します。