Der folgende Abschnitt beschreibt die Extraktion von Daten nach Google Cloud Storage.

Google Cloud Platform (GCP) ist eine Sammlung von Cloud-Diensten bereitgestellt von Google. Google Cloud Platform ist verfügbar unter cloud.google.com. Google Cloud Storage ist einer der Google-Dienste zur Speicherung von Daten in der Google-Infrastruktur.

Voraussetzungen #

  • Google account
  • Google Cloud Platform (GCP) Abonnement (Demoversion wird angeboten)
  • Projekt (“My First Project” ist vordefiniert)
  • Google Cloud Storage (GCS) Bucket für Datenextraktionen.

GCP-Konsole #

Die GCP-Konsole ermöglicht die Konfiguration aller Ressourcen und Dienste. Um zur Dashboard-Übersicht zu gelangen, navigieren Sie zur Google Cloud Storage Seite und klicken Sie auf [Console] oder [Go to console].

Um auf alle Einstellungen und Dienste zuzugreifen, verwenden Sie das Navigationsmenü auf der linken oberen Seite.

xu-google-cloud-req-01

OAuth 2.0 Setup #

Xtract Universal verwendet OAuth 2.0 zur Authentifizierung gegenüber den Google-Servern. Um das OAuth 2.0-Protokoll zu aktivieren, konfigurieren Sie einen OAuth-Flow mit den erforderlichen Zugriffsberechtigungen auf Xtract Universal.

Hinweis: Google stuft Anwendungen von Drittanbietern zunächst allgemein als unsicher ein und gibt eine Warnung aus. Eine offizielle App-Verifizierung ist mit laufenden Kosten verbunden.

  1. Wählen Sie APIs & Services > Credentials im Navigationsmenü aus. xu-google-cloud-req-02
  2. Im Abschnitt “Credentials” wählen Sie Create Credentials > OAuth client ID aus. xu-google-cloud-req-03
  3. Klicken Sie auf [Configure consent screen]. Der “Configure consent screen” wird mit dem OAuth-Flow verarbeitet, der beim Verbindungsaufbau im Designer gestartet wird (siehe Verbindung). xu-google-cloud-req-04
  4. Wenn Ihr Konto zu einer Organisation gehört, können Sie die Nutzung von Xtract Universal in Kombination mit GCS auf Ihre Organisation beschränken. Wählen Sie dazu “intern” in der Option “ User Type”. Diese Option ist nur verfügbar, wenn Sie ein GSuite-Benutzer sind.
    Alternativ können Sie jedem Benutzer mit Zugriff auf die OAuth-Anmeldeinformationen erlauben, Xtract Universal die Erlaubnis zu erteilen, Daten in Ihre GCS-Buckets zu schreiben. Wählen Sie dazu “extern” in der Option “ User Type”.
    Klicken Sie auf [Create], zum Fortfahren. xu-google-cloud-req-05
  5. Geben Sie im Abschnitt “App information” einen App-Namen Ihrer Wahl an.
    “Support email” und “Developer contact information” sind auch Pflichtfelder. Klicken Sie auf [Save and continue], um zur nächsten Sektion weiterzugehen.
    xu-google-cloud-req-06 xu-google-cloud-req-07
  6. Klicken Sie im folgenden Abschnitt auf [Add or remove scopes]. Xtract Universal benötigt Lese- und Schreibrechte für seine Operationen, die im Abschnitt “Scopes” konfiguriert werden. xu-google-cloud-req-08
  7. Geben Sie https://www.googleapis.com/auth/devstorage.read_write unter Manually add scopes ein und klicken Sie auf [Add to table]. xu-google-cloud-req-09 Der neu hinzugefügte Bereich (Scope) ist der erste Eintrag in der Tabelle. Klicken Sie auf [Update], um den Eintrag zu erstellen. xu-google-cloud-req-10
  8. Klicken Sie auf [Continue], wenn das Fenster mit der Meldung “Verfification required” erscheint.
    xu-google-cloud-req-11
  9. Bestätigen Sie zweimal mit [Save and continue]. Klicken Sie auf [Back to dashboard], um zu Dashboard zurückzukehren.
    xu-google-cloud-req-12 xu-google-cloud-req-13 xu-google-cloud-req-14
  10. Kehren Sie zum Menü “Credentials” zurück, klicken Sie auf [Create credentials] und wählen Sie eine “OAuth client ID”.
    Wählen Sie “Desktop app” als Applikationstyp aus, vergeben Sie einen beliebigen Namen und klicken Sie auf [Create]. xu-google-cloud-req-15
  11. Ihr OAuth-Client ist erstellt.
    Die “Client ID” und der “Client secret” sind für die Konfiguration der Destination in Xtract Universal notwendig (siehe Verbindung). xu-google-cloud-req-16

Verbindung #

Eine Destination hinzufügen #

  1. Navigieren Sie im Hauptfenster des Designers zu Server > Manage Destinations. Das Fenster “Manage Destination” wird geöffnet.
  2. Klicken Sie auf [Add], um eine neue Destination hinzufügen. Das Fenster “Destination Details” wird geöffnet.
  3. Geben Sie einen Namen für die Destination ein.
  4. Wählen Sie den Destinationstyp aus dem Dropdown-Menü aus.

Destination Details #

xu-google-cloud-req-01

GCS Settings #

Connection

Client ID
Client ID erstellt im OAuth 2.0-Setup (siehe Voraussetzungen).

Client Secret
Client Secret erstellt im OAuth 2.0-Setup.

Connect
Verarbeitet den zuvor erstellten OAuth-Flow, um eine Verbindung mit dem Speicherkonto herzustellen. Wählend Sie Ihr Google-Konto aus und gewähren Sie Xtract Universal Zugriff in allen erforderlichen Fenstern.

Hinweis: Wenn Sie die Anwendung nicht verifiziert haben, erscheint ein Fenster mit der Meldung: “This App isn’t verified” (Diese App ist nicht verifizert). Klicken Sie auf [Advanced] und [Go to Xtract Universal (unsafe)].

Nach einer erfolgreichen Verbindung erscheint die Meldung: “Authentication succeeded” (Authentifizierung erfolgreich) im Browser. In Xtract Universal wird die Meldung “Connection established” (Verbindung hergestellt” in einem separaten Fenster angezeigt.

Bucket

Der Unterabschnitt “Bucket” kann nach einer erfolgreichen Verbindung zum Google-Cloud-Storage-Konto ausgefüllt werden.

Project ID
Die Projekt-ID kann im GCP-Dashboard unter Project info nachgeschlagen werden.

xu-google-cloud-con-04

Bucket name
Klicken Sie auf [Get buckets], um verfügbare Buckets anzeigen zu lassen.

Ein Bucket kann im Navigationsmenü unter Storage > Browser erstellt werden.

xu-google-cloud-con-05

Sie können den Bucket-Namen (bucket name), den Standorttyp (location type) und die Storage-Klasse (storage class) oder die Zugriffskontrolle (access control) frei wählen.

Unter Advanced Settings (optional) können Sie die gewünschte Verschlüsselungsmethode auswählen, die auf den Bucket angewendet wird. Weitere Informationen zur Verschlüsselung finden Sie auf der offiziellen Google-Hilfeseite.
xu-google-cloud-con-06

Encryption (Verschlüsselung)

Default
Wendet die in Ihrem GCS-Bucket angegebene Verschlüsselungsmethode an.
Google verschlüsselt standardmäßig alle Daten, die auf den Google-Servern gespeichert sind. Darüber hinaus können Sie den Google Cloud Key Management Service (KMS) nutzen, um Schlüssel zu erstellen und auf Ihre Buckets anzuwenden.
Der KMS kann im Navigationsmenü der GCP-Konsole aktiviert werden unter Security > Cryptographic Keys.

Customer-supplied
Wenn Sie die Option Customer-supplied ankreuzen, müssen Sie einen gültigen AES256-Kryptoschlüssel (256 Bit lang) angeben.
Der Kryptoschlüssel wird nicht innerhalb der GCP gespeichert und es erfordert daher zusätzlichen Aufbewahrungsaufwand, um Ihre Daten später entschlüsseln zu können.

Crypto field
Tragen Sie im Feld Crypto field den kryptografischen Schlüssel ein, wenn Sie “Customer Supplied” als Verschlüsselungsmethode gewählt haben.

File Format #

Wählen Sie das gewünschte Dateiformat zwischen “CSV” ,”JSON” und “Parquet”.

Die “CSV” Einstellungen entsprechen denen der allgemeinen Flat File CSV Einstellungen.

xu-google-cloud-con-02

Retry-Funktion #

Die Retry-Funktion ist eine eingebaute Funktion von der Google Cloud Storage Destination. Die Retry-Funktion ist automatisch aktiviert.

Die Retry-Funktion verhindert, dass Extraktionen fehlschlagen, wenn kurzzeitige Verbindungsunterbrechungen zu Google Cloud auftreten. Weitere allgemeine Informationen über Strategie der Wiederholversuche in einer Google Cloud Storage-Umgebung finden Sie in der offiziellen Google Cloud-Hilfe. Xtract Universal verfolgt eine exponentielle Strategie der Wiederholversuche. Dies bedeutet, dass 8 Verbindungsversuche gestartet werden in einem Zeitraum von 140 Sekunden. Sollte in dem Zeitraum von 140 Sekunden keine Verbindung zustande kommen, wird die Extraktion abgebrochen.

Einstellungen #

Destination Settings öffnen #

  1. Eine bestehende Extraktion anlegen oder auswählen (siehe auch Erste Schritte mit Xtract Universal).
  2. Klicken Sie auf [Destinations]. Das Fenster “Destination Settings” wird geöffnet. Destination-settings

Die folgenden Einstellungen können für die Destination definiert werden.

Destination Settings - Destinationseinstellungen #

xu-google-cloud-dest-01

File Name #

bestimmt den Namen der Zieltabelle. Sie haben die folgenden Optionen:

  • Same as name of SAP object: Name des SAP-Objekts übernehmen
  • Same as name of extraction: Name der Extraktion übernehmen
  • Custom: Hier können Sie einen eigenen Namen definieren

  • Append timestamp: fügt den aktuellen Zeitstempel im Format [_YYYY_MM_DD_hh_mm_ss_fff] dem Dateinamen der Extraktion hinzu.

Hinweis: Wenn der Name eines Objekts nicht mit einem Buchstaben beginnt, wird ‘x’ als Präfix ergänzt, z.B. wird das Objekt _namespace_tabname.csv zu x_namespace_tabname.csv, wenn es auf die Destination hochgeladen wird. Damit wird die Kompatibilität zu Azure Data Factory, Hadoop und Spark sichergestellt, die mit Buchstaben beginnende Objektnamen voraussetzen oder die nicht alphabetischen Zeichen besondere Bedeutungen zuweisen.

Column Name Style #

Definiert den Spaltennamen. Folgende Optionen sind verfügbar:

column_name_style_options

  • Code: Der technische Spaltenname aus SAP wird als Spaltenname verwendet, z.B. MAKTX
  • PrefixedCode: Der technische Name der Tabelle wird mit dem Tilde-Zeichen und dem entsprechenden Spaltennamen verbunden, z. B. MAKT~MAKTX
  • CodeAndText: Der technische Name und die Beschreibung der Spalte aus SAP mit einem Unterstrich verbunden werden als Spaltennamen verwendet, z.B. MAKTX_Material Description (Short Text)
  • TextAndCode: Die Beschreibung und der technische Name der Spalte SAP mit einem Unterstrich verbunden werden als Spaltennamen verwendet, z.B. Material Description (Short Text)_MAKTX

Date conversion #

Convert date strings
Konvertiert die Zeichenabfolge des SAP-Datums (YYYYMMDD, z.B. 19900101) zu einem formatierten Datum (YYYY-MM-DD, z.B. 1990-01-01). Im Datenziel hat das SAP-Datum keinen String-Datentyp sondern einen echten Datumstyp.

Convert invalid dates to
Falls ein SAP-Datum nicht in ein gültiges Datumsformat konvertiert werden kann, wird das ungültige Datum zu dem eingegebenen Wert konvertiert. NULL wird als Wert unterstützt.

Bei der Konvertierung eines ungültigen SAP-Datums werden zuerst die beiden Sonderfälle 00000000 und 9999XXXX überprüft.

Convert 00000000 to
Konvertiert das SAP-Datum 00000000 zu dem eingegebenen Wert.

Convert 9999XXXX to
Konvertiert das SAP-Datum 9999XXXX zu dem eingegebenen Wert.

Folder name - Verzeichnisname #

Um Extraktionsdaten an einen Speicherort innerhalb eines bestimmten Ordners in einem Google Cloud Storage-Bucket zu schreiben, geben Sie einen Ordnernamen ohne Slashes ein. Unterordner werden unterstützt und können mit der folgenden Syntax definiert werden: [Verzeichnis]/[Unterverzeichnis_1]/[Unterverzeichnis_2]/…

Compression #

None
Die Daten werden unkomprimiert übertragen und als csv-Datei abgelegt.

gzip
Die Daten werden komprimiert übertragen und als gz-Datei abgelegt.

File Splitting #

No Splitting
Schreibt Extraktionsdaten einer einzelnen Extraktion in eine einzelne Datei in Google Cloud Storage.

Split
Schreibt Extraktionsdaten einer einzelnen Extraktion in mehrere Dateien in Google Cloud Storage. Jeder Dateiname wird angehängt durch _part[nnn].
Im Falle von csv-Dateien wird die Dateigröße durch den Wert bestimmt, der in Max. CSV file size steht.

Max. CSV file size
Maximale Größe einer im Google Cloud Storage-Konto gespeicherten csv-Datei.

Hinweis: Die Option Max. CSV file size gilt nicht für gzip-Dateien. Die Größe einer gezippten Datei kann nicht im Voraus bestimmt werden.