Configuratie bestandsindeling
Destination SDK ondersteunt een flexibele reeks functies die u kunt configureren op basis van uw integratiebehoeften. Een van deze functies is de ondersteuning voor CSV bestandsindeling.
Wanneer u op een bestand gebaseerde doelen maakt via Destination SDK, kunt u definiëren hoe de geëxporteerde CSV-bestanden moeten worden opgemaakt. U kunt vele opmaakopties aanpassen, zoals, maar niet beperkt tot:
- Of het CSV-bestand een header moet bevatten;
- Welk karakter voor het citeren van waarden te gebruiken;
- Hoe zouden lege waarden eruit moeten zien.
Afhankelijk van uw bestemmingsconfiguratie, zullen de gebruikers bepaalde opties in UI zien wanneer het verbinden met een op dossier-gebaseerd doel. U kunt zien hoe deze opties in het dossier het formatteren opties voor op dossier-gebaseerde bestemmingendocumentatie kijken.
De het formatteren van het dossier montages maken deel uit van de configuratie van de bestemmingsserver voor op dossier-gebaseerde bestemmingen.
Om te begrijpen waar deze component in een integratie past die met Destination SDK wordt gecreeerd, zie het diagram in de configuratieoptiesdocumentatie of zie de gids op hoe te gebruiken Destination SDK om een op dossier-gebaseerde bestemmingte vormen.
U kunt de opties voor bestandsindeling configureren via het eindpunt /authoring/destination-servers
. Zie de volgende API verwijzingspagina's voor gedetailleerde API vraagvoorbeelden waar u de componenten kunt vormen die in deze pagina worden getoond.
Op deze pagina worden alle ondersteunde instellingen voor bestandsindeling voor geëxporteerde CSV
bestanden beschreven.
Ondersteunde integratietypen supported-integration-types
Raadpleeg de onderstaande tabel voor meer informatie over de integratietypen die de op deze pagina beschreven functionaliteit ondersteunen.
Ondersteunde parameters supported-parameters
U kunt verschillende eigenschappen van de geëxporteerde bestanden aanpassen aan de vereisten van het bestandsontvangstsysteem van uw bestemming, zodat u de bestanden die u van het Experience Platform hebt ontvangen optimaal kunt lezen en interpreteren.
fileConfigurations
is niet verplicht bij het instellen van een nieuwe doelserver. Als u om het even welke waarden in API vraag voor de opties CSV niet overgaat, zullen de standaarddegenen van de verwijzingslijst verder onderworden gebruikt.CSV-opties waarbij gebruikers geen configuratieopties kunnen selecteren file-configuration-templating-none
In het onderstaande configuratievoorbeeld zijn alle CSV-opties vooraf gedefinieerd. De exportinstellingen die zijn gedefinieerd in elk van de parameters van csvOptions
, zijn definitief en kunnen niet door de gebruiker worden gewijzigd.
"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-opties waar gebruikers configuratieopties kunnen selecteren file-configuration-templating-pebble
In het onderstaande configuratievoorbeeld zijn geen van de CSV-opties vooraf gedefinieerd. De value
in elk van de csvOptions
-parameters wordt geconfigureerd in een overeenkomstig gegevensveld van de klant via het /destinations
-eindpunt (bijvoorbeeld customerData.quote
voor de quote
-optie voor bestandsindeling) en gebruikers kunnen de interface van het Experience Platform gebruiken om een keuze te maken tussen de verschillende opties die u configureert in het desbetreffende gegevensveld van de klant. U kunt zien hoe deze opties in het dossier het formatteren opties voor op dossier-gebaseerde bestemmingendocumentatie kijken.
{
"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 }}"
}
}
}
Volledige verwijzing en voorbeelden voor ondersteunde opties voor bestandsindeling file-formatting-reference-and-example
Hieronder ziet u een volledige verwijzing naar alle beschikbare opmaakopties voor bestanden in Destination SDK, naast uitvoervoorbeelden voor elke optie.
templatingStrategy
Voor elke optie voor bestandsindeling die u configureert, moet u de parameter templatingStrategy
toevoegen. Deze parameter kan twee waarden hebben:
NONE
: gebruik deze waarde als u niet van plan bent om gebruikers toe te staan te selecteren tussen verschillende waarden voor een configuratie. Zie deze configuratievoor een voorbeeld waar dossier het formatteren opties vast zijn.PEBBLE_V1
: gebruik deze waarde als u wilt dat gebruikers een keuze kunnen maken tussen verschillende waarden voor een configuratie. In dit geval, moet u opstelling ook een overeenkomstig gebied van klantengegevens in de/destination
eindpuntconfiguratie, om de diverse opties aan gebruikers in UI te oppervlakte. Zie deze configuratievoor een voorbeeld waar de gebruikers tussen verschillende waarden voor dossier het formatteren opties kunnen selecteren.
compression.value
none
, bzip2
, gzip
, lz4
en snappy
.none
fileType.value
csv
, parquet
en json
.csv
csvOptions.quote.value
"fileType.value": "csv"
. Hiermee stelt u één teken in dat wordt gebruikt voor het escape-teken van geciteerde waarden, waarbij het scheidingsteken deel kan uitmaken van de waarde.null
quote.value: "u0000"
—> male,NULJohn,LastNameNUL
quote.value: "\""
—> male,"John,LastName"
csvOptions.quoteAll.value
"fileType.value": "csv"
. Geeft aan of alle waarden altijd tussen aanhalingstekens moeten worden geplaatst. Standaard worden alleen escape-waarden gebruikt die een aanhalingsteken bevatten.false
quoteAll
:false
—> male,John,"TestLastName"
quoteAll
:true
—> "male","John","TestLastName"
csvOptions.delimiter.value
"fileType.value": "csv"
. Hiermee stelt u een scheidingsteken in voor elk veld en elke waarde. Dit scheidingsteken kan een of meer tekens bevatten.,
delimiter
:,
—> comma-separated values"
delimiter
:\t
—> tab-separated values
csvOptions.escape.value
"fileType.value": "csv"
. Hiermee stelt u één teken in dat wordt gebruikt voor het escape-teken voor aanhalingstekens binnen een reeds geciteerde waarde.\
"escape"
:"\\"
—> male,John,"Test,\"LastName5"
"escape"
:"'"
—> male,John,"Test,'''"LastName5"
csvOptions.escapeQuotes.value
"fileType.value": "csv"
. Geeft aan of waarden met aanhalingstekens altijd tussen aanhalingstekens moeten worden geplaatst. Standaard worden alle waarden met een aanhalingsteken verwijderd.true
csvOptions.header.value
"fileType.value": "csv"
. Geeft aan of de namen van kolommen als de eerste regel in het geëxporteerde bestand moeten worden geschreven.true
csvOptions.ignoreLeadingWhiteSpace.value
"fileType.value": "csv"
. Hiermee wordt aangegeven of witruimten vóór elkaar worden bijgesneden op basis van waarden.true
ignoreLeadingWhiteSpace
:true
—> "male","John","TestLastName"
ignoreLeadingWhiteSpace
:false
—> " male","John","TestLastName"
csvOptions.ignoreTrailingWhiteSpace.value
"fileType.value": "csv"
. Geeft aan of volgwitruimten moeten worden bijgesneden op basis van waarden.true
ignoreTrailingWhiteSpace
:true
—> "male","John","TestLastName"
ignoreTrailingWhiteSpace
:false
—> "male ","John","TestLastName"
csvOptions.nullValue.value
"fileType.value": "csv"
. Stelt de tekenreeksrepresentatie in van een waarde null.""
nullvalue
:""
—> male,"",TestLastName
nullvalue
:"NULL"
—> male,NULL,TestLastName
csvOptions.dateFormat.value
"fileType.value": "csv"
. Geeft de datumnotatie aan.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"
. Stelt de tekenreeks in die een tijdstempelindeling aangeeft.yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
csvOptions.charToEscapeQuoteEscaping.value
"fileType.value": "csv"
. Stelt één teken in dat wordt gebruikt voor escape voor het aanhalingsteken.\
als de escape- en aanhalingstekens verschillend zijn. \0
wanneer het escape- en aanhalingsteken hetzelfde zijn.csvOptions.emptyValue.value
"fileType.value": "csv"
. Stelt de tekenreeksrepresentatie in van een lege waarde.""
"emptyValue":""
—> male,"",John
"emptyValue":"empty"
—> male,empty,John
maxFileRowCount
includeFileManifest
manifest-<<destinationId>>-<<dataflowRunId>>.json
.Bekijk a steekproef manifestdossier. Het manifestbestand bevat de volgende velden:
flowRunId
: De dataflow looppasdie het uitgevoerde dossier produceerde.scheduledTime
: De tijd in UTC toen het bestand werd geëxporteerd.exportResults.sinkPath
: Het pad in uw opslaglocatie waar het geëxporteerde bestand is opgeslagen.exportResults.name
: De naam van het geëxporteerde bestand.size
: De grootte van het geëxporteerde bestand, in bytes.
Volgende stappen next-steps
Na het lezen van dit artikel, zou u een beter inzicht in moeten hebben hoe het dossier formatteren in een configuratie van de bestemmingsserver werkt, en hoe u het kunt vormen.
Raadpleeg de volgende artikelen voor meer informatie over de andere componenten van de doelserver: