Destinationen SDK har stöd för en flexibel uppsättning funktioner som du kan konfigurera efter dina integrationsbehov. Bland dessa funktioner finns stöd för CSV filformatering.
När du skapar filbaserade mål via Destination SDK kan du definiera hur de exporterade CSV-filerna ska formateras. Du kan anpassa många formateringsalternativ, till exempel, men inte begränsat till:
Beroende på målkonfigurationen visas vissa alternativ i användargränssnittet när du ansluter till ett filbaserat mål. Du kan se hur dessa alternativ ser ut i dialogrutan filformateringsalternativ för filbaserade mål dokumentation.
Filformateringsinställningarna ingår i målserverkonfigurationen för filbaserade mål.
Mer information om var den här komponenten passar in i en integrering som skapas med Destination SDK finns i diagrammet i konfigurationsalternativ eller se guiden om hur du använd Destination SDK för att konfigurera ett filbaserat mål.
Du kan konfigurera filformateringsalternativen via /authoring/destination-servers
slutpunkt. På följande API-referenssidor finns detaljerade API-anropsexempel där du kan konfigurera komponenterna som visas på den här sidan.
På den här sidan beskrivs alla filformatsinställningar som stöds för exporterade filer CSV
filer.
Alla parameternamn och värden som stöds av Destinationen SDK är skiftlägeskänslig. Undvik skiftlägeskänslighetsfel genom att använda parameternamn och värden exakt som de visas i dokumentationen.
Se tabellen nedan för mer ingående information om vilka typer av integreringar som stöder de funktioner som beskrivs på den här sidan.
Integrationstyp | Stöder funktioner |
---|---|
Integrering i realtid (direktuppspelning) | Nej |
Filbaserade (batch) integreringar | Ja |
Du kan ändra flera egenskaper för de exporterade filerna så att de matchar kraven i mottagningssystemet för målfilen, för att optimera läsningen och tolkningen av de filer som tas emot från Experience Platform.
CSV-alternativ stöds bara när CSV-filer exporteras. The fileConfigurations
-avsnittet är inte obligatoriskt när du konfigurerar en ny målserver. Om du inte skickar några värden i API-anropet för CSV-alternativen är standardvärdena från referenstabell längre ned kommer att användas.
I konfigurationsexemplet nedan är alla CSV-alternativ fördefinierade. De exportinställningar som definieras i var och en av csvOptions
parametrar är slutgiltiga och användarna kan inte ändra dem.
"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 }}"
}
}
I konfigurationsexemplet nedan är inget av CSV-alternativen fördefinierat. The value
i varje csvOptions
parametrarna har konfigurerats i ett motsvarande kunddatafält via /destinations
slutpunkt (till exempel customerData.quote
för quote
filformateringsalternativ) och användare kan använda användargränssnittet i Experience Platform för att välja mellan de olika alternativ som du konfigurerar i motsvarande kunddatafält. Du kan se hur dessa alternativ ser ut i dialogrutan filformateringsalternativ för filbaserade mål dokumentation.
{
"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 }}"
}
}
}
CSV-filformateringsalternativen som beskrivs nedan beskrivs även i Apache Spark-guide för CSV-filer. Beskrivningarna nedan är hämtade från Apache Spark-guiden.
Nedan visas en fullständig referens över alla tillgängliga filformateringsalternativ i Destination SDK, tillsammans med utdataexempel för varje alternativ.
Fält | Obligatoriskt/valfritt | Beskrivning | Standardvärde | Exempel på utdata 1 | Exempel på utdata 2 |
---|---|---|---|---|---|
templatingStrategy |
Obligatoriskt | För varje filformateringsalternativ som du konfigurerar måste du lägga till parametern templatingStrategy , som kan ha två värden:
|
– | – | – |
compression.value |
Valfritt | Komprimeringskodek som ska användas när data sparas i en fil. Värden som stöds: none , bzip2 , gzip , lz4 och snappy . |
none |
– | – |
fileType.value |
Valfritt | Anger utdatafilens format. Värden som stöds: csv , parquet och json . |
csv |
– | – |
csvOptions.quote.value |
Valfritt | Endast för"fileType.value": "csv" . Anger ett enskilt tecken som används för att undvika citattecken där avgränsaren kan vara en del av värdet. |
null |
Exempel på standardvärde: quote.value: "u0000" —> male,NULJohn,LastNameNUL |
Exempel: quote.value: "\"" —> male,"John,LastName" |
csvOptions.quoteAll.value |
Valfritt | Endast för"fileType.value": "csv" . Anger om alla värden alltid ska omslutas av citattecken. Som standard är det bara escape-värden som innehåller ett citattecken. |
false |
quoteAll :false --> male,John,"TestLastName" |
quoteAll :true -->"male","John","TestLastName" |
csvOptions.delimiter.value |
Valfritt | Endast för"fileType.value": "csv" . Anger en avgränsare för varje fält och värde. Avgränsaren kan vara ett eller flera tecken. |
, |
delimiter :, --> comma-separated values" |
delimiter :\t --> tab-separated values |
csvOptions.escape.value |
Valfritt | Endast för"fileType.value": "csv" . Ställer in ett enskilt tecken som används för att undvika citattecken inuti ett redan citattecken. |
\ |
"escape" :"\\" --> male,John,"Test,\"LastName5" |
"escape" :"'" --> male,John,"Test,'''"LastName5" |
csvOptions.escapeQuotes.value |
Valfritt | Endast för"fileType.value": "csv" . Anger om värden som innehåller citattecken alltid ska omslutas av citattecken. Standard är att undvika alla värden som innehåller ett citattecken. |
true |
– | – |
csvOptions.header.value |
Valfritt | Endast för"fileType.value": "csv" . Anger om kolumnnamnen ska skrivas som den första raden i den exporterade filen. |
true |
– | – |
csvOptions.ignoreLeadingWhiteSpace.value |
Valfritt | Endast för"fileType.value": "csv" . Anger om inledande blanksteg ska trimmas från värden. |
true |
ignoreLeadingWhiteSpace :true --> "male","John","TestLastName" |
ignoreLeadingWhiteSpace :false –> " male","John","TestLastName" |
csvOptions.ignoreTrailingWhiteSpace.value |
Valfritt | Endast för"fileType.value": "csv" . Anger om efterföljande blanksteg ska trimmas från värden. |
true |
ignoreTrailingWhiteSpace :true --> "male","John","TestLastName" |
ignoreTrailingWhiteSpace :false –> "male ","John","TestLastName" |
csvOptions.nullValue.value |
Valfritt | Endast för"fileType.value": "csv" . Anger strängbeteckningen för ett null-värde. |
"" |
nullvalue :"" --> male,"",TestLastName |
nullvalue :"NULL" --> male,NULL,TestLastName |
csvOptions.dateFormat.value |
Valfritt | Endast för"fileType.value": "csv" . Anger datumformatet. |
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 |
Valfritt | Endast för"fileType.value": "csv" . Anger strängen som anger ett tidsstämpelformat. |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
– | – |
csvOptions.charToEscapeQuoteEscaping.value |
Valfritt | Endast för"fileType.value": "csv" . Ställer in ett enda tecken som används för att kringgå citattecknet. |
\ när escape- och citattecknen är olika. \0 när escape- och citattecknet är detsamma. |
– | – |
csvOptions.emptyValue.value |
Valfritt | Endast för"fileType.value": "csv" . Anger strängbeteckningen för ett tomt värde. |
"" |
"emptyValue":"" --> male,"",John |
"emptyValue":"empty" --> male,empty,John |
maxFileRowCount |
Valfritt | Anger det maximala antalet rader per exporterad fil, mellan 1 000 000 och 10 000 000 rader. | 5,000,000 | ||
includeFileManifest |
Valfritt | Aktiverar stöd för export av ett filmanifest tillsammans med filexporten. Manifestets JSON-fil innehåller information om exportplats, exportstorlek med mera. Manifestet har ett namn i formatet manifest-<<destinationId>>-<<dataflowRunId>>.json . |
Visa en exempelmanifestfil. Manifestfilen innehåller följande fält:
|
När du har läst den här artikeln bör du få en bättre förståelse för hur filformatering fungerar i en målserverkonfiguration och hur du kan konfigurera den.
Mer information om andra målserverkomponenter finns i följande artiklar: