Skip to main content
Skip table of contents

Google Cloud Storage Objects Connector

Google Cloud Storage Objects Connector: Ermöglicht das Speichern, Suchen, Herunterladen und das Löschen von Objekten in der Google Cloud.

Eigenschaften (Properties)

Operation

Vom Adapter ausgeführte Operation

Mögliche Werte:

  • Search: Sucht nach Informationen (Buckets oder Objekte) im Google-Cloud-Speicher
    Erforderliche Parameter: bucketName, objectName

  • Upload: Lädt Buckets oder Objekte in den Google-Cloud-Speicher hoch oder legt Buckets oder Objekte im Google-Cloud-Speicher an
    Erforderliche Parameter: bucketName, objectName, bucketRegion, storageClass, fileLocation, contentType

  • Download: Lädt ein Objekt vom Google-Cloud-Speicher herunter
    Erforderliche Parameter: bucketName, objectName

  • Delete: Löscht ein Bucket oder Objekt im Google-Cloud-Speicher
    Erforderliche Parameter: bucketName, objectName

  • CopyObject: Kopiert ein Objekt von einem Bucket zu einem anderen. Es gibt mehrere Möglichkeiten, ein Objekt zu kopieren:
    Erforderliche Parameter: bucketName, objectName

    • Objekt innerhalb eines Buckets kopieren und den Namen ändern.
      Erforderliche Parameter: targetObjectName


    • Objekt in ein anderes Bucket kopieren und den Namen ändern.
      Erforderliche Parameter: targetObjectName, targetBucketName


    • Objekt in ein anderes Bucket kopieren und den Namen beibehalten.
      Erforderliche Parameter: targetBucketName


  • MoveOrRenameBucket: Verschiebt ein komplettes Bucket oder benennt es um.
    Erforderliche Parameter: bucketName, targetBucketName, targetBucketRegion

    • Wenn der Name des Ziel-Buckets bereits existiert, dann wird eine Fehlermeldung ausgegeben.
    • Wenn eines der Objekte im Ziel-Bucket bereits existiert und die overwrite-Option gewählt ist, dann werden die vorhandenen Objekte überschrieben. Wenn die overwrite-Option nicht gewählt ist, dann wird eine Fehlermeldung ausgegeben.

    Da ein Bucket zu einer anderen geografischen Region verschoben werden kann, muss auf die Beschränkungen in Verbindung mit dem Verschieben in andere geografische Regionen geachtet werden. Weitere Informationen zu Bucket-Standorten.

  • MoveOrRenameObject: Verschiebt ein Objekt oder benennt es um.
    Erforderliche Parameter: bucketName, objectName, targetBucketName, targetObjectName

    Wenn das Objekt im Zielbucket bereits existiert und die overwrite-Option gewählt ist, dann wird das vorhandene Objekte überschrieben. Wenn die overwrite-Option nicht gewählt ist, dann wird eine Fehlermeldung ausgegeben.
  • UpdateObjectStorageClass: Ändert die zum Objekt zugeordnete storageClass. Die Eigenschaft storageClass ist eng mit der Bucket-Region verbunden. Beim Anlegen eines Buckets muss beispielsweise die Region angegeben werden.
    Erforderliche Parameter: bucketName, objectName, storageClass

    Nicht alle möglichen Werte sind für jedes Objekt/Bucket erlaubt. Es hängt von der Bucket-Spezifikation und dem Objekt selbst ab. Weitere Informationen zu Storage-Klassen.

    Ein regionales Bucket kann nur regionale Objekte speichern. In diesem Fall kann die storageClass eines Objektes nur in nearline oder coldline geändert werden.

    Ein multi-regionales Bucket kann nur multi-regionale Objekte speichern. In diesem Fall kann die storageClass eines Objektes nur in nearline oder coldline geändert werden.

    Mögliche Werte:

    • Objekt ist in einem regionalen Bucket oder einem multi-regional Bucket gespeichert: coldline, nearline
    • Objekt ist in einem nearline-Bucket gespeichert, Bucket-Region ist regional oder multi-regional: coldline, regional Wenn die Bucket-Region nicht regional oder multi-regional ist: nur coldline
    • Objekt ist in einem coldline-Bucket gespeichert, Bucket-Region ist regional oder multi-regional: nearline, regional. Wenn die Bucket-Region nicht regional oder multi-regional ist: nur nearline

    Wenn eine regionale Region spezifiziert wird, z. B. europe-west1, wird implizit festgelegt, dass die Default-storageClass regional, nearline oder coldline ist, aber nie multi-regional.

    Das selbe passiert, wenn eine Region als multiregional, z. B. us, spezifiziert wird: Es wird implizit festgelegt, dass die Default-storageClass multi-regional, nearline oder coldline ist, aber nie regional.

  • AddGrantsPermission: Fügt eine ACL-Erlaubnis zu einem Objekt oder Bucket hinzu. Wenn das Objekt oder Bucket bereits eine ACL-Erlaubnis hat, passiert nichts.

    Erforderliche Parmeter:

    • Für diesen Vorgang sind die Parameter permissionEntity, permissionRole, permissionName und falls vergeben permissionProjectRole erforderlich.
    • Erlaubnis einem Objekt hinzufügen: objectName und bucketName
    • Erlaubnis einem Bucket hinzufügen: bucketName

    Wenn eine neue Erlaubnis zu einem Bucket hinzugefügt wird, erhält das Bucket die Erlaubnis, aber nicht die enthaltenen Objekte. Das bedeutet, dass bei einem öffentlichen Bucket jeder das Bucket und die Liste der enthaltenen Objekte sehen kann, aber nicht auf die Objekte zugegriffen werden kann. Dafür wird eine zusätzliche Erlaubnis benötigt.

  • RevokeGrantsPermission: Entfernt eine ACL-Erlaubnis von einem Objekt oder Bucket. Wenn das Objekt oder Bucket keine ACL-Erlaubnis hat, passiert nichts.

    Erforderliche Parmeter:

    • Für diesen Vorgang sind die Parameter permissionEntity, permissionRole, permissionName und falls vergeben permissionProjectRole erforderlich.
    • Erlaubnis von einem Objekt entfernen: objectName und bucketName
    • Erlaubnis von einem Bucket entfernen: bucketName


Parameter

Adapter

Adapter-Hauptklasse (nicht verändern!)

Mögliche Werte de.softproject.integration.adapter.google.cloud.storage.GoogleCloudStorageObjectAdapter: Hauptklasse (Standard)

serviceAccountFile

Pfad zur JSON-Datei mit dem Service-Account-Schlüssel zur Authentifizierung gegenüber dem Google-Cloud-Speicher.

Mögliche Werte:

    • System-Pfad, z. B. C:\X4\V_5.9\Server\X4DB\1\ExampleProcess\GoogleCloud\Config\serviceAccountFile.json
    • X4db-URL, z. B.  x4db://1/ExampleProcess/GoogleCloud/Config/serviceAccountFile.json
    • Xstore-URL, z. B.  xstore://ExampleProcess/GoogleCloud/Config/serviceAccountFile.json
bucketName

Name des Buckets, in dem die Objekte organisiert sind

Mögliche Werte: Zeichenkette mit dem Namen

Bucket-Namen müssen den folgenden Namenskonventionen entsprechen:

  • Bucket-Namen dürfen nur Kleinbuchstaben, Zahlen, Bindestriche (-), Unterstriche (_) und Punkte (.) enthalten.
    (info) Namen, die Punkte enthalten, müssen überprüft werden.

  • Bucket-Namen müssen mit einer Zahl oder einem Buchstaben beginnen und enden.
  • Bucket-Namen müssen zwischen 3 und 63 Zeichen enthalten. Namen, die Punkte enthalten, können aus bis zu 222 Zeichen bestehen, jedoch darf jeder durch einen Punkt getrennte Teil nicht länger als 63 Zeichen sein.
  • Bucket-Namen können nicht aus IP-Adressen mit dem Beispiel-Format 192.168.5.4 bestehen
  • Bucket-Namen dürfen nicht mit dem Präfix goog beginnen.
  • Bucket-Namen dürfen weder google noch ähnliche Schreibweisen für Google wie beispielsweise g00gle enthalten.
targetBucketName

Optional.

Name des Ziel-Buckets.

Für Operationen, die ein Bucket kopieren/verschieben/umbenennen. Der Name unterliegt denselben Beschränkungen wie der Parameter bucketName.

bucketRegion

Region, in der die Buckets definiert sind

Mögliche Werte: Zeichenkette mit der Region

Beispiel:

  • Regionaler Standort: europe-west3 (Europa, Frankfurt)
  • Multi-regionaler Standort: eu (Rechenzentren in der Europäischen Union)
targetBucketRegion

Name der Region des Ziel-Buckets.

Für Operationen, die ein Bucket verschieben/umbenennen und für die eine Zielregion angegeben werden kann. Der Parameter unterliegt denselben Beschränkungen wie der Parameter bucketRegion.

storageClass

Speicher-Klasse des Buckets und der Objekte. Dieser Parameter ist eng verbunden mit Regionen, da ein storageClass-Wert nur einem Bucket oder einem Objekt zugeordnet werden kann, das mit dem gewählten bucketRegion-Wert verbunden ist.

Mögliche Werte: Auswahl mit folgenden Werten

  • multi_regional
  • regional
  • nearline
  • coldline
objectName

Name des Objekts. Erforderlich für die Operationen AddGrantsPermission und RevokeGrantsPermission.

Mögliche Werte: Zeichenkette mit dem Namen

Objekt-Namen müssen den folgenden Namenskonventionen entsprechen:

  • Objekt-Namen können eine beliebige Folge von gültigen Unicode-Zeichen mit einer Länge zwischen 1-1024 Bytes enthalten, wenn sie UTF-8-kodiert sind.
  • Objekt-Namen dürfen keine Zeilenumbrüche oder Zeilenumbruch-Zeichen enthalten.
  • Objekt-Namen dürfen nicht mit .well-known/acme-challenge beginnen.
  • Objekt-Namen dürfen nicht . oder .. benannt werden.

Beispiele:

  • document
  • folder/subfolder/document
  • document.txt
targetObjectNameFür Operationen, die ein Objekt kopieren/verschieben/umbenennen. Der Parameter unterliegt denselben Beschränkungen wie der Parameter objectName.
fileLocation

Pfad der Datei, die in den Google-Cloud-Speicher hochgeladen werden soll; Dieser Parameter ist nur für die Operation Upload relevant

Mögliche Werte:

  • System-Pfad, z. B. C:\X4\V_5.9\Server\X4DB\1\ExampleProcess\GoogleCloudStorageObject/Data/TextDocument.txt
  • X4db-Pfad, z. B.  x4db://1/ExampleProcess/GoogleCloudStorageObject/Data/TextDocument.txt
  • Xstore-Pfad, z. B.  xstore://ExampleProcess/GoogleCloudStorageObject/Data/TextDocument.txt
contentType

Inhalts-Typ des hochzuladenden Objekts

Mögliche Werte: Zeichenkette mit einem gültigen Mime-Typ für das hochzuladende Objekt, z. B.  text/plain , application/xml etc.

overwrite

Gibt an, ob während einer Operation die ein Objekt oder Bucket verschiebt/kopiert/umbenennt, Buckets oder Objekte mit demselben Namen überschrieben werden. Wenn diese Option nicht gewählt ist und am Zielort Objekte/Buckets mit demselben Namen existieren, enthält der Output eine Fehlermeldung.

Mögliche Werte:

  • Checked : Vorhandene Objekte/Buckets werden überschrieben.
  • Unchecked : Vorhandene Objekte/Buckets werden nicht überschrieben, der Output enthält eine Fehlermeldung.
permissionEntity

Typ der ACL-Erlaubnis, die erstellt wird.

Mögliche Werte: Auswahl mit folgenden Werten

  • Project: Spezifiziert eine Erlaubnis auf Basis einer Liste von Projektmitgliedern. Der Parameter permissionProjectRole muss ebenfalls angegeben werden, um festzulegen, aus welcher Unterliste die Mitglieder gewählt werden sollen.
  • User: Spezifiziert eine Erlaubnis auf Basis einer bestimmten E-Mail-Adresse, eine Erlaubnis für öffentlichen Zugriff oder eine Erlaubnis für alle Google-Konten.
  • Domain: Spezifiziert eine Erlaubnis auf Basis einer Internetdomäne, die mit G Suite oder Cloud Identity verbunden ist.
  • Group: Spezifiziert eine Erlaubnis auf Basis einer Gruppe von Google-Benutzern. Verwendet eine bestimmte E-Mail-Adresse, die mit einer Google-Gruppe verbunden ist.
permissionRole

Spezifiziert, ob die Erlaubnis einen Lese- oder einen Schreibzugriff gewährt.

Mögliche Werte: Auswahl mit folgenden Werten

  • READER: Lesezugriff für Objekt/Bucket
  • WRITER: Lese- und Schreibzugriff für Objekt/Bucket
  • OWNER: Verwalten des Objekts/Buckets. Enthält die Rechte von WRITER.
permissionName

Angabe eines bestimmten Wertes, der in jeder Art von Berechtigung verwendet wird.

Mögliche Werte: abhängig von der Angabe für permissionEntity

  • permissionEntity="Project":
    Projektnummer. Erzeugt eine Zugriffserlaubnis für die diesem Projekt zugeordneten OWNERS, EDITORS und VIEWERS.
  • permissionEntity="User":
    • allUsers: Erzeugt eine öffentliche Zugriffserlaubnis
    • allAuthenticatedUsers: Erzeugt eine Zugriffserlaubnis für alle Google-Konten
    • <email address>: Erzeugt eine Zugriffserlaubnis für den Benutzer, der mit dieser E-Mail-Adresse registriert ist.
  • permissionEntity="Domain":
    <USERNAME>@<YOUR_DOMAIN>.com: Erzeugt eine Zugriffserlaubnis für Inhaber einer E-Mail-Adresse, die einer bestimmten Internetdomäne zugeordnet sind.
  • permissionEntity="Group":
    E-Mail-Adresse der Google-Gruppe. Erzeugt eine Zugriffserlaubnis für alle Mitglieder dieser Google-Gruppe. Weitere Informationen zu Google-Gruppen.
permissionProjectRole

Parameter wirkt sich auf die Parameter permissionName und permissionEntity, wenn permissionEntity="Project".

Mögliche Werte: Auswahl mit folgenden Werten

  • OWNERS
  • EDITORS
  • VIEWERS

Statuswerte

1

Die Adapter-Operation wurde erfolgreich ausgeführt.

-1Bei der Ausführung des Adapters kam es zu einem Fehler.
0
  • Operation Upload: Das hochzuladende Objekt existiert bereits
  • Operation Download: Das herunterzuladende Objekt existiert nicht
  • Operation Delete: Das zu löschende Objekt oder Bucket existiert nicht

Input

Der Adapter erwartet für manche Operationen ein beliebiges Input-Dokument (Binär- oder Base64-basiertes Dokument):

  • Operation Upload : Ist der Parameter  fileLocation angegeben, wird kein I nput-Dokument vorausgesetzt. Andernfalls wird ein Input vorausgesetzt.
  • Alle anderen Operationen setzen kein Input-Dokument voraus.

Ausgabe

Je nach Operation gibt der Adapter verschiedene Ergebnisse aus: 

  • Operation Upload :
    • Wurde die Adapter-Operation erfolgreich ausgeführt (Status 1), gibt der Adapter das Input-Dokument zurück.
    • Kam es bei der Ausführung des Adapters zu einem Fehler (Status -1), gibt der Adapter ein neues Dokument mit den Fehler-Details aus.

    • Existiert das hochzuladende Objekt bereist (Status 0), entspricht die Ausgabe dem Input.

  • Operation Search:
    • Wurde die Adapter-Operation erfolgreich ausgeführt (Status 1), gibt der Adapter ein XML-Dokument mit allen Buckets und ihren Objekten aus:

      Beispiel-Ausgabe für die Operation Search

      XML
      <?xml version="1.0" encoding="UTF-8"
      <ListObjects>
          <Bucket name="first_bucket">
      		<Object contentType="text/plain">example/first_blob</Object>
      <Object contentType="text/plain">file.xml</Object>
      		<Object contentType="application/x-www-form-urlencoded;charset=UTF-8">newFolder</Object>
      		<Object contentType="text/xml">newFolder/xml1 (1).xml</Object>
      <Object contentType="text/plain">new_object</Object>
      <Object contentType="application/x-www-form-urlencoded;charset=UTF-8">otherFolder</Object
      	</Bucket>
          <Bucket name="second_bucket">
      		<Object contentType="text/plain">text/Hello</Object>
      	</Bucket>
      	<Bucket name="x4_upload_test_bucket">
      		<Object contentType="image/png">Logo.png</Object>
      		<Object contentType="application/xml">inputDocumentX4db.xml</Object>
      		<Object contentType="text/plain>testUploadProcess/Input/textFile</Object>
      <Object contentType="application/xml">testUploadProcess/Input/xmlFile.xml</Object>
      		<Object>wordDocument2</Object>
      		<Object contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document>wordDocumentFromLocationFile</Object
      	</Bucket>
      </ListObjects>
    • Kam es bei der Ausführung des Adapters zu einem Fehler (Status -1), gibt der Adapter ein neues Dokument mit den Fehler-Details aus.
  • Operation Download:
    • Wurde die Adapter-Operation erfolgreich ausgeführt (Status 1), ist die Ausgabe das heruntergeladene Objekt (Text, XML, Binär-Dokument etc.).
    • Kam es bei der Ausführung des Adapters zu einem Fehler (Status -1), gibt der Adapter ein neues Dokument mit den Fehler-Details aus.

    • Existiert der Blob oder Container nicht (Status 0), entspricht die Ausgabe dem Input.

  • Operation Delete:
    • Wurde die Adapter-Operation erfolgreich ausgeführt (Status 1), entspricht die Ausgabe dem Input.
    • Kam es bei der Ausführung des Adapters zu einem Fehler (Status -1), entspricht die Ausgabe dem Input.

    • Existieren der zu löschende Bucket oder das Objekt nicht (Status 0), entspricht die Ausgabe dem Input.

  • Operation CopyObject, MoveOrRenameBucket, MoveOrRenameObject, UpdateObjectStorageClass:
    • Bei regulärer Ausführung kein Output. Wenn die Operation nicht ausgeführt werden kann, wird eine Fehlermeldung ausgegeben.
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.