Configurazione formattazione file
Destination SDK supporta un set flessibile di funzioni che puoi configurare in base alle tue esigenze di integrazione. Tra queste funzioni è incluso il supporto per CSV formattazione del file.
Quando crei destinazioni basate su file tramite Destination SDK, puoi definire la formattazione dei file CSV esportati. Puoi personalizzare molte opzioni di formattazione, ad esempio, ma non solo:
- Se il file CSV deve includere un’intestazione;
- Quale carattere utilizzare per citare i valori;
- Come dovrebbero apparire i valori vuoti.
A seconda della configurazione di destinazione, gli utenti visualizzeranno determinate opzioni nell’interfaccia utente quando si connettono a una destinazione basata su file. Puoi vedere come si presentano queste opzioni in opzioni di formattazione dei file per le destinazioni basate su file documentazione.
Le impostazioni di formattazione dei file fanno parte della configurazione del server di destinazione per le destinazioni basate su file.
Per capire dove questo componente si inserisce in un’integrazione creata con Destination SDK, consulta il diagramma riportato di seguito. opzioni di configurazione oppure consulta la guida su come utilizzare Destination SDK per configurare una destinazione basata su file.
È possibile configurare le opzioni di formattazione del file tramite /authoring/destination-servers
endpoint. Consulta le seguenti pagine di riferimento API per esempi dettagliati di chiamate API, in cui puoi configurare i componenti mostrati in questa pagina.
Questa pagina descrive tutte le impostazioni di formattazione dei file supportate per l'esportazione CSV
file.
Tipi di integrazione supportati supported-integration-types
Consulta la tabella seguente per informazioni dettagliate sui tipi di integrazioni che supportano le funzionalità descritte in questa pagina.
Parametri supportati supported-parameters
È possibile modificare diverse proprietà dei file esportati in modo che corrispondano ai requisiti del sistema di ricezione dei file della destinazione, al fine di leggere e interpretare in modo ottimale i file ricevuti da Experienci Platform.
fileConfigurations
questa sezione non è obbligatoria durante la configurazione di un nuovo server di destinazione. Se nella chiamata API non trasmetti alcun valore per le opzioni CSV, i valori predefiniti verranno recuperati da tabella di riferimento più avanti verrà utilizzato.Opzioni CSV in cui gli utenti non possono selezionare le opzioni di configurazione file-configuration-templating-none
Nell’esempio di configurazione seguente, tutte le opzioni CSV sono predefinite. Le impostazioni di esportazione definite in ciascuna csvOptions
I parametri sono finali e gli utenti non possono modificarli.
"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 }}"
}
}
Opzioni CSV in cui gli utenti possono selezionare le opzioni di configurazione file-configuration-templating-pebble
Nell’esempio di configurazione seguente, nessuna delle opzioni CSV è predefinita. Il value
in ciascuno dei csvOptions
parametri è configurato in un campo corrispondente dei dati del cliente tramite /destinations
endpoint (ad esempio customerData.quote
per quote
file (opzione di formattazione del file) e gli utenti possono utilizzare l’interfaccia utente di Experienci Platform per selezionare tra le varie opzioni configurate nel campo dati cliente corrispondente. Puoi vedere come si presentano queste opzioni in opzioni di formattazione dei file per le destinazioni basate su file documentazione.
{
"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 }}"
}
}
}
Riferimento completo ed esempi per le opzioni di formattazione dei file supportate file-formatting-reference-and-example
Di seguito è riportato un riferimento completo di tutte le opzioni di formattazione dei file disponibili in Destination SDK, insieme a esempi di output per ogni opzione.
templatingStrategy
Per ogni opzione di formattazione del file configurata, è necessario aggiungere il parametro templatingStrategy
, che può avere due valori:
NONE
: utilizza questo valore se non intendi consentire agli utenti di selezionare tra valori diversi per una configurazione. Consulta questa configurazione ad esempio, in cui le opzioni di formattazione del file sono fisse.PEBBLE_V1
: utilizza questo valore se desideri consentire agli utenti di selezionare tra valori diversi per una configurazione. In questo caso, devi anche impostare un campo dati cliente corrispondente nel/destination
configurazione dell’endpoint, per rendere note le varie opzioni agli utenti nell’interfaccia utente. Consulta questa configurazione ad esempio, in cui gli utenti possono selezionare tra diversi valori per le opzioni di formattazione del file.
compression.value
none
, bzip2
, gzip
, lz4
, e snappy
.none
fileType.value
csv
, parquet
, e json
.csv
csvOptions.quote.value
"fileType.value": "csv"
. Imposta un singolo carattere utilizzato per l'escape dei valori tra virgolette, in cui il separatore può far parte del valore.null
quote.value: "u0000"
—> male,NULJohn,LastNameNUL
quote.value: "\""
—> male,"John,LastName"
csvOptions.quoteAll.value
"fileType.value": "csv"
. Indica se tutti i valori devono essere sempre racchiusi tra virgolette. L'impostazione predefinita prevede solo l'escape di valori contenenti virgolette.false
quoteAll
:false
--> male,John,"TestLastName"
quoteAll
:true
-->"male","John","TestLastName"
csvOptions.delimiter.value
"fileType.value": "csv"
. Imposta un separatore per ogni campo e valore. Il separatore può essere costituito da uno o più caratteri.,
delimiter
:,
--> comma-separated values"
delimiter
:\t
--> tab-separated values
csvOptions.escape.value
"fileType.value": "csv"
. Imposta un singolo carattere utilizzato per eseguire l’escape delle virgolette all’interno di un valore già tra virgolette.\
"escape"
:"\\"
--> male,John,"Test,\"LastName5"
"escape"
:"'"
--> male,John,"Test,'''"LastName5"
csvOptions.escapeQuotes.value
"fileType.value": "csv"
. Indica se i valori contenenti virgolette devono essere sempre racchiusi tra virgolette. L'impostazione predefinita prevede l'escape di tutti i valori contenenti una virgoletta.true
csvOptions.header.value
"fileType.value": "csv"
. Indica se scrivere i nomi delle colonne come prima riga nel file esportato.true
csvOptions.ignoreLeadingWhiteSpace.value
"fileType.value": "csv"
. Indica se eliminare gli spazi bianchi iniziali dai valori.true
ignoreLeadingWhiteSpace
:true
--> "male","John","TestLastName"
ignoreLeadingWhiteSpace
:false
–> " male","John","TestLastName"
csvOptions.ignoreTrailingWhiteSpace.value
"fileType.value": "csv"
. Indica se rifilare gli spazi vuoti finali dai valori.true
ignoreTrailingWhiteSpace
:true
--> "male","John","TestLastName"
ignoreTrailingWhiteSpace
:false
–> "male ","John","TestLastName"
csvOptions.nullValue.value
"fileType.value": "csv"
. Imposta la rappresentazione di stringa di un valore null.""
nullvalue
:""
--> male,"",TestLastName
nullvalue
:"NULL"
--> male,NULL,TestLastName
csvOptions.dateFormat.value
"fileType.value": "csv"
. Indica il formato della data.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"
. Imposta la stringa che indica un formato timestamp.yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
csvOptions.charToEscapeQuoteEscaping.value
"fileType.value": "csv"
. Imposta un singolo carattere utilizzato per l'escape del carattere virgolette.\
quando i caratteri escape e le virgolette sono diversi. \0
quando il carattere di escape e le virgolette sono uguali.csvOptions.emptyValue.value
"fileType.value": "csv"
. Imposta la rappresentazione di stringa di un valore vuoto.""
"emptyValue":""
--> male,"",John
"emptyValue":"empty"
--> male,empty,John
maxFileRowCount
includeFileManifest
manifest-<<destinationId>>-<<dataflowRunId>>.json
.Visualizza un file manifesto di esempio. Il file manifesto include i campi seguenti:
flowRunId
: Il esecuzione del flusso di dati che ha generato il file esportato.scheduledTime
: ora in UTC in cui è stato esportato il file.exportResults.sinkPath
: percorso nel percorso di archiviazione in cui viene depositato il file esportato.exportResults.name
: nome del file esportato.size
: dimensione del file esportato, in byte.
Passaggi successivi next-steps
Dopo aver letto questo articolo, dovresti conoscere meglio il funzionamento della formattazione dei file in una configurazione del server di destinazione e come configurarla.
Per ulteriori informazioni sugli altri componenti del server di destinazione, consulta i seguenti articoli: