Konfiguration der Dateiformatierung
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.:
- Ob die CSV-Datei einen Header enthalten soll;
- Welches Zeichen für Anführungszeichen von Werten verwendet werden soll;
- Wie leere Werte aussehen sollten.
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 in der Dokumentation zu Konfigurationsoptionen oder im Handbuch dazu, wie Sie mit der Destination SDK ein dateibasiertes Ziel konfigurieren.
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.
Unterstützte Integrationstypen supported-integration-types
Die nachstehende Tabelle beschreibt ausführlich, welche Integrationstypen die auf dieser Seite beschriebenen Funktionen unterstützen.
Unterstützte Parameter supported-parameters
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.
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.CSV-Optionen, bei denen Benutzerinnen und Benutzer keine Konfigurationsoptionen auswählen können file-configuration-templating-none
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 }}"
}
}
CSV-Optionen, in denen Benutzerinnen und Benutzer Konfigurationsoptionen auswählen können file-configuration-templating-pebble
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 }}"
}
}
}
Vollständige Referenz und Beispiele für unterstützte Dateiformatierungsoptionen file-formatting-reference-and-example
Nachstehend finden Sie eine vollständige Referenz aller verfügbaren Dateiformatierungsoptionen in Destination SDK zusammen mit Ausgabebeispielen für jede Option.
templatingStrategy
Für jede Dateiformatierungsoption, die Sie konfigurieren, müssen Sie den Parameter templatingStrategy
hinzufügen, der zwei Werte haben kann:
NONE
: Verwenden Sie diesen Wert, wenn Sie nicht zulassen möchten, dass Benutzerinnen und Benutzer zwischen verschiedenen Werten für eine Konfiguration auswählen können. Siehe diese Konfiguration für ein Beispiel, bei dem die Dateiformatierungsoptionen fest sind.PEBBLE_V1
: Verwenden Sie diesen Wert, wenn Sie Benutzerinnen und Benutzern die Auswahl zwischen verschiedenen Werten für eine Konfiguration ermöglichen möchten. In diesem Fall müssen Sie auch ein entsprechendes Kundendatenfeld in der Konfiguration des Endpunkts/destination
festlegen, damit die verschiedenen Optionen für die Benutzerinnen und Benutzer in der Benutzeroberfläche angezeigt werden. In dieser Konfiguration sehen Sie ein Beispiel, wo Benutzerinnen und Benutzer für die Optionen zur Dateiformatierung zwischen verschiedenen Werten wählen können.
compression.value
none
, bzip2
, gzip
, lz4
und snappy
.none
fileType.value
csv
, parquet
und json
.csv
csvOptions.quote.value
"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
quote.value: "u0000"
—> male,NULJohn,LastNameNUL
quote.value: "\""
—> male,"John,LastName"
csvOptions.quoteAll.value
"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
"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
"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
"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
"fileType.value": "csv"
. Gibt an, ob die Namen der Spalten als erste Zeile in die exportierte Datei geschrieben werden sollen.true
csvOptions.ignoreLeadingWhiteSpace.value
"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
"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
"fileType.value": "csv"
. Legt die Zeichenfolgendarstellung eines Nullwerts fest.""
nullvalue
:""
--> male,"",TestLastName
nullvalue
:"NULL"
--> male,NULL,TestLastName
csvOptions.dateFormat.value
"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
"fileType.value": "csv"
. Legt die Zeichenfolge für ein Zeitstempelformat fest.yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
csvOptions.charToEscapeQuoteEscaping.value
"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
"fileType.value": "csv"
. Legt die Zeichenfolgendarstellung eines leeren Werts fest.""
"emptyValue":""
--> male,"",John
"emptyValue":"empty"
--> male,empty,John
maxFileRowCount
includeFileManifest
manifest-<<destinationId>>-<<dataflowRunId>>.json
benannt.Anzeigen einer Beispielmanifestdatei. Die Manifestdatei enthält die folgenden Felder:
flowRunId
: Der Datenfluss-Lauf , der die exportierte Datei generiert hat.scheduledTime
: Die Uhrzeit in UTC, zu der die Datei exportiert wurde.exportResults.sinkPath
: Der Pfad in Ihrem Speicherort, an dem die exportierte Datei abgelegt wird.- 0: Der Name der exportierten Datei.
exportResults.name
size
: Die Größe der exportierten Datei in Byte.
Nächste Schritte next-steps
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: