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.

IMPORTANT
Alla parameternamn och värden som stöds av Destinationen SDK är skiftlägeskänsliga. Undvik skiftlägeskänslighetsfel genom att använda parameternamn och värden exakt som de visas i dokumentationen.

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.

Integrationstyp
Stöder funktioner
Integrering i realtid (direktuppspelning)
Nej
Filbaserade (batch) integreringar
Ja

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.

NOTE
CSV-alternativ stöds bara när CSV-filer exporteras. Avsnittet 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

TIP
CSV-filformateringsalternativen som beskrivs nedan beskrivs också i Apache Spark-guiden 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:

  • 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
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
Anpassat 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 tecken för escape och citat är olika. \0 när escape- och offerttecknet ä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 fått ett namn i formatet 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:

recommendation-more-help
7f4d1967-bf93-4dba-9789-bb6b505339d6