Destination SDK unterstützt einen flexiblen Funktionssatz, den Sie entsprechend Ihren Integrationsanforderungen konfigurieren können. Zu diesen Funktionen gehört die Unterstützung für CSV-Dateiformatierung.
Wenn Sie dateibasierte Ziele durch Destination SDK erstellen, können Sie definieren, wie die exportierten CSV-Dateien formatiert werden sollen. Sie können viele Formatierungsoptionen anpassen, u. a.:
Je nach Zielkonfiguration sehen Benutzerinnen und Benutzer bestimmte Optionen in der Benutzeroberfläche, wenn sie eine Verbindung zu einem dateibasierten Ziel herstellen. Wie diese Optionen aussehen, können Sie in der Dokumentation zu den Dateiformatierungsoptionen für dateibasierte Ziele nachlesen.
Dateiformatierungseinstellungen sind Teil der Ziel-Server-Konfiguration für dateibasierte Ziele.
Informationen dazu, wo diese Komponente in eine mit Destination SDK erstellte Integration passt, finden Sie im Diagramm im Konfigurationsoptionen Dokumentation oder lesen Sie das Handbuch zu Destination SDK zum Konfigurieren eines dateibasierten Ziels verwenden.
Die Dateiformatierungsoptionen können über den Endpunkt /authoring/destination-servers
konfiguriert werden. Detaillierte Beispiele für API-Aufrufe, in denen Sie die auf dieser Seite angezeigten Komponenten konfigurieren können, finden Sie auf den folgenden API-Referenzseiten.
Auf dieser Seite werden alle unterstützten Dateiformatierungseinstellungen für exportierte CSV
-Dateien beschrieben.
Bei allen von Destination SDK unterstützten Parameternamen und Werten wird nach Groß-/Kleinschreibung unterschieden. Um Fehler bei der Groß-/Kleinschreibung zu vermeiden, verwenden Sie bitte die Parameternamen und -werte genau wie in der Dokumentation dargestellt.
Die nachstehende Tabelle beschreibt ausführlich, welche Integrationstypen die auf dieser Seite beschriebenen Funktionen unterstützen.
Integrationstyp | Unterstützt Funktionen |
---|---|
Echtzeit-Integrationen (Streaming) | Nein |
Dateibasierte (Batch-)Integrationen | Ja |
Sie können verschiedene Eigenschaften der exportierten Dateien ändern, um sie an die Anforderungen des Dateiempfangssystems Ihres Ziels anzupassen, damit die von Experience Platform empfangenen Dateien optimal gelesen und interpretiert werden können.
CSV-Optionen werden nur beim Exportieren von CSV-Dateien unterstützt. Der fileConfigurations
-Abschnitt ist bei der Einrichtung eines neuen Ziel-Servers nicht erforderlich. Wenn Sie im API-Aufruf keine Werte für die CSV-Optionen übergeben, werden die Standardwerte aus der folgenden Tabelle verwendet.
Im folgenden Konfigurationsbeispiel sind alle CSV-Optionen vordefiniert. Die in den einzelnen Parametern der csvOptions
definierten Exporteinstellungen sind endgültig und können von den Benutzerinnen und Benutzern nicht geändert werden.
"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 }}"
}
}
Im folgenden Konfigurationsbeispiel ist keine der CSV-Optionen vordefiniert. Der value
in jedem csvOptions
-Parameter wird im entsprechenden Kundendatenfeld über den Endpunkt /destinations
konfiguriert (z. B. customerData.quote
für die quote
-Dateiformatierung), und Benutzerinnen und Benutzer können in der Experience Platform-Benutzeroberfläche zwischen den verschiedenen Optionen wählen, die Sie im entsprechenden Kundendatenfeld konfigurieren. Wie diese Optionen aussehen, können Sie in der Dokumentation zu den Dateiformatierungsoptionen für dateibasierte Ziele nachlesen.
{
"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 }}"
}
}
}
Die im Folgenden beschriebenen CSV-Dateiformatierungsoptionen werden ebenfalls im Abschnitt Apache Spark-Anleitung für CSV-Dateien dokumentiert. Die unten verwendeten Beschreibungen stammen aus dem Apache Spark-Handbuch.
Nachstehend finden Sie eine vollständige Referenz aller verfügbaren Dateiformatierungsoptionen in Destination SDK zusammen mit Ausgabebeispielen für jede Option.
Feld | Erforderlich/Optional | Beschreibung | Standardwert | Beispielausgabe 1 | Beispielausgabe 2 |
---|---|---|---|---|---|
templatingStrategy |
Erforderlich | Für jede Dateiformatierungsoption, die Sie konfigurieren, müssen Sie den Parameter templatingStrategy hinzufügen, der zwei Werte haben kann:
|
– | – | – |
compression.value |
Optional | Komprimierungs-Codec zum Speichern von Daten in einer Datei. Unterstützte Werte: none , bzip2 , gzip , lz4 und snappy . |
none |
– | – |
fileType.value |
Optional | Spezifiziert das Ausgabedateiformat. Unterstützte Werte: csv , parquet und json . |
csv |
– | – |
csvOptions.quote.value |
Optional | Nur für"fileType.value": "csv" . Legt ein einzelnes Zeichen fest, das zum Maskieren von angegebenen Werten verwendet wird, wobei das Trennzeichen Teil des Werts sein kann. |
null |
Beispiel für einen Standardwert: quote.value: "u0000" —> male,NULJohn,LastNameNUL |
Benutzerdefiniertes Beispiel: quote.value: "\"" —> male,"John,LastName" |
csvOptions.quoteAll.value |
Optional | Nur für"fileType.value": "csv" . Gibt an, ob alle Werte immer in Anführungszeichen gesetzt werden sollen. Mit der Standardeinstellung werden nur Werte mit Escape-Zeichen versehen, die ein Anführungszeichen haben. |
false |
quoteAll :false --> male,John,"TestLastName" |
quoteAll :true -->"male","John","TestLastName" |
csvOptions.delimiter.value |
Optional | Nur für"fileType.value": "csv" . Legt für jedes Feld und jeden Wert ein Trennzeichen fest. Dieses Trennzeichen kann aus einem oder mehreren Zeichen bestehen. |
, |
delimiter :, --> comma-separated values" |
delimiter :\t --> tab-separated values |
csvOptions.escape.value |
Optional | Nur für"fileType.value": "csv" . Legt ein einzelnes Zeichen fest, das zum Maskieren von Anführungszeichen verwendet wird, die innerhalb eines bereits mit Anführungszeichen versehenen Werts liegen. |
\ |
"escape" :"\\" --> male,John,"Test,\"LastName5" |
"escape" :"'" --> male,John,"Test,'''"LastName5" |
csvOptions.escapeQuotes.value |
Optional | Nur für"fileType.value": "csv" . Gibt an, ob Werte, die Anführungszeichen enthalten, immer in Anführungszeichen gesetzt werden sollen. Standardmäßig werden alle Werte mit Escape-Zeichen versehen, die ein Anführungszeichen enthalten. |
true |
– | – |
csvOptions.header.value |
Optional | Nur für"fileType.value": "csv" . Gibt an, ob die Namen der Spalten als erste Zeile in die exportierte Datei geschrieben werden sollen. |
true |
– | – |
csvOptions.ignoreLeadingWhiteSpace.value |
Optional | Nur für"fileType.value": "csv" . Gibt an, ob vorangestellte Leerzeichen aus Werten entfernt werden sollen. |
true |
ignoreLeadingWhiteSpace :true --> "male","John","TestLastName" |
ignoreLeadingWhiteSpace :false –> " male","John","TestLastName" |
csvOptions.ignoreTrailingWhiteSpace.value |
Optional | Nur für"fileType.value": "csv" . Gibt an, ob nachgestellte Leerzeichen aus Werten entfernt werden sollen. |
true |
ignoreTrailingWhiteSpace :true --> "male","John","TestLastName" |
ignoreTrailingWhiteSpace :false –> "male ","John","TestLastName" |
csvOptions.nullValue.value |
Optional | Nur für"fileType.value": "csv" . Legt die Zeichenfolgendarstellung eines Nullwerts fest. |
"" |
nullvalue :"" --> male,"",TestLastName |
nullvalue :"NULL" --> male,NULL,TestLastName |
csvOptions.dateFormat.value |
Optional | Nur für"fileType.value": "csv" . Gibt das Datumsformat an. |
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 |
Optional | Nur für"fileType.value": "csv" . Legt die Zeichenfolge für ein Zeitstempelformat fest. |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
– | – |
csvOptions.charToEscapeQuoteEscaping.value |
Optional | Nur für"fileType.value": "csv" . Legt ein einzelnes Zeichen fest, das zum Maskieren des Escape-Zeichens für das Anführungszeichen verwendet wird. |
\ wenn Escape- und Anführungszeichen unterschiedlich sind. \0 wenn Escape- und Anführungszeichen identisch sind. |
– | – |
csvOptions.emptyValue.value |
Optional | Nur für"fileType.value": "csv" . Legt die Zeichenfolgendarstellung eines leeren Werts fest. |
"" |
"emptyValue":"" --> male,"",John |
"emptyValue":"empty" --> male,empty,John |
maxFileRowCount |
Optional | Gibt die maximale Anzahl von Zeilen pro exportierter Datei an, zwischen 1.000.000 und 10.000.000 Zeilen. | 5.000.000 | ||
includeFileManifest |
Optional | Aktiviert die Unterstützung für das Exportieren eines Dateimanifests zusammen mit den Dateiexporten. Die JSON-Manifestdatei enthält Informationen zum Exportspeicherort, zur Exportgröße und mehr. Das Manifest wird im Format manifest-<<destinationId>>-<<dataflowRunId>>.json . |
Anzeigen von Beispielmanifestdatei. Die Manifestdatei enthält die folgenden Felder:
|
Nach dem Lesen dieses Artikels sollten Sie ein besseres Verständnis davon haben, wie die Dateiformatierung in einer Ziel-Server-Konfiguration funktioniert und wie Sie sie konfigurieren können.
Weitere Informationen zu den anderen Ziel-Server-Komponenten finden Sie in den folgenden Artikeln: