Filformateringskonfiguration
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 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 guiden 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 mottagningssystemet för målfilen, 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 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 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.
templatingStrategy
Fö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.value
none
, bzip2
, gzip
, lz4
och snappy
.none
fileType.value
csv
, parquet
och json
.csv
csvOptions.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.null
quote.value: "u0000"
—> male,NULJohn,LastNameNUL
quote.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.false
quoteAll
: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 values
csvOptions.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.true
csvOptions.header.value
"fileType.value": "csv"
. Anger om kolumnnamnen ska skrivas som den första raden i den exporterade filen.true
csvOptions.ignoreLeadingWhiteSpace.value
"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
"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
"fileType.value": "csv"
. Anger strängbeteckningen för ett null-värde.""
nullvalue
:""
—> male,"",TestLastName
nullvalue
:"NULL"
—> male,NULL,TestLastName
csvOptions.dateFormat.value
"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
"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,John
maxFileRowCount
includeFileManifest
manifest-<<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: