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.
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
|
targetObjectName | Fü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/BucketWRITER : Lese- und Schreibzugriff für Objekt/BucketOWNER : 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 ZugriffserlaubnisallAuthenticatedUsers : 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 |
Statuswerte
1 | Die Adapter-Operation wurde erfolgreich ausgeführt. |
-1 | Bei 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
|
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
: - 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.