Amazon S3 DynamoDB Connector
Dieser Adapter speichert Daten im Amazon S3 DynamoDB Storage und ermöglicht die Verwendung der X4 BPMS, um Daten in Cloud-Umgebungen zu persistieren. Amazon S3 DynamoDB ist ein vollständig verwalteter NoSQL-Datenbankdienst, der schnelle und vorhersehbare Leistung bei nahtloser Skalierbarkeit gewährleistet.
Eigenschaften (Properties)
| Vom Adapter ausgeführte Operation Mögliche Werte:
Erforderliche Parameter:
Erforderliche Parameter:
Erforderliche Parameter:
Erforderliche Parameter:
Erforderliche Parameter:
Erforderliche Parameter: Erforderliche Dateien: Für diese Operation wird eine Input-XML-Datei benötigt, die die Elemente enthält.
Erforderliche Parameter:
Erforderliche Parameter:
Erforderliche Parameter:
Wenn
Erforderliche Parameter: Erforderliche Dateien: Für diese Operation wird eine Input-XML-Datei benötigt, die die Elemente enthält.
Erforderliche Parameter:
Erlaubte Operatoren: =, >, <, >=, <=, !=, BETWEEN, begins_with |
Parameter
| Adapter-Hauptklasse (nicht verändern!) Mögliche Werte: de.softproject.integration.adapter.amazondynamodb.AmazonDynamoDBAdapter: Hauptklasse (Standard) |
| Zugangsschlüssel-ID für Anfragen an AWS (Amazon Web Services) Die Zugangsdaten werden über Parameter an den Adapter gesendet. Dabei gibt es verschiedene Konfigurationsmöglichkeiten. Weitere Informationen finden Sie unter Zugangsdaten einrichten. Mögliche Werte: Beliebige Zeichenkette mit der Zugangsschlüssel-ID, z. B. |
| Geheimer Zugangsschlüssel für Anfragen an AWS Die Zugangsdaten werden über Parameter an den Adapter gesendet. Dabei gibt es verschiedene Konfigurationsmöglichkeiten. Weitere Informationen finden Sie unter Zugangsdaten einrichten. Mögliche Werte: Beliebige Zeichenkette mit der geheimen Zugangsschlüssel, z. B. |
| Region der Domains Mögliche Werte: Beliebige Zeichenkette mit dem Namen der Region, z. B. Buckets, die in einer bestimmten Region erstellt wurden, können nicht von einer anderen Region aus aufgerufen werden. Weitere Informationen finden Sie unter Regionen und Endpoints. |
| Tabellen-Name Mögliche Werte: Beliebige Zeichenkette mit dem Tabellen-Namen Folgende Namensregeln gelten für Tabellen-Namen:
|
| Elemente des Tabellen-Primärschlüssels Mögliche Werte:
|
| Elemente des Tabellen-Primärschlüssels Mögliche Werte:
|
| Read/Write Capacity Units Mögliche Werte:
|
| Definiert den Skalierbarkeitstyp für Mögliche Werte:
|
| Legt fest, dass die Tabelle mithilfe von Mögliche Werte:
|
| Definiert die Scaling-Parameter für Mögliche Werte: Weitere Informationen finden Sie unter AutoScaling (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.Console.html#AutoScaling.Console.ExistingTable). |
| ARN der Rolle, die autorisiert ist, AutoScaling für die Tabellenressource anzuwenden. Mögliche Werte: Weitere Informationen finden Sie unter Amazon Resource Names (ARN) (https://docs.aws.amazon.com/de_de/general/latest/gr/aws-arns-and-namespaces.html). |
| DynamoDB verwendet Eventually Consistent Reads, sofern nichts anderes angeben ist. Leseoperationen wie |
Statuswerte
| Die Adapter-Operation wurde erfolgreich ausgeführt |
| Operation
|
| Bei der Ausführung des Adapters kam es zu einem Fehler |
Input
Der Adapter erwartet eine vordefinierte XML-Struktur als Input. Die Struktur ist abhängig von der verwendeten Operation.
Operation PutItem
<?xml version="1.0" encoding="UTF-8"?>
<RootElement>
<Item>
<Attribute name="..Name of PartionKey.." type="..Type of Partition.." value="..Value of PartitionKey.."/>
<Attribute name="..Name of SortKey.." type="..Type of Sort.." value="..Value of SortKey.."/>
<Attribute name="..Attribute Name.." type="..Attribute Type.." value="..Attribute Value.."/>
</Item>
</RootElement>
Für die Operation PutItem gibt es keine Einschränkungen für Elementnamen. Die Attribute name, value und type sind jedoch erforderlich.
Operation BatchGetMultipleItems
<?xml version="1.0" encoding="UTF-8" ?>
<PrimaryKeyValues>
<PrimaryKey partitionKey="2" SortKey="Carlos" />
<PrimaryKey partitionKey="5" SortKey="Luis" />
</PrimaryKeyValues>
Primary Keys können für verschiedene Objekte spezifiziert werden. Wenn das Objekt mit einer Tabelle übereinstimmt, in der nur partitionKey definiert ist, darf nur partitionKey angegeben werden, andernfalls partitionKey und SortKey.
Operation BatchPutMultipleItems
<?xml version="1.0" encoding="UTF-8" ?>
<RootElement>
<Item>
<Attribute name="ID" type="N" value="5" />
<Attribute name="Name" type="S" value="Luis" />
<Attribute name="Phone" type="N" value="0034666777888" />
<Attribute name="Bonus" type="BOOL" value="true" />
<Attribute name="Colours" type="LIST">
<Attribute type="S" value="Red" />
<Attribute type="S" value="Green" />
<Attribute type="S" value="Blue" />
<Attribute name="Cars" type="MAP">
<Attribute5 name="Phone" type="N" value="637559681" />
<Attribute6 name="Bonus" type="BOOL" value="true" />
<Attribute7 name="Profession" type="S" value="Programmer" />
<Attribute7 name="DocumentCode" type="B" value="qwrqfgdas1223455sdfffr" />
</Attribute>
</Attribute>
<Attribute name="Cars" type="MAP">
<Attribute5 name="Phone" type="N" value="637559681" />
<Attribute6 name="Bonus" type="BOOL" value="true" />
<Attribute7 name="Profession" type="S" value="Programmer" />
<Attribute7 name="DocumentCode" type="B" value="qwrqfgdas1223455sdfffr" />
</Attribute>
</Item>
<Item>
<Attribute1 name="ID" type="N" value="5" />
<Attribute3 name="Name" type="S" value="Luis" />
<Attribute4 name="Surname" type="S" value="Delgado" />
<Attribute2 name="Address" type="S" value="Pirandello" />
<Attribute5 name="Phone" type="N" value="637559681" />
<Attribute6 name="Bonus" type="BOOL" value="true" />
<Attribute7 name="Profession" type="S" value="Programmer" />
<Attribute7 name="DocumentCode" type="B" value="qwrqfgdas1223455sdfffr" />
</Item>
</RootElement>
Sie können mehrere Items spezifizieren. In den Items können Attribute vom Typ Boolean (BOOL), String (S), Number (N), Map (MAP), List (LIST) und Binary (B) spezifiziert werden. Der Output dieser Operation ist dieselbe XML-Datei. Das kann für weitere Operationen nützlich sein.
Operation BatchDeleteMultipleItems
<?xml version="1.0" encoding="UTF-8" ?>
<RootElement>
<Item>
<Attribute1 name="ID" type="N" value="7" />
<Attribute7 name="Name" type="S" value="Luis" />
</Item>
<Item>
<Attribute1 name="ID" type="N" value="6" />
<Attribute7 name="Name" type="S" value="Luis" />
</Item>
</RootElement>
In diesem Input werden die Primärschlüssel der Elemente angegeben, die gelöscht werden sollen. Wenn der Primärschlüssel nur aus dem partitionKey besteht, wird nur der partionKey benötigt. Wenn der Primärschlüssel aus partitionKey und SortKey besteht, werden beide Schlüssel benötigt, damit das zu löschende Element eindeutig ist. Der Output dieser Operation ist auch der Input.
Operation UpdateItem
<?xml version="1.0" encoding="UTF-8"?>
<Input>
<Item>
<Attribute name="ID" type="N" value="5"
action="ADD|PUT|DELETE"></Attribute>
<Attribute name="Name" type="S" value="Luis"
action="ADD|PUT|DELETE"></Attribute>
<Attribute name="Surname" type="S" value="Delgado"
action="ADD|PUT|DELETE"></Attribute>
</Item>
</Input>
Actions für updateItem
ADD: Fügt ein neues Attribut im Element hinzu.
PUT: Aktualisiert den Wert des Attribut im angegebenen Element.
DELETE: Löscht das Attribut aus dem Element.
Operation Query
<?xml version="1.0" encoding="UTF-8" ?>
<Query>
<KeyCondition>ID=:param1</KeyCondition>
<OtherFilters>Colors[3].Profession=:param3 or DocumentCode=:param2</OtherFilters>
<QueryParameters>
<Parameter type="N" alias=":param1" value="5" />
<Parameter type="B" alias=":param2" value="cXdycWZnZGFzMTIyMzQ1NXNkZmZmcg==" />
<Parameter type="S" alias=":param3" value="Programmer" />
</QueryParameters>
</Query>
Das Elternelement Query enthält drei Elemente:
KeyCondition: enthält nur den spezifischenpartitionKeyund falls vorhandenSortKey, die folgende Bedingungen erfüllen:Der Komparator zwischen
partitionKeyundSortKeyist immer "AND".partitionKeyist erforderlich und wird immer mit "=" verwendet.Wenn
SortKeyverwendet wird, können folgende Operatoren verwendet werden: =, >, <, >=, <=, !=, BETWEEN, begins_withpartitionKeyundSortKeydürfen nicht mit für AWS DynamoDB reservierten Wörtern übereinstimmen.
OtherFilters: spezifiziert Bedingungen für die restlichen Attribute, die nicht Teil des Primärschlüssels sind. Die betroffenen Attribute dürfen nicht mit für AWS Dynamo DB reservierten Wörtern übereinstimmen.QueryParameters: spezifiziert das Mapping zwischen den verwendeten Parametern und Ihren entsprechenden Werten. Der Typ jedes Parameters muss spezifiziert werden.
Output
Je nach Operation gibt der Adapter Daten in verschiedenen XML-Strukturen aus:
Beispiel-Output für die Operation GetItem
<?xml version="1.0" encoding="UTF-8"
<Result>
<Item partitionKey="ID" partitionKeyValue="2" SortKey="Name" SortKeyValue="Carlos">
<Attribute name="Address" type="S" value="Pirandello"/>
<Attribute name="Phone" type="N" value="637559681"/>
<Attribute name="Bonus" type="BOOL" value="true"/>
<Attribute name="DocumentCode" type="B" value="qwrqfgdas1223455sdfffr"/>
<Attribute name="Surname" type="S" value="Delgado"/>
<Attribute name="Profession" type="S" value="Programmer"/>
</Item>
</Result>
Beispiel-Output für die Operation BatchGetMultipleItems
<?xml version="1.0" encoding="UTF-8" ?>
<Result>
<Item partitionKey="ID" partitionKeyValue="5" SortKey="Name" SortKeyValue="Luis">
<Attribute type="MAP" name="Cars">
<Attribute type="N" name="Phone" value="637559681" />
<Attribute type="BOOL" name="Bonus" value="true" />
<Attribute type="B" name="DocumentCode" value="qwrqfgdas1223455sdfffr" />
<Attribute type="S" name="Profession" value="Programmer" />
</Attribute>
<Attribute type="N" name="Phone" value="34666777888" />
<Attribute type="LIST" name="Colours">
<Attribute type="S" value="Red" />
<Attribute type="S" value="Green" />
<Attribute type="S" value="Blue" />
<Attribute type="MAP" name="Colours">
<Attribute type="N" name="Phone" value="637559681" />
<Attribute type="BOOL" name="Bonus" value="true" />
<Attribute type="B" name="DocumentCode" value="qwrqfgdas1223455sdfffr" />
<Attribute type="S" name="Profession" value="Programmer" />
</Attribute>
</Attribute>
<Attribute type="BOOL" name="Bonus" value="true" />
</Item>
<Item partitionKey="ID" partitionKeyValue="2" SortKey="Name" SortKeyValue="Carlos">
<Attribute type="S" name="Address" value="Pirandello" />
<Attribute type="N" name="Phone" value="637559681" />
<Attribute type="BOOL" name="Bonus" value="true" />
<Attribute type="B" name="DocumentCode" value="qwrqfgdas1223455sdfffr" />
<Attribute type="S" name="Surname" value="Delgado" />
<Attribute type="S" name="Profession" value="Programmer" />
</Item>
</Result>
Für jedes Element entsteht ein Item-Element mit Feldern für den Primärschlüssel und die dazugehörigen Werte. Innerhalb des Item-Elements findet sich eine Liste der dazugehörigen Attribute.
Beispiel-Output für die Operation ListTables
<?xml version="1.0" encoding="UTF-8" ?>
<Result>
<sampleItems />
</Result>
Es wirt ein Elternelement Result geliefert, das ein Element für jede Tabelle enthält, die im Account deklariert ist.
Beispiel-Output für die Operation Query
<?xml version="1.0" encoding="UTF-8" ?>
<Result hasMorePages="false">
<Item>
<Attribute value="{Phone=637559681, Bonus=true, DocumentCode=[B@231dee4d, Profession=Programmer}" name="Cars" />
<Attribute value="34666777888" name="Phone" />
<Attribute value="[Red, Green, Blue, {Phone=637559681, Bonus=true, DocumentCode=[B@5857d888, Profession=Programmer}]" name="Colours" />
<Attribute value="true" name="Bonus" />
<Attribute value="5" name="ID" />
<Attribute value="Luis" name="Name" />
</Item>
</Result>
Es wird ein Elternelement Result geliefert. Das Attribut hasMorePages gibt an, ob das Ergebnis noch mehr Seiten hat, die angezeigt werden sollen oder nicht. Das ist hilfreich bei umfangreichen Antworten. Für jedes Element, das die Abfragebedingungen erfüllt, wirt ein Item-Element erzeugt, das alle Attribute enthält.