本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解匯出交付
在以下各節中,您將找到匯出交付的相關資訊。
-
匯出 S3 父目錄結構:匯出資料在匯出交付目的地的 S3 目錄中的結構。
-
匯出重新整理:S3 目錄中的匯出更新頻率。
-
匯出覆寫並建立新的:匯出交付如何透過覆寫進行變更,並建立新的交付偏好設定。
-
匯出資料檔案名稱和區塊:匯出檔案 (gzip/csv 或 Parquet) 的命名方式。
匯出 S3 父目錄結構
每個匯出都會將資料從查詢傳遞到 S3 (一或多個 gzip/csv 或 Parquet 檔案),以及Manifest.json
中繼資料檔案,其中包含執行匯出時匯出定義的相關資訊。
- 資料
-
匯出查詢所產生的資料會存放在下列 S3 檔案路徑中:
s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/
分割區對應至正在查詢的資料表。對於 CUR 2.0,分割區對應至指定 CUR 2.0 匯出的「帳單期間」。
prefix
:您指派給匯出的 S3 檔案字首。export-name
:您指派給匯出的名稱。partition
:分割區說明如何將單一資料表分割為不同的資料表以供交付。對於 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
- 中繼資料
-
查詢的
Manifest.json
中繼資料檔案會存放在下列 S3 檔案路徑中:s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>/<export-name>-Manifest.json
每次重新整理匯出時,
Manifest.json
檔案都會更新。系統會為匯出所建立的每個新分割區建立新的Manifest.json
檔案。對於 CUR 2.0,這表示在新的計費期間開始時會產生新的Manifest.json
檔案。資訊清單檔案包含下列資訊:
-
匯出中包含的所有資料欄。
-
匯出檔案及其檔案路徑的清單。我們建議您以程式設計方式讀取此清單,來識別要擷取哪些檔案。
-
匯出涵蓋的期間。
只有在所有匯出資料檔案都已交付至 S3 時,
Manifest.json
才會交付 。 -
匯出重新整理
資料匯出會在每次更新來源資料時重新整理匯出。對於 CUR 2.0,每天至少發生一次。目前的計費期間 (分割區) 會重新整理,直到計費期間結束為止,此時下一個計費期間的交付會開始。下一個帳單期間的交付僅包含該帳單期間的收費和帳單資料。在計費期間結束後, AWS 您可以在計費期間結束後的前兩週內更新前一個計費期間的匯出交付。
匯出覆寫並建立新的
建立匯出時,您可以選擇建立新的匯出檔案,或在每次重新整理時覆寫現有的匯出檔案。
- 建立新的
-
建立新的匯出檔案會使用更多 S3 儲存體,因為所有匯出重新整理都會保留。覆寫先前的匯出檔案會使用較少的 S3 儲存體,因為只會保留每個計費期間重新整理的最新版本。
在「建立新」模式下,匯出檔案會傳送到下列 S3 路徑:
s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/<timestamp>-<execution-id>
timestamp
是執行匯出的日期和時間。execution-id
是指派給執行的唯一 ID。對於「建立新的」,每個匯出執行都會交付兩個
Manifest.json
檔案。一個存放在metadata/<partition>/<timestamp>-<execution-id>
目錄中,另一個則覆寫在metadata/<partition>
目錄中。metadata/<partition>
目錄中的資訊清單一律代表最新的重新整理,其資料用於識別最近重新整理的匯出檔案的位置。 - 覆寫
-
覆寫僅適用於相同分割區的重新整理 (也就是計費期間)。一旦新的計費期間開始,匯出會建立新的 S3 目錄,其名稱是以最新的分割區或計費期間為基礎,並開始在該處交付新的匯出分割區。除非更新該特定分割區的資料,否則不會覆寫前一個分割區的匯出。
在「覆寫」模式下,匯出檔案會傳送到下列 S3 路徑:
s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/
此檔案目錄中的匯出檔案會在每次交付相同分割區時 (也就是計費期間) 覆寫。
當匯出變得足夠大時,匯出檔案會以多個「區塊」(分開的 gzip/csv 或 Parquet 檔案)形式交付。如果匯出在當月縮減大小 (由於查詢或資料更正變更),則可能需要較少區塊才能提供匯出重新整理。在此情況下,Data Exports 會使用空白資料覆寫上次重新整理的任何額外區塊。
對於覆寫,每個匯出執行都會傳送一個
Manifest.json
檔案。它會存放在metadata/<partition>
目錄中,並在每次重新整理時覆寫。
匯出資料檔案名稱和區塊
匯出會以一個檔案 (gzip/csv 或 Parquet) 或在多個「區塊」 (分開 gzip/csv 或 Parquet 檔案) 中交付一次執行的結果,當匯出變得足夠大時。
gzip/csv 檔案格式的匯出名稱如下:
<export-name>-<chunk-number>.csv.gz
Parquet 格式的匯出名稱如下:
<export-name>-<chunk-number>.snappy.parquet
區塊號碼一律有五位數。區塊號碼是從 開始列舉00001
。
Summary
- 使用 目錄匯出資料檔案名稱,以建立新的
-
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
至兩個位置。第一個位置位於資料夾,代表匯出的特定執行 (由
timestamp
和 命名execution-id
)。此資訊清單對應到該特定執行。檔案路徑如下所示:s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>/<timestamp>-<execution-id>
第二個位置位於包含所有執行的分割區資料夾中。此資訊清單與最近一次執行匯出時的檔案相同。您可以讀取此資訊清單來識別所有最近匯出檔案的確切檔案路徑。檔案路徑如下所示:
s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>/Manifest.json
- 具有覆寫目錄的清單檔案名稱
-
「覆寫」模式會傳送到
Manifest.json
一個位置。s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>
此目錄中的清單會在每次重新整理指定的分割區 (也就是計費期間) 時覆寫。