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:
|
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) (information) Die Zugangsdaten werden über Parameter an den Adapter gesendet. Dabei gibt es verschiedene Konfigurationsmöglichkeiten, siehe Zugangsdaten einrichten.
Mögliche Werte: Beliebige Zeichenkette mit der Zugangsschlüssel-ID, z. B. |
|
|
Geheimer Zugangsschlüssel für Anfragen an AWS (information) Die Zugangsdaten werden über Parameter an den Adapter gesendet. Dabei gibt es verschiedene Konfigurationsmöglichkeiten, siehe 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. (information) Buckets, die in einer bestimmten Region erstellt wurden, können nicht von einer anderen Region aus aufgerufen werden, siehe 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:
|
|
|
ARN der Rolle, die autorisiert ist, AutoScaling für die Tabellenressource anzuwenden. Mögliche Werte:
|
|
|
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.
-
PutItem-Operation:XML<?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
PutItemgibt es keine Einschränkungen für Elementnamen. Die Attributename,valueundtypesind jedoch erforderlich.
-
BatchGetMultipleItems-Operation:XML<?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
partitionKeydefiniert ist, darf nurpartitionKeyangegeben werden, andernfallspartitionKeyundSortKey.
-
BatchPutMultipleItems-Operation:XML<?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>
Es können mehrere Items spezifiziert werden. 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.
-
BatchDeleteMultipleItems-Operation:XML<?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
partitionKeybesteht, wird nur derpartionKeybenötigt. Wenn der Primärschlüssel auspartitionKeyundSortKeybesteht, werden beide Schlüssel benötigt, damit das zu löschende Element eindeutig ist. Der Output dieser Operation ist auch der Input.
-
UpdateItem-Operation:XML<?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>
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.
-
Query-Operation:XML<?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
Queryenthält drei Elemente:-
KeyCondition: enthält nur den spezifischenpartitionKeyund falls vorhandenSortKey, die folgende Bedingungen erfüllen:-
Der Komparator zwischen
partitionKeyundSortKeyist immer "AND". -
partitionKeyist obligatorisch und wird immer mit "=" verwendet. -
Wenn
SortKeyverwendet wird, können folgende Operatoren verwendet werden: =, >, <, >=, <=, !=, BETWEEN, begins_with -
partitionKeyundSortKeydü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:
-
GetItem-OperationXML<?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>
-
BatchGetMultipleItems-Operation:XML<?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 desItem-Elements findet sich eine Liste der dazugehörigen Attribute.
-
ListTables-OperationXML<?xml version="1.0" encoding="UTF-8" ?> <Result> <sampleItems /> </Result>
Es wirt ein Elternelement
Resultgeliefert, das ein Element für jede Tabelle enthält, die im Account deklariert ist.
-
Query-OperationXML<?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
Resultgeliefert. Das AttributhasMorePagesgibt 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 einItem-Element erzeugt, das alle Attribute enthält.