X4 Produktdokumentation

Operation: Query

Mit der Operation Querydes Amazon S3 DynamoDB Connectors rufen Sie eine Teilmenge von Elementen innerhalb einer Tabelle ab. Für die verschiedenen Attribute werden Bedingungen angegeben. Weitere Informationen zur Input-Datei, die die Query aufruft finden Sie unter https://softproject-confluence-documentation.atlassian.net/wiki/spaces/X4Documentation/pages/edit-v2/547651617#Input.

Weitere Informationen zu anderen Operationen des Amazon S3 DynamoDB Connectors finden Sie unter Amazon S3 DynamoDB Connector.

Parameter

keyID

Zugangsschlüssel-ID für Anfragen an AWS (Amazon Web Services)

Hinweis:

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.  AKIAIOSFODNN7EXAMPLE

secretKey

Geheimer Zugangsschlüssel für Anfragen an AWS

Hinweis:

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.  wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

region

Region der Domains

Hinweis:

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.

Mögliche Werte:

Beliebige Zeichenkette mit dem Namen der Region, z. B.  us-east-2

tableName

✳️

Dieser Parameter ist erforderlich für diese Operation.

Tabellen-Name

Mögliche Werte:

Zeichenkette mit dem Tabellen-Namen nach folgenden Namensregeln:

  • Alle Namen müssen UTF-8-kodiert sein

  • Die Groß- und Kleinschreibung muss beachtet werden

  • Tabellennamen und Indexnamen müssen zwischen 3 und 255 Zeichen lang sein und dürfen nur folgende Zeichen enthalten:

    • a-z

    • A-Z

    • 0-9

    • _ (Unterstrich)

    • - (Bindestrich)

    • . (Punkt)

  • Attributnamen müssen zwischen 1 und 255 Zeichen lang sein.

partitionKey, partitionType und partitionKeyValue

✳️

Der Parameter partitionKey ist erforderlich für diese Operation und der Komparator ist immer "=".

Elemente des Tabellen-Primärschlüssels

Hinweis:

Wenn sortKey vorhanden ist, ist der Komparator zwischen partitionKey und sortKey "AND".

Erlaubte Operatoren: =, >, <, >=, <=, !=, BETWEEN, begins_with

Mögliche Werte:

  • PartitionKey: Name des Partitionsschlüssels

  • PartitionType: Partitionstyp

    • S: Das Attribut ist eine Zeichenkette

    • N: Das Attribut ist eine Zahl

    • B: Das Attribut ist vom Typ Binär

  • PartitionKeyValue: Wert des Elements

sortKey, sortType and sortKeyValue

Elemente des Tabellen-Primärschlüssels

Hinweis:

Wenn sortKey vorhanden ist, ist der Komparator zwischen partitionKey und sortKey "AND".

Erlaubte Operatoren: =, >, <, >=, <=, !=, BETWEEN, begins_with

Mögliche Werte:

  • SortKey: Name des Sortierschlüssels

  • SortType: Sortiertyp

    • S: Das Attribut ist eine Zeichenkette

    • N: Das Attribut ist eine Zahl

    • B: Das Attribut ist vom Typ Binär

  • SortKeyValue: Wert des Elements

consistentRead

DynamoDB verwendet Eventually Consistent Reads, sofern nichts anderes angeben ist. Leseoperationen wie GetItem und Query liefern einen ConsistentRead-Parameter. Wenn dieser Parameter auf true gesetzt ist, verwendet DynamoDB während des Betriebs Strongly Consistent Reads.

Statuswerte

1

Die Operation wurde erfolgreich ausgeführt

0

Die Operation wurde nicht vollständig ausgeführt, es ist aber kein Fehler aufgetreten.

-1

Die Operation ist aufgrund eines technischen Fehlers fehlgeschlagen.

Input

Der Adapter erwartet eine vordefinierte XML-Struktur als Input.

Das Elternelement <Query/> enthält drei Elemente:

KeyCondition

Enthält nur den spezifischen partitionKey und falls vorhanden SortKey, die folgende Bedingungen erfüllen:

  • Der Komparator zwischen partitionKey und SortKey ist immer "AND".

  • partitionKey ist erforderlich und wird immer mit "=" verwendet.

  • Wenn SortKey verwendet wird, können folgende Operatoren verwendet werden: =, >, <, >=, <=, !=, BETWEEN, begins_with

  • partitionKey und SortKey dürfen nicht mit für AWS DynamoDB reservierten Wörtern übereinstimmen. Weitere Informationen finden Sie in der entsprechenden Amazon DynamoDB-Dokumentation:

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.

Weitere Informationen finden Sie in der entsprechenden Amazon DynamoDB-Dokumentation:

QueryParameters

Spezifiziert das Mapping zwischen den verwendeten Parametern und Ihren entsprechenden Werten. Der Typ jedes Parameters muss spezifiziert werden.

<?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>

Output

Der Adapter liefert ein XML-Dokument mit einem Elternelement Result.

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, wird ein Item-Element erzeugt, das alle Attribute enthält.

<?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>