Questa pagina descrive tutte le opzioni di configurazione del server per i server di destinazione basati su file e mostra come impostare varie opzioni di configurazione dei file per gli utenti che esportano file da Experience Platform alla destinazione.
Le specifiche di configurazione del server e dei file per le destinazioni basate su file possono essere configurate in Adobe Experience Platform Destination SDK tramite /destination-servers
endpoint. Letto Operazioni endpoint API server di destinazione per un elenco completo delle operazioni che è possibile eseguire sull'endpoint.
Le sezioni seguenti includono le specifiche del server di destinazione specifiche per ciascun tipo di destinazione batch supportato in Destination SDK.
L’esempio seguente mostra una configurazione corretta del server di destinazione per una destinazione Amazon S3.
{
"name": "S3 destination",
"destinationServerType": "FILE_BASED_S3",
"fileBasedS3Destination": {
"bucket": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.bucket}}"
},
"path": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.path}}"
}
},
"fileConfigurations": {
// See the file formatting configuration section further below on this page
}
}
Parametro | Tipo | Descrizione |
---|---|---|
name |
Stringa | Nome della connessione di destinazione. |
destinationServerType |
Stringa | Imposta questo valore in base alla piattaforma di destinazione. Per Amazon S3, imposta su FILE_BASED_S3 . |
fileBasedS3Destination.bucket.templatingStrategy |
Stringa | Obbligatorio. Seleziona PEBBLE_V1 . |
fileBasedS3Destination.bucket.value |
Stringa | Il nome del Amazon S3 bucket da utilizzare per questa destinazione. |
fileBasedS3Destination.path.templatingStrategy |
Stringa | Obbligatorio. Seleziona PEBBLE_V1 . |
fileBasedS3Destination.path.value |
Stringa | Percorso della cartella di destinazione che ospiterà i file esportati. |
fileConfigurations |
Oggetto | Consulta configurazione formattazione file per spiegazioni dettagliate su questa sezione. |
L’esempio seguente mostra una configurazione corretta del server di destinazione per una destinazione SFTP.
{
"name":"File-based SFTP destination server",
"destinationServerType":"FILE_BASED_SFTP",
"fileBasedSftpDestination":{
"rootDirectory":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.rootDirectory}}"
},
"hostName":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.hostName}}"
},
"port": 22,
"encryptionMode" : "PGP"
},
"fileConfigurations": {
// See the file formatting configuration section further below on this page
}
}
Parametro | Tipo | Descrizione |
---|---|---|
name |
Stringa | Nome della connessione di destinazione. |
destinationServerType |
Stringa | Imposta questo valore in base alla piattaforma di destinazione. Per SFTP destinazioni, impostalo su FILE_BASED_SFTP . |
fileBasedSftpDestination.rootDirectory.templatingStrategy |
Stringa | Obbligatorio. Seleziona PEBBLE_V1 . |
fileBasedSftpDestination.rootDirectory.value |
Stringa | La directory radice dell'archiviazione di destinazione. |
fileBasedSftpDestination.hostName.templatingStrategy |
Stringa | Obbligatorio. Seleziona PEBBLE_V1 . |
fileBasedSftpDestination.hostName.value |
Stringa | Nome host dell'archiviazione di destinazione. |
port |
Intero | Porta del file server SFTP. |
encryptionMode |
Stringa | Indica se utilizzare la crittografia file. Valori supportati:
|
fileConfigurations |
Oggetto | Consulta configurazione formattazione file per spiegazioni dettagliate su questa sezione. |
L’esempio seguente mostra una configurazione corretta del server di destinazione per un Azure Data Lake Storage destinazione.
{
"name":"ADLS destination server",
"destinationServerType":"FILE_BASED_ADLS_GEN2",
"fileBasedAdlsGen2Destination":{
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
}
},
"fileConfigurations": {
// See the file formatting configuration section further below on this page
}
}
Parametro | Tipo | Descrizione |
---|---|---|
name |
Stringa | Nome della connessione di destinazione. |
destinationServerType |
Stringa | Imposta questo valore in base alla piattaforma di destinazione. Per Azure Data Lake Storage destinazioni, impostalo su FILE_BASED_ADLS_GEN2 . |
fileBasedAdlsGen2Destination.path.templatingStrategy |
Stringa | Obbligatorio. Seleziona PEBBLE_V1 . |
fileBasedAdlsGen2Destination.path.value |
Stringa | Percorso della cartella di destinazione che ospiterà i file esportati. |
fileConfigurations |
Oggetto | Consulta configurazione formattazione file per spiegazioni dettagliate su questa sezione. |
L’esempio seguente mostra una configurazione corretta del server di destinazione per un Azure Blob Storage destinazione.
{
"name":"Blob destination server",
"destinationServerType":"FILE_BASED_AZURE_BLOB",
"fileBasedAzureBlobDestination":{
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
},
"container":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.container}}"
}
},
"fileConfigurations": {
// See the file formatting configuration section further below on this page
}
}
Parametro | Tipo | Descrizione |
---|---|---|
name |
Stringa | Nome della connessione di destinazione. |
destinationServerType |
Stringa | Imposta questo valore in base alla piattaforma di destinazione. Per Azure Blob Storage destinazioni, impostalo su FILE_BASED_AZURE_BLOB . |
fileBasedAzureBlobDestination.path.templatingStrategy |
Stringa | Obbligatorio. Seleziona PEBBLE_V1 . |
fileBasedAzureBlobDestination.path.value |
Stringa | Percorso della cartella di destinazione che ospiterà i file esportati. |
fileBasedAzureBlobDestination.container.templatingStrategy |
Stringa | Obbligatorio. Seleziona PEBBLE_V1 . |
fileBasedAzureBlobDestination.container.value |
Stringa | Il nome del Azure Blob Storage contenitore utilizzato da questa destinazione. |
fileConfigurations |
Oggetto | Consulta configurazione formattazione file per spiegazioni dettagliate su questa sezione. |
L’esempio seguente mostra una configurazione corretta del server di destinazione per un Data Landing Zone (DLZ) destinazione.
{
"name":"DLZ destination server",
"destinationServerType":"FILE_BASED_DLZ",
"fileBasedDlzDestination":{
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
},
"useCase": "Your use case"
},
"fileConfigurations": {
// See the file formatting configuration section further below on this page
}
}
Parametro | Tipo | Descrizione |
---|---|---|
name |
Stringa | Nome della connessione di destinazione. |
destinationServerType |
Stringa | Imposta questo valore in base alla piattaforma di destinazione. Per Data Landing Zone destinazioni, impostalo su FILE_BASED_DLZ . |
fileBasedDlzDestination.path.templatingStrategy |
Stringa | Obbligatorio. Seleziona PEBBLE_V1 . |
fileBasedDlzDestination.path.value |
Stringa | Percorso della cartella di destinazione che ospiterà i file esportati. |
fileConfigurations |
Oggetto | Consulta configurazione formattazione file per spiegazioni dettagliate su questa sezione. |
L’esempio seguente mostra una configurazione corretta del server di destinazione per un Google Cloud Storage destinazione.
{
"name":"Google Cloud Storage Server",
"destinationServerType":"FILE_BASED_GOOGLE_CLOUD",
"fileBasedGoogleCloudStorageDestination":{
"bucket":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.bucket}}"
},
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
}
},
"fileConfigurations":{
// See the file formatting configuration section further below on this page
}
}
Parametro | Tipo | Descrizione |
---|---|---|
name |
Stringa | Nome della connessione di destinazione. |
destinationServerType |
Stringa | Imposta questo valore in base alla piattaforma di destinazione. Per Google Cloud Storage destinazioni, impostalo su FILE_BASED_GOOGLE_CLOUD . |
fileBasedGoogleCloudStorageDestination.bucket.templatingStrategy |
Stringa | Obbligatorio. Seleziona PEBBLE_V1 . |
fileBasedGoogleCloudStorageDestination.bucket.value |
Stringa | Il nome del Google Cloud Storage bucket da utilizzare per questa destinazione. |
fileBasedGoogleCloudStorageDestination.path.templatingStrategy |
Stringa | Obbligatorio. Seleziona PEBBLE_V1 . |
fileBasedGoogleCloudStorageDestination.path.value |
Stringa | Percorso della cartella di destinazione che ospiterà i file esportati. |
fileConfigurations |
Oggetto | Consulta configurazione formattazione file per spiegazioni dettagliate su questa sezione. |
Questa sezione descrive le impostazioni di formattazione del file per il file esportato CSV
file. È possibile modificare diverse proprietà dei file esportati in modo che corrispondano ai requisiti del sistema di ricezione dei file sul proprio lato, al fine di leggere e interpretare in modo ottimale i file ricevuti da Experience Platform.
Le opzioni CSV sono supportate solo quando si esportano file CSV. Il 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.
templatingStrategy
imposta su NONE
Nell’esempio di configurazione seguente, tutte le opzioni CSV sono fisse. 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
}
templatingStrategy
imposta su PEBBLE_V1
Nell’esempio di configurazione seguente, nessuna delle opzioni CSV è fissa. 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 Experience Platform per selezionare tra le varie opzioni configurate nel campo dati cliente corrispondente.
"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 %}"
}
}
}
Le opzioni di formattazione del file CSV descritte di seguito sono documentate anche nel Guida di Apache Spark per file CSV. Le descrizioni utilizzate di seguito sono tratte dalla guida di Apache Spark.
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.
Campo | Obbligatorio/facoltativo | Descrizione | Valore predefinito | Esempio di output 1 | Esempio di output 2 |
---|---|---|---|---|---|
templatingStrategy |
Obbligatorio | Per ogni opzione di formattazione del file configurata, è necessario aggiungere il parametro templatingStrategy , che può avere due valori:
|
- | - | - |
compression.value |
Facoltativo | Codec di compressione da utilizzare per il salvataggio dei dati nel file. Valori supportati: none , bzip2 , gzip , lz4 , e snappy . |
none |
- | - |
fileType.value |
Facoltativo | Specifica il formato del file di output. Valori supportati: csv , parquet , e json . |
csv |
- | - |
csvOptions.quote.value |
Facoltativo | Solo per"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 |
- | - |
csvOptions.quoteAll.value |
Facoltativo | Solo per"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 |
Facoltativo | Solo per"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 |
Facoltativo | Solo per"fileType.value": "csv" . Imposta un singolo carattere utilizzato per l’escape delle virgolette all’interno di un valore già citato. |
\ |
"escape" :"\\" --> male,John,"Test,\"LastName5" |
"escape" :"'" --> male,John,"Test,'''"LastName5" |
csvOptions.escapeQuotes.value |
Facoltativo | Solo per"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 |
Facoltativo | Solo per"fileType.value": "csv" . Indica se scrivere i nomi delle colonne come prima riga nel file esportato. |
true |
- | - |
csvOptions.ignoreLeadingWhiteSpace.value |
Facoltativo | Solo per"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 |
Facoltativo | Solo per"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 |
Facoltativo | Solo per"fileType.value": "csv" . Imposta la rappresentazione di stringa di un valore null. |
"" |
nullvalue :"" --> male,"",TestLastName |
nullvalue :"NULL" --> male,NULL,TestLastName |
csvOptions.dateFormat.value |
Facoltativo | Solo per"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 |
Facoltativo | Solo per"fileType.value": "csv" . Imposta la stringa che indica un formato timestamp. |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
- | - |
csvOptions.charToEscapeQuoteEscaping.value |
Facoltativo | Solo per"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 |
Facoltativo | Solo per"fileType.value": "csv" . Imposta la rappresentazione di stringa di un valore vuoto. |
"" |
"emptyValue":"" --> male,"",John |
"emptyValue":"empty" --> male,empty,John |