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 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.

IMPORTANT
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.

Unterstützte Integrationstypen supported-integration-types

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

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.

NOTE
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.

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

TIP
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:

  • 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
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:

  • flowRunId: Die dataflow run die die exportierte Datei generiert hat.
  • scheduledTime: Die Uhrzeit in UTC, zu der die Datei exportiert wurde.
  • exportResults.sinkPath: Der Pfad in Ihrem Speicherort, unter dem die exportierte Datei abgelegt wird.
  • exportResults.name: Der Name der exportierten Datei.
  • 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:

recommendation-more-help
7f4d1967-bf93-4dba-9789-bb6b505339d6