檔案格式設定
Destination SDK支援一組彈性的功能,您可以根據整合需求進行設定。 其中一項功能是支援 CSV 檔案格式設定。
當您透過Destination SDK建立以檔案為基礎的目的地時,可以定義匯出的CSV檔案的格式設定。 您可以自訂許多格式選項,例如但不限於:
- CSV檔案是否應該包含標題;
- 引號值要使用的字元;
- 空值應該是什麼樣子。
視您的目的地設定而定,使用者在連線至檔案式目的地時,會在UI中看到某些選項。 您可以在以下連結中檢視這些選項的樣子 檔案型目的地的檔案格式選項 檔案。
檔案格式設定是以檔案為基礎的目的地,屬於目的地伺服器組態的一部分。
若要瞭解此元件在何處適合使用Destination SDK建立的整合,請參閱 設定選項 檔案或請參閱操作說明指南 使用Destination SDK來設定以檔案為基礎的目的地.
您可以透過以下方式設定檔案格式選項 /authoring/destination-servers
端點。 請參閱下列API參考頁面,以取得詳細的API呼叫範例,您可在此範例設定本頁面中顯示的元件。
本頁說明所有支援的匯出檔案格式設定 CSV
檔案。
支援的整合型別 supported-integration-types
如需瞭解哪些型別的整合支援本頁面所述功能的詳細資訊,請參閱下表。
支援的引數 supported-parameters
您可以修改匯出檔案的數個屬性,以符合目的地檔案接收系統的需求,以最佳方式讀取和解譯從Experience Platform接收的檔案。
fileConfigurations
區段在設定新的目的地伺服器時不是強制性的。 如果您沒有在API呼叫中為CSV選項傳遞任何值,預設值來自 下方參考表格 將會使用。使用者無法選取組態選項的CSV選項 file-configuration-templating-none
在以下的設定範例中,所有CSV選項皆為預先定義。 在每個 csvOptions
引數為最終引數,使用者無法加以修改。
"fileConfigurations": {
"compression": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.compression}}"
},
"fileType": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.fileType}}"
},
"csvOptions": {
"quote": {
"templatingStrategy": "NONE",
"value": "\""
},
"quoteAll": {
"templatingStrategy": "NONE",
"value": "false"
},
"escape": {
"templatingStrategy": "NONE",
"value": "\\"
},
"escapeQuotes": {
"templatingStrategy": "NONE",
"value": "true"
},
"header": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreLeadingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreTrailingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"nullValue": {
"templatingStrategy": "NONE",
"value": ""
},
"dateFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd"
},
"timestampFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
},
"charToEscapeQuoteEscaping": {
"templatingStrategy": "NONE",
"value": "\\"
},
"emptyValue": {
"templatingStrategy": "NONE",
"value": ""
}
},
"maxFileRowCount":5000000,
"includeFileManifest": {
"templatingStrategy":"PEBBLE_V1",
"value":"{{ customerData.includeFileManifest }}"
}
}
CSV選項,使用者可從中選取設定選項 file-configuration-templating-pebble
在以下的設定範例中,並未預先定義任何CSV選項。 此 value
在每個 csvOptions
引數是透過在對應客戶資料欄位中設定 /destinations
端點(例如 customerData.quote
針對 quote
檔案格式選項),使用者可使用Experience PlatformUI在您於對應客戶資料欄位中設定的各種選項之間選取。 您可以在以下連結中檢視這些選項的樣子 檔案型目的地的檔案格式選項 檔案。
{
"fileConfigurations":{
"compression":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'compression' and customerData.compression is not empty %}{{customerData.compression}}{% else %}NONE{% endif %}"
},
"fileType":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.fileType}}"
},
"csvOptions":{
"sep":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'delimiter' %}{{customerData.csvOptions.delimiter}}{% else %},{% endif %}"
},
"quote":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'quote' %}{{customerData.csvOptions.quote}}{% else %}\"{% endif %}"
},
"escape":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'escape' %}{{customerData.csvOptions.escape}}{% else %}\\{% endif %}"
},
"nullValue":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'nullValue' %}{{customerData.csvOptions.nullValue}}{% else %}null{% endif %}"
},
"emptyValue":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'emptyValue' %}{{customerData.csvOptions.emptyValue}}{% else %}{% endif %}"
}
},
"maxFileRowCount":5000000,
"includeFileManifest": {
"templatingStrategy":"PEBBLE_V1",
"value":"{{ customerData.includeFileManifest }}"
}
}
}
支援的檔案格式選項完整參考和範例 file-formatting-reference-and-example
以下是Destination SDK中所有可用檔案格式選項的完整參考,連同每個選項的輸出範例。
templatingStrategy
對於您設定的每個檔案格式選項,您必須新增引數 templatingStrategy
,其中可以有兩個值:
compression.value
none
, bzip2
, gzip
, lz4
、和 snappy
.none
fileType.value
csv
, parquet
、和 json
.csv
csvOptions.quote.value
"fileType.value": "csv"
. 設定用於逸出引號值的單一字元,其中分隔符號可以是值的一部分。null
quote.value: "u0000"
—> male,NULJohn,LastNameNUL
quote.value: "\""
—> male,"John,LastName"
csvOptions.quoteAll.value
"fileType.value": "csv"
. 指示是否所有值都一律以引號括住。 預設為僅逸出包含引號字元的值。false
quoteAll
:false
—> male,John,"TestLastName"
quoteAll
:true
-->"male","John","TestLastName"
csvOptions.delimiter.value
"fileType.value": "csv"
. 為每個欄位和值設定分隔符號。 此分隔符號可為一或多個字元。,
delimiter
:,
--> comma-separated values"
delimiter
:\t
--> tab-separated values
csvOptions.escape.value
"fileType.value": "csv"
. 在已引用的值中設定用於逸出引號的單一字元。\
"escape"
:"\\"
--> male,John,"Test,\"LastName5"
"escape"
:"'"
--> male,John,"Test,'''"LastName5"
csvOptions.escapeQuotes.value
"fileType.value": "csv"
. 指示是否一律將包含引號的值括在引號中。 預設為逸出包含引號字元的所有值。true
csvOptions.header.value
"fileType.value": "csv"
. 指示是否將欄名稱寫入匯出檔案的第一行。true
csvOptions.ignoreLeadingWhiteSpace.value
"fileType.value": "csv"
. 指示是否從值中修剪前導空格。true
ignoreLeadingWhiteSpace
:true
--> "male","John","TestLastName"
ignoreLeadingWhiteSpace
:false
–> " male","John","TestLastName"
csvOptions.ignoreTrailingWhiteSpace.value
"fileType.value": "csv"
. 指示是否從值修剪尾端空格。true
ignoreTrailingWhiteSpace
:true
--> "male","John","TestLastName"
ignoreTrailingWhiteSpace
:false
–> "male ","John","TestLastName"
csvOptions.nullValue.value
"fileType.value": "csv"
. 設定null值的字串表示。""
nullvalue
:""
--> male,"",TestLastName
nullvalue
:"NULL"
--> male,NULL,TestLastName
csvOptions.dateFormat.value
"fileType.value": "csv"
. 指示日期格式。yyyy-MM-dd
dateFormat
:yyyy-MM-dd
--> male,TestLastName,John,2022-02-24
dateFormat
:MM/dd/yyyy
--> male,TestLastName,John,02/24/2022
csvOptions.timestampFormat.value
"fileType.value": "csv"
. 設定表示時間戳記格式的字串。yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
csvOptions.charToEscapeQuoteEscaping.value
"fileType.value": "csv"
. 設定用於逸出引號字元的單一字元。\
當逸出和引號字元不同時。 \0
當逸出和引號字元相同時。csvOptions.emptyValue.value
"fileType.value": "csv"
. 設定空值的字串表示。""
"emptyValue":""
--> male,"",John
"emptyValue":"empty"
--> male,empty,John
maxFileRowCount
includeFileManifest
manifest-<<destinationId>>-<<dataflowRunId>>.json
.後續步驟 next-steps
閱讀本文後,您應該更瞭解檔案格式設定在目標伺服器設定中的運作方式,以及如何進行設定。
若要深入瞭解其他目的地伺服器元件,請參閱下列文章: