翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
エクスポート配信について
次のセクションでは、エクスポート配信について説明します。
-
エクスポート S3 の親ディレクトリ構造: エクスポートが配信される S3 ディレクトリで、エクスポートデータがどのように構造化されるか。
-
エクスポートの更新: S3 ディレクトリでエクスポートが更新される頻度。
-
エクスポートの上書きと新規作成: エクスポート配信が上書きによってどのように変化し、新しい配信設定が作成されるか。
-
エクスポートデータのファイル名とチャンク: エクスポートファイル (gzip/csv または Parquet) の名前の付け方。
エクスポート S3 の親ディレクトリ構造
各エクスポートは、クエリからのデータが (1 つ以上の gzip/csv ファイルまたは Parquet ファイルとして) S3 に配信され、エクスポートが実行された時点でのエクスポート定義に関する情報を含む Manifest.json
メタデータファイルも送信されます。
- [データ]
-
エクスポートクエリの結果のデータは、次の S3 ファイルパスに保存されます。
s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/
パーティションはクエリ対象のテーブルに対応しています。CUR 2.0 の場合、パーティションは特定の CUR 2.0 エクスポートの「請求期間」に対応します。
prefix
: エクスポートに割り当てる S3 ファイルプレフィックス。export-name
: エクスポートに割り当てる名前。partition
: パーティションは、1 つのテーブルを配信用に別々のテーブルに分割する方法を示しています。CUR 2.0 では、パーティションはBILLING_PERIOD=YYYY-MM
のフォーマットで「請求期間」に対応します。例えば、2023 年 11 月のパーティションは 2023-11 です。S3 ファイルパスの例を次に示します。
s3://my-data-export-s3-bucket/my-cur-files/business_group_a_cur/data/BILLING_PERIOD=2023-11
- Metadata
-
クエリの
Manifest.json
メタデータファイルは、次の S3 ファイルパスに保存されます。s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>/<export-name>-Manifest.json
Manifest.json
ファイルは、エクスポートが更新されるたびに更新されます。エクスポートによって新しいパーティションが作成されるたびに、新しいManifest.json
ファイルが作成されます。CUR 2.0 では、新しい請求期間が始まると新しいManifest.json
ファイルが生成されます。マニフェストファイルには、次の情報が含まれています。
-
エクスポートに含まれるすべての列。
-
エクスポートファイルとそのファイルパスのリスト。このリストをプログラムで読み込み、取り込むファイルを特定することをおすすめします。
-
エクスポートの対象となる期間。
Manifest.json
は、すべてのエクスポートデータファイルが S3 に配信された後にのみ配信されます。 -
エクスポートの更新
データエクスポートは、ソースデータが更新されるたびにエクスポートを更新します。CUR 2.0の場合、少なくとも 1 日に 1 回実行されます。現在の請求期間 (パーティション) は請求期間が終了するまで更新され、その時点で次の請求期間の配信が開始されます。次の請求期間の配信には、その請求期間の料金と請求データのみが含まれます。請求期間が終了した後、終了してから最初の 2 週間以内に、以前の請求期間のエクスポート配信を更新 AWS できます。
エクスポートの上書きと新規作成
エクスポートを作成する場合、新しいエクスポートファイルを作成するか、更新ごとに既存のエクスポートファイルを上書きするかを選択できます。
- 新規作成
-
新しいエクスポートファイルを作成すると、エクスポートの更新がすべて保持されるため、S3 ストレージの使用量が増えます。以前のエクスポートファイルを上書きすると、各請求期間の更新の最新バージョンのみが保持されるため、S3 ストレージの使用量が少なくなります。
「新規作成」モードでは、エクスポートファイルは次の S3 パスに配信されます。
s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/<timestamp>-<execution-id>
timestamp
はエクスポートが実行された日時です。execution-id
は実行に割り当てられた一意の ID です。「新規作成」では、エクスポートを実行するたびに 2 つの
Manifest.json
ファイルが配信されます。1 つはmetadata/<partition>/<timestamp>-<execution-id>
ディレクトリに保存され、もう 1 つはmetadata/<partition>
ディレクトリで上書きされます。metadata/<partition>
ディレクトリ内のマニフェストは常に最新の更新内容を表し、そのデータを使用して最近更新されたエクスポートファイルの場所を識別します。 - 上書き
-
上書きは、同じパーティション (つまり請求期間) の更新にのみ適用されます。新しい請求期間が始まると、エクスポートは最新のパーティションまたは請求期間に基づいた名前で新しい S3 ディレクトリを作成し、そこに新しいエクスポートパーティションの配信を開始します。特定のパーティションのデータが更新されない限り、前のパーティションのエクスポートは上書きされません。
「上書き」モードでは、エクスポートファイルは次の S3 パスに配信されます。
s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/
このファイルディレクトリ内のエクスポートファイルは、同じパーティション (つまり、請求期間) が配信されるたびに上書きされます。
エクスポートのサイズが十分になると、エクスポートファイルは複数の「チャンク」(個別の gzip/csv ファイルまたは Parquet ファイル) として配信されます。その月の間にエクスポートのサイズが減少した場合 (クエリの変更やデータの修正により)、エクスポートを更新するのに必要なチャンクが少なくなる可能性があります。この場合、データエクスポートは前回の更新で発生した余分なチャンクを空のデータで上書きします。
上書きの場合、エクスポートを実行するたびに 1 つの
Manifest.json
ファイルが配信されます。ファイルはmetadata/<partition>
ディレクトリに保存され、更新されるたびに上書きされます。
エクスポートデータのファイル名とチャンク
エクスポートは、1 回の実行結果を 1 つのファイル (gzip/csv または Parquet) として配信するか、エクスポートのサイズが十分になったときに複数の「チャンク」(個別の gzip/csv または Parquet ファイル) として配信します。
gzip/csv ファイル形式のエクスポートの名前は次のとおりです。
<export-name>-<chunk-number>.csv.gz
Parquet 形式のエクスポートの名前は次のとおりです。
<export-name>-<chunk-number>.snappy.parquet
チャンク番号は常に 5 桁です。チャンク番号は 00001
から順に列挙されます。
[概要]
- 新規作成用のディレクトリを含むエクスポートデータファイル名
-
Parquet:
s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/<timestamp>-<execution-id>/<export-name>-<chunk-number>.snappy.parquet
gzip/csv:
s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/<timestamp>-<execution-id>/<export-name>-<chunk-number>.csv.gz
- 上書き用のディレクトリを含むエクスポートデータファイル名
-
Parquet:
s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/<export-name>-<chunk-number>.snappy.parquet
gzip/csv:
s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/<export-name>-<chunk-number>.csv.gz
- 新規作成用のディレクトリを含むマニフェストファイル名
-
「新規作成」モードは
Manifest.json
を 2 つの場所に配信します。1 つ目の場所は、エクスポートの特定の実行を表すフォルダ (
timestamp
およびexecution-id
という名前) にあります。このマニフェストはその特定の実行に対応しています。ファイルパスは次のとおりです。s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>/<timestamp>-<execution-id>
2 つ目の場所は、すべての実行内容を含むパーティションフォルダです。このマニフェストは、最後にエクスポートを実行したときと同じファイルです。このマニフェストを読むと、最近のすべてのエクスポートファイルの正確なファイルパスを確認できます。ファイルパスは次のとおりです。
s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>/Manifest.json
- 上書き用のディレクトリを含むマニフェストファイル名
-
「上書き」モードでは
Manifest.json
を 1 つの場所に配信します。s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>
このディレクトリのマニフェストは、特定のパーティション (つまり、請求期間) が更新されるたびに上書きされます。