Filformateringskonfiguration
Destination SDK har stöd för en flexibel uppsättning funktioner som du kan konfigurera efter behov. Bland dessa funktioner finns stöd för filformatering i CSV.
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:
- Anger om CSV-filen ska innehålla en rubrik,
- Vilket tecken som ska användas för att citera värden,
- Hur tomma värden ska se ut.
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 filformateringsalternativen för filbaserade mål -dokumentationen.
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 skapats med Destination SDK finns i diagrammet i dokumentationen för konfigurationsalternativ eller i handboken om hur du använder Destination SDK för att konfigurera ett filbaserat mål.
Du kan konfigurera filformateringsalternativen via slutpunkten /authoring/destination-servers. På följande API-referenssidor finns detaljerade API-anropsexempel där du kan konfigurera komponenterna som visas på den här sidan.
Den här sidan beskriver alla filformateringsinställningar som stöds för exporterade CSV-filer.
Integrationstyper som stöds supported-integration-types
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.
parametrar som stöds supported-parameters
Du kan ändra flera egenskaper för de exporterade filerna så att de matchar kraven i målets filmottagningssystem för att optimera läsningen och tolkningen av de filer som tas emot från Experience Platform.
fileConfigurations ä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 används standardvärdena från referenstabellen längre fram under.CSV-alternativ där användarna inte kan välja konfigurationsalternativ file-configuration-templating-none
I konfigurationsexemplet nedan är alla CSV-alternativ fördefinierade. Exportinställningarna som definieras i var och en av csvOptions-parametrarna ä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 }}"
}
}
CSV-alternativ där användarna kan välja konfigurationsalternativ file-configuration-templating-pebble
I konfigurationsexemplet nedan är inget av CSV-alternativen fördefinierat. value i var och en av csvOptions-parametrarna är konfigurerad i ett motsvarande kunddatafält via /destinations-slutpunkten (till exempel customerData.quote för filformateringsalternativet quote) och användare kan använda Experience Platform-gränssnittet 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 filformateringsalternativen för filbaserade mål -dokumentationen.
{
"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 }}"
}
}
}
Fullständig referens och exempel för de filformateringsalternativ som stöds file-formatting-reference-and-example
Nedan visas en fullständig referens över alla tillgängliga filformateringsalternativ i Destination SDK, tillsammans med utdataexempel för varje alternativ.
templatingStrategyFör varje filformateringsalternativ som du konfigurerar måste du lägga till parametern templatingStrategy, som kan ha två värden:
NONE: Använd det här värdet om du inte planerar att tillåta användare att välja mellan olika värden för en konfiguration. Se den här konfigurationen för ett exempel där filformateringsalternativen är fasta.PEBBLE_V1: använd det här värdet om du vill att användare ska kunna välja mellan olika värden för en konfiguration. I det här fallet måste du även konfigurera ett motsvarande kunddatafält i/destination-slutpunktskonfigurationen, så att de olika alternativen visas för användarna i användargränssnittet. Se den här konfigurationen för ett exempel där användare kan välja mellan olika värden för filformateringsalternativ.
compression.valuenone, bzip2, gzip, lz4 och snappy.nonefileType.valuecsv, parquet och json.csvcsvOptions.quote.value"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.nullquote.value: "u0000" —> male,NULJohn,LastNameNULquote.value: "\"" —> male,"John,LastName"csvOptions.quoteAll.value"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.falsequoteAll:false —> male,John,"TestLastName"quoteAll:true —>"male","John","TestLastName"csvOptions.delimiter.value"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 valuescsvOptions.escape.value"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"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.truecsvOptions.header.value"fileType.value": "csv". Anger om kolumnnamnen ska skrivas som den första raden i den exporterade filen.truecsvOptions.ignoreLeadingWhiteSpace.value"fileType.value": "csv". Anger om inledande blanksteg ska trimmas från värden.trueignoreLeadingWhiteSpace:true —> "male","John","TestLastName"ignoreLeadingWhiteSpace:false—> " male","John","TestLastName"csvOptions.ignoreTrailingWhiteSpace.value"fileType.value": "csv". Anger om efterföljande blanksteg ska trimmas från värden.trueignoreTrailingWhiteSpace:true —> "male","John","TestLastName"ignoreTrailingWhiteSpace:false—> "male ","John","TestLastName"csvOptions.nullValue.value"fileType.value": "csv". Anger strängbeteckningen för ett null-värde.""nullvalue:"" —> male,"",TestLastNamenullvalue:"NULL" —> male,NULL,TestLastNamecsvOptions.dateFormat.value"fileType.value": "csv". Anger datumformatet.yyyy-MM-dddateFormat:yyyy-MM-dd —> male,TestLastName,John,2022-02-24dateFormat:MM/dd/yyyy —> male,TestLastName,John,02/24/2022csvOptions.timestampFormat.value"fileType.value": "csv". Anger strängen som anger ett tidsstämpelformat.yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]csvOptions.charToEscapeQuoteEscaping.value"fileType.value": "csv". Ställer in ett enda tecken som används för att kringgå citattecknet.\ när tecken för escape och citat är olika. \0 när escape- och offerttecknet är detsamma.csvOptions.emptyValue.value"fileType.value": "csv". Anger strängbeteckningen för ett tomt värde."""emptyValue":"" —> male,"",John"emptyValue":"empty" —> male,empty,JohnmaxFileRowCountincludeFileManifestmanifest-<<destinationId>>-<<dataflowRunId>>.json.Visa en exempelmanifestfil. Manifestfilen innehåller följande fält:
flowRunId: Dataflödet kör som genererade den exporterade filen.scheduledTime: Tiden i UTC när filen exporterades.exportResults.sinkPath: Sökvägen till lagringsplatsen där den exporterade filen placeras.exportResults.name: Namnet på den exporterade filen.size: Den exporterade filens storlek i byte.
Nästa steg next-steps
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: