Zum Inhalt springen

Amazon Dynamo DB Verbindungsdetails

Einführung

Connector-Version

Diese Dokumentation basiert auf Version 23.0.8803 des Connectors.

Erste Schritte

Versionsunterstützung für Amazon DynamoDB

Der Connector verwendet die aktuelle Version der Amazon DynamoDB REST API, Version 10.08.2012, um Lese-/Schreibzugriff auf DynamoDB-Instanzen zu ermöglichen.

Herstellen einer Verbindung

Herstellen einer Verbindung mit DynamoDB

Geben Sie Folgendes an, um eine Verbindung zu Daten herzustellen:

  • Domain: Legen Sie dies fest, wenn Sie einen Domänennamen verwenden möchten, den Sie mit AWS verknüpft haben.
  • AWSRegion: Legen Sie hier die Region fest, in der Ihre Amazon DynamoDB-Daten gehostet werden.

Authentifizieren bei DynamoDB

AWS-Schlüssel abrufen

So erhalten Sie die Anmeldeinformationen für einen IAM-Benutzer:

  1. Melden Sie sich bei der IAM-Konsole an.
  2. Wählen Sie im Navigationsbereich Users.
  3. Um die Zugriffsschlüssel für einen Benutzer zu erstellen oder zu verwalten, wählen Sie den Benutzer aus und gehen Sie dann zu Security Credentials Tab.

So erhalten Sie die Anmeldeinformationen für Ihr AWS-Root-Konto:

  1. Melden Sie sich mit den Anmeldeinformationen für Ihr Root-Konto bei der AWS-Managementkonsole an.
  2. Wählen Sie Ihren Kontonamen oder Ihre Kontonummer.
  3. Wählen Sie im angezeigten Menü My Security Credentials.
  4. Um Root-Konto-Zugriffsschlüssel zu verwalten oder zu erstellen, klicken Sie auf Continue to Security Credentials und erweitern Sie den Abschnitt „Zugriffsschlüssel“.
Stammanmeldeinformationen

Um sich mit den Root-Anmeldeinformationen des Kontos zu authentifizieren, legen Sie diese Konfigurationsparameter fest:

  • AuthScheme: AwsRootKeys.
  • AWSAccessKey: Der mit dem AWS-Root-Konto verknüpfte Zugriffsschlüssel.
  • AWSSecretKey: Der geheime Schlüssel, der mit dem AWS-Root-Konto verknüpft ist.

Hinweis

Amazon rät von der Verwendung dieses Authentifizierungsschemas für alles andere als einfache Tests ab. Die Root-Anmeldeinformationen des Kontos verfügen über die vollständigen Berechtigungen des Benutzers, was diese Authentifizierungsmethode zur am wenigsten sicheren macht.

Temporäre Anmeldeinformationen

Um sich mit temporären Anmeldeinformationen zu authentifizieren, geben Sie Folgendes an:

  • AuthScheme: Setzen Sie dies auf TemporaryCredentials.
  • AWSAccessKey: Der Zugriffsschlüssel des IAM-Benutzers, für den die Rolle übernommen werden soll.
  • AWSSecretKey: Der geheime Schlüssel des IAM-Benutzers, für den die Rolle übernommen werden soll.
  • AWSSessionToken: Ihr AWS-Sitzungstoken. Dieses wird zusammen mit Ihren temporären Anmeldeinformationen bereitgestellt. Siehe AWS Identity and Access Management-Benutzerhandbuch für weitere Informationen.

Der Connector kann nun Ressourcen mit denselben Berechtigungen anfordern, die durch langfristige Anmeldeinformationen (z. B. IAM-Benutzeranmeldeinformationen) für die Lebensdauer der temporären Anmeldeinformationen bereitgestellt werden.

Wenn Sie zur Authentifizierung auch eine IAM- Rolle verwenden, müssen Sie zusätzlich Folgendes angeben:

  • AWSRoleARN: Geben Sie die Rollen-ARN für die Rolle an, mit der Sie sich authentifizieren möchten. Dadurch versucht der Connector, Anmeldeinformationen für die angegebene Rolle abzurufen.
  • AWSExternalId (optional): Nur erforderlich, wenn Sie eine Rolle in einem anderen AWS-Konto übernehmen.
EC2-Instanzen

Satz AuthScheme Zu AwsEC2Roles.

Wenn Sie den Connector von einer EC2-Instanz aus verwenden und der Instanz eine IAM-Rolle zugewiesen haben, können Sie die IAM-Rolle zur Authentifizierung verwenden. Da der Connector automatisch Ihre IAM-Rollenanmeldeinformationen erhält und sich mit ihnen authentifiziert, ist es nicht erforderlich, anzugeben AWSAccessKey Und AWSSecretKey.

Wenn Sie zur Authentifizierung auch eine IAM- Rolle verwenden, müssen Sie zusätzlich Folgendes angeben:

  • AWSRoleARN: Geben Sie die Rollen-ARN für die Rolle an, mit der Sie sich authentifizieren möchten. Dadurch versucht der Connector, Anmeldeinformationen für

    die angegebene Rolle.

  • AWSExternalId (optional): Nur erforderlich, wenn Sie eine Rolle in einem anderen AWS-Konto übernehmen.

IMDSv2-Unterstützung

Der Amazon DynamoDB-Connector unterstützt jetzt IMDSv2. Im Gegensatz zu IMDSv1 erfordert die neue Version ein Authentifizierungstoken. Endpoints und Antworten sind in beiden Versionen gleich.

In IMDSv2 versucht der Amazon DynamoDB-Connector zunächst, das IMDSv2-Metadatentoken abzurufen und verwendet es dann, um AWS- Endpoints aufzurufen. Wenn das Token nicht abgerufen werden kann, kehrt der Connector zu IMDSv1 zurück.

{: #section}
AWS IAM-Rollen

Satz AuthScheme Zu AwsIAMRoles.

In vielen Situationen kann es vorzuziehen sein, eine IAM- Rolle zur Authentifizierung zu verwenden, anstatt die direkten Sicherheitsanmeldeinformationen eines AWS-Root-Benutzers. Wenn Sie die AWSAccessKey Und AWSSecretKey eines AWS-Root-Benutzers dürfen Sie keine Rollen verwenden.

Um sich als AWS- Rolle zu authentifizieren, legen Sie diese Eigenschaften fest:

  • AWSAccessKey: Der Zugriffsschlüssel des IAM-Benutzers, für den die Rolle übernommen werden soll.

  • AWSSecretKey: Der geheime Schlüssel des IAM-Benutzers, für den die Rolle übernommen werden soll.

  • AWSRoleARN: Geben Sie die Rollen-ARN für die Rolle an, mit der Sie sich authentifizieren möchten. Dadurch versucht der Connector, Anmeldeinformationen für

    die angegebene Rolle.

  • AWSExternalId (optional): Nur erforderlich, wenn Sie eine Rolle in einem anderen AWS-Konto übernehmen.

ADFS

Um eine Verbindung zu ADFS herzustellen, setzen Sie AuthScheme Zu ADFS, und legen Sie diese Eigenschaften fest:

  • User: Der ADFS-Benutzer.
  • Password: Das Passwort des ADFS-Benutzers.
  • SSOLoginURL: Die Login URL des SSO-Anbieters.

Beispiel-Verbindungszeichenfolge:

AuthScheme=ADFS; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://adfs.domain.com'; AWSRoleArn=arn:aws:iam:1234:role/ADFS_SSO; AWSPrincipalArn=arn:aws:iam:1234:saml-provider/ADFSProvider; S3StagingDirectory=s3://athena/staging;
Okta

Um eine Verbindung mit Okta herzustellen, setzen Sie die AuthScheme Zu Okta, und legen Sie diese Eigenschaften fest:

  • User: Der Okta Benutzer.
  • Password: Das Passwort des Okta Benutzers.
  • SSOLoginURL: Die Login URL des SSO-Anbieters.

Wenn Sie eine vertrauenswürdige Anwendung oder einen Proxy verwenden, der die Okta Clientanforderung überschreibt, ODER MFA konfigurieren, müssen Sie Kombinationen aus verwenden SSOProperties zur Authentifizierung mit Okta. Legen Sie je nach Bedarf die folgenden Optionen fest:

  • APIToken: Wenn Sie einen Benutzer über eine vertrauenswürdige Anwendung oder einen Proxy authentifizieren, der den Anforderungskontext des Okta Clients überschreibt, legen Sie dies auf das API Token fest, das der Kunde aus der Okta-Organisation erstellt hat.

  • MFAType: Wenn Sie den MFA-Flow konfiguriert haben, legen Sie ihn auf einen der folgenden unterstützten Typen fest: OktaVerify, Email, oder SMS.

  • MFAPassCode: Wenn Sie den MFA-Flow konfiguriert haben, legen Sie hier einen gültigen Passcode fest.

    Wenn Sie dies auf leer oder einen ungültigen Wert setzen, sendet der Connector eine Einmalkennwort-Abfrage an Ihr Gerät oder Email. Nachdem der Passcode empfangen wurde, öffnen Sie die Verbindung erneut, wobei der abgerufene Einmalkennwortwert auf die Verbindungseigenschaft MFAPassCode gesetzt wird.

  • MFARememberDevice: True standardmäßig. Okta unterstützt das Speichern von Geräten, wenn MFA erforderlich ist. Wenn das Speichern von Geräten gemäß den konfigurierten Authentifizierungsrichtlinien zulässig ist, sendet der Connector ein Gerätetoken, um die Lebensdauer der MFA-Authentifizierung zu verlängern. Wenn Sie nicht möchten, dass MFA gespeichert wird, setzen Sie diese Variable auf False.

Beispiel-Verbindungszeichenfolge:

AuthScheme=Okta; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://cdata-us.okta.com/home/amazon_aws/0oa35m8arsAL5f5NrE6NdA356/272'; SSOProperties='ApiToken=01230GGG2ceAnm_tPAf4MhiMELXZ0L0N1pAYrO1VR-hGQSf;'; AWSRoleArn=arn:aws:iam:1234:role/Okta_SSO; AWSPrincipalARN=arn:aws:iam:1234:saml-provider/OktaProvider; S3StagingDirectory=s3://athena/staging;

Um eine Verbindung zu PingFederate herzustellen, setzen Sie AuthScheme Zu PingFederate, und legen Sie diese Eigenschaften fest:

  • User: Der PingFederate-Benutzer.
  • Password: Das Passwort des PingFederate-Benutzers.
  • SSOLoginURL: Die Login URL des SSO-Anbieters.
  • AWSRoleARN (optional): Wenn Sie mehrere Rolle-ARNs haben, geben Sie die an, die Sie für die Autorisierung verwenden möchten.
  • AWSPrincipalARN (optional): Wenn Sie mehrere Haupt-ARNs haben, geben Sie die an, die Sie für die Autorisierung verwenden möchten.
  • SSOExchangeUrl: Der Partner Service Identifier URI konfiguriert in Ihrer PingFederate-Serverinstanz unter: SP Connections > SP Connection > WS-Trust > Protocol Settings. Dies sollte eine PingFederate SP-Verbindung eindeutig identifizieren, daher ist es eine gute Idee, es auf Ihre einzustellen AWS SSO ACS URL. Sie finden es unter AWS SSO > Settings > View Details neben dem Authentication Feld.
  • SSOProperties (optional): Authscheme=Basic wenn Sie Ihren Benutzernamen und Ihr Passwort als Header in Anfragen an Amazon S3 einschließen möchten.

So aktivieren Sie die gegenseitige SSL-Authentifizierung für SSOLoginURL, der WS-Trust STS- Endpoint, konfigurieren Sie diese SSOProperties:

  • SSLClientCert
  • SSLClientCertType
  • SSLClientCertSubject
  • SSLClientCertPassword

Beispiel-Verbindungszeichenfolge:

authScheme=pingfederate;SSOLoginURL=https://mycustomserver.com:9033/idp/sts.wst;SSOExchangeUrl=https://us-east-1.signin.aws.amazon.com/platform/saml/acs/764ef411-xxxxxx;user=admin;password=PassValue;AWSPrincipalARN=arn:aws:iam:215338515180:saml-provider/pingFederate;AWSRoleArn=arn:aws:iam:215338515180:role/SSOTest2;
MFA

Geben Sie für Benutzer und Rollen, die eine Multi-Faktor-Authentifizierung erfordern, zur Authentifizierung Folgendes an:

  • AuthScheme: Setzen Sie dies auf AwsMFA.
  • CredentialsLocation: Der Speicherort der Einstellungsdatei, in der die MFA-Anmeldeinformationen gespeichert sind. Weitere Informationen finden Sie auf der Seite „Speicherort der Anmeldeinformationsdatei“ unter „Verbindungszeichenfolgenoptionen“.
  • MFASerialNumber: Die Seriennummer des MFA-Geräts, falls eines verwendet wird.
  • MFAToken: Das temporäre Token, das von Ihrem MFA-Gerät verfügbar ist.

Wenn Sie eine Verbindung zu AWS herstellen (anstatt bereits verbunden zu sein, z. B. mit einer EC2-Instanz), müssen Sie zusätzlich Folgendes angeben:

  • AWSAccessKey: Der Zugriffsschlüssel des IAM-Benutzers, für den MFA ausgestellt wird.
  • AWSSecretKey: Der geheime Schlüssel des IAM-Benutzers, dem MFA ausgestellt wird.

Wenn Sie zur Authentifizierung auch eine IAM- Rolle verwenden, müssen Sie zusätzlich Folgendes angeben:

  • AWSRoleARN: Geben Sie die Rollen-ARN für die Rolle an, mit der Sie sich authentifizieren möchten. Dadurch versucht der Connector, mithilfe von MFA Anmeldeinformationen für die angegebene Rolle abzurufen.
  • AWSExternalId (optional): Nur erforderlich, wenn Sie eine Rolle in einem anderen AWS-Konto übernehmen.

Dies bewirkt, dass der Connector die MFA-Anmeldeinformationen in einer Anforderung zum Abrufen temporärer Authentifizierungsanmeldeinformationen übermittelt.

Beachten Sie, dass Sie die Dauer der temporären Anmeldeinformationen steuern können, indem Sie den TemporaryTokenDuration Eigenschaft (Standard 3600 Sekunden).

Anmeldeinformationsdateien

Sie können zur Authentifizierung eine Datei mit Anmeldeinformationen verwenden. Alle Konfigurationen im Zusammenhang mit AccessKey/SecretKey-Authentifizierung, temporären Anmeldeinformationen, Rolle oder MFA können verwendet werden. Legen Sie dazu die folgenden Eigenschaften zur Authentifizierung fest:

  • AuthScheme: Setzen Sie dies auf AwsCredentialsFile.
  • AWSCredentialsFile: Legen Sie hier den Speicherort Ihrer Anmeldeinformationsdatei fest.
  • AWSCredentialsFileProfile (optional): Legen Sie hier optional den Namen des Profils fest, das Sie aus der angegebenen Anmeldeinformationsdatei verwenden möchten. Wenn nicht angegeben, wird das Profil mit dem Namen default verwendet.

Siehe AWS Command Line Interface User Guide für weitere Informationen.

AWS Cognito-Anmeldeinformationen

Wenn Sie den Connector mit einem Benutzer verwenden möchten, der in einem Benutzerpool in AWS Cognito registriert ist, legen Sie zur Authentifizierung die folgenden Eigenschaften fest:

  • AuthScheme: Setzen Sie dies auf AwsCognitoSrp (empfohlen). Sie können auch AwsCognitoBasic verwenden.
  • AWSCognitoRegion: Stellen Sie dies auf die Region des Benutzerpools ein.
  • AWSUserPoolId: Setzen Sie dies auf die Benutzerpool-ID.
  • AWSUserPoolClientAppId: Setzen Sie dies auf die Client-App-ID des Benutzerpools.
  • AWSUserPoolClientAppSecret: Setzen Sie dies auf das Client-Geheimnis des Benutzerpools.
  • AWSIdentityPoolId: Setzen Sie dies auf die Identitätspool-ID des Identitätspools, der mit dem Benutzerpool verknüpft ist.
  • User: Setzen Sie dies auf den Benutzernamen des im Benutzerpool registrierten Benutzers.
  • Password: Setzen Sie dies auf das Passwort des im Benutzerpool registrierten Benutzers.

Optimieren des Datenzugriffs

Ableiten des Datentyps

Mit den folgenden Eigenschaften können Sie die automatische Datentyperkennung konfigurieren, die standardmäßig aktiviert ist.

  • TypeDetectionScheme: Mit dieser Eigenschaft können Sie die automatische Typerkennung basierend auf dem in angegebenen Wert aktivieren oder deaktivieren RowScanDepth.
  • RowScanDepth: Diese Eigenschaft bestimmt die Anzahl der Zeilen, die gescannt werden, um die Spaltendatentypen zu bestimmen.
  • IgnoreTypes: Die Datentypen, die ignoriert und in varchar-Datentypen aufgelöst werden sollen. Standardmäßig werden die Typen „Date“, „Time“ und „Datetime“ ignoriert. Dies liegt daran, dass Amazon DynamoDB sie nicht als Typen unterstützt. Das Filtern dieser Spalten kann nur als ihr ursprünglicher varchar-Datentyp erfolgen.

Optimieren des Datenzugriffs

Mithilfe der folgenden Eigenschaften können Sie eine größere Kontrolle über die Amazon DynamoDB API Funktionen und die Strategien erlangen, die der Connector zu deren Anzeige verwendet:

  • GenerateSchemaFiles: Mit dieser Eigenschaft können Sie Tabellenmetadaten in statischen Schema speichern, die sich leicht anpassen lassen, um beispielsweise Spaltendatentypen zu ändern. Sie können diese Eigenschaft auf „OnStart“ setzen, um bei der Verbindung Schema für alle Tabellen in Ihrer Datenbank zu generieren. Oder Sie können Schemas generieren, während Sie SELECT-Abfragen an Tabellen ausführen. Die resultierenden Schemas basieren auf den Verbindungseigenschaften, die Sie zum Konfigurieren der Automatischen Schemaerkennung verwenden.

  • UseSimpleNames: Amazon DynamoDB unterstützt Attributnamen mit Sonderzeichen, die von vielen datenbankorientierten Tools nicht unterstützt werden.

    Darüber hinaus können Amazon DynamoDB-Tabellennamen Punkte und Bindestriche enthalten - der Connector interpretiert Punkte in Tabellennamen als Hierarchietrennzeichen, die es Ihnen ermöglichen, ähnlich wie XPath zu verschachtelten Feldern zu gelangen.

    Sie können diese Eigenschaft verwenden, um alle nicht alphanumerischen Zeichen durch einen Unterstrich zu ersetzen.

  • SeparatorCharacter: Sie können diese Eigenschaft verwenden, um beim Abfragen von Dokumenten und Listen einfacher auf verschachtelte Felder zuzugreifen; geben Sie mit dieser Eigenschaft das Hierarchietrennzeichen an. Standardmäßig ist dieses Zeichen das Zeichen '.' (Punkt).

Leistung

Festlegen eines Wiederholungsintervalls

Sie können die folgenden Eigenschaften festlegen, um Abfragen zu wiederholen, anstatt einen temporären Fehler wie „maximaler Durchsatz überschritten“ zurückzugeben:

  • RetryWaitTime: Die Mindestanzahl an Millisekunden, die der Connector wartet, bevor er eine Anfrage erneut versucht.
  • MaximumRequestRetries: Die maximale Anzahl von Wiederholungsversuchen einer Anfrage.

Der Jitterbit Connector für Amazon DynamoDB verfügt außerdem über zwei separate APIs, die je nach Abfrage verwendet werden können: PartiQL und Scan. Welche API verwendet wird, hängt von der ausgeführten Abfrage ab.

PartiQL

PartiQL wird bei jeder INSERT/Update/Delete-Abfrage sowie bei jeder Auswahl verwendet, die einen Filter enthält. Dies liegt daran, dass die PartiQL- API erweiterte Filterfunktionen enthält als der ältere Scan-Endpoint. Im Allgemeinen kann erwartet werden, dass Abfragen, bei denen ein erheblicher Teil des Ergebnisses herausgefiltert wird, schneller ausgeführt werden als Abfrage mit sehr wenig Filterung.

Paging effektiv nutzen

Sie können verwenden Pagesize Eigenschaft zur Optimierung der Nutzung Ihres bereitgestellten Durchsatzes, basierend auf der Größe Ihrer Elemente und der Seitengröße von 1 MB von Amazon DynamoDB. Legen Sie diese Eigenschaft auf die Anzahl der zurückzugebenden Elemente fest.

Im Allgemeinen verringert eine kleinere Seitengröße Durchsatzspitzen, die zu einer drosselung führen. Eine kleinere Seitengröße fügt außerdem Pausen zwischen den Anfragen ein. Dieses Intervall gleicht die Verteilung der Anfragen aus und ermöglicht durch Vermeidung einer drosselung, dass mehr Anfragen erfolgreich sind.

Scans

Ein Scan wird während einer SELECT Abfrage ausgeführt, die keinen Filter enthält. In diesem Fall müssen alle Ergebnisse abgerufen werden, sodass die Verwendung der PartiQL API keinen Vorteil bietet. Beim Ausführen eines Scans werden alle Ergebnisse abgerufen, aber die API enthält eine Schlüsselfunktion, die ihr eine bessere Leistung als eine ungefilterte PartiQL- Abfrage bietet: mehrere Threads. Die ThreadCount Die Verbindungseigenschaft kann so eingestellt werden, dass sie beeinflusst, wie viele Threads bei der Ausführung einer Scan-Anforderung verwendet werden. Die Verwendung von mehr Threads führt dazu, dass mehr Speicher belegt wird, führt jedoch zu schnelleren Ergebnissen pro Thread. Der Standardwert ist 4. Dies funktioniert am besten bei Tabellen, bei denen ein hoher oder variabler Durchsatz bereitgestellt wird.

In Fällen, in denen der maximale Durchsatz für eine Tabelle in einem einzelnen Thread überschritten würde, ist die Verwendung eines Scans gegenüber der einfädigen PartiQL- API nicht von Vorteil. Amazon DynamoDB drosselt einfach alle Threads, bis der maximale Durchsatz nicht mehr überschritten wird.

Mindestanforderungen für IAM

Wir empfehlen, vordefinierte Rollen für Dienste zu verwenden, anstatt benutzerdefinierte IAM-Richtlinien zu erstellen. Vordefinierte Rollen für Amazon DynamoDB sind

  • AmazonDynamoDBReadOnlyAccess - gewährt schreibgeschützten Zugriff auf DynamoDB-Ressourcen über die AWS Management Console.
  • AmazonDynamoDBFullAccess - gewährt vollen Zugriff auf DynamoDB-Ressourcen über die AWS Management Console.

Wenn Sie benutzerdefinierte Richtlinien erstellen möchten, verwenden Sie die in der folgenden Tabelle beschriebenen Rollen. Beachten Sie, dass die vom Amazon DynamoDB- Treiber benötigten spezifischen Richtlinien in zukünftigen Versionen geändert werden können. Amazon DynamoDB erfordert mindestens die folgenden Berechtigungen:

IAM-Rolle Beschreibung
dynamodb:ListTables Erforderlich, um eine Liste Ihrer DynamoDB-Tabellen abzurufen. Wird beim Abrufen von Metadaten verwendet, um die Liste Ihrer Tabellen dynamisch zu bestimmen. Beachten Sie, dass diese Aktion keine Berechtigungen auf Ressourcenebene unterstützt und Sie Alle Ressourcen auswählen müssen (daher das * für „Ressource“).
Mit anderen Worten, die Aktion dynamodb:ListTables benötigt eine *-Ressource, und den anderen Aktionen kann die Berechtigung für alle Tabellen arn:aws:dynamodb:us-east-1:987654321098:table/* oder für eine Liste bestimmter Tabellen erteilt werden:
"Ressource": [
„arn:aws:dynamodb:us-east-1:987654321098:table/Customers“,
„arn:aws:dynamodb:us-east-1:987654321098:table/Orders“
]
dynamodb:Tabelle beschreiben Erforderlich, um Metadaten zur ausgewählten Tabelle abzurufen. Wird beim Abrufen von Tabellenmetadaten verwendet, um die Liste der Spalten dynamisch zu bestimmen. Diese Aktion unterstützt Berechtigungen auf Ressourcenebene, sodass Sie die Tabellen angeben können, aus denen Sie die Metadaten abrufen möchten. Beispiel: für die Tabelle „Kunden und Bestellungen“ in der Region Nord-Virginia, us-east-1, für das Konto 987654321098:
 {
„Effekt“: „Erlauben“,
"Aktion": [
„dynamodb:DescribeTable“
],
"Ressource": [
„arn:aws:dynamodb:us-east-1:987654321098:table/Customers“,
„arn:aws:dynamodb:us-east-1:987654321098:table/Orders“
]
}

Um allen Tabellen in der Region, die Sie in der Verbindungseigenschaft AWSRegion angegeben haben, Berechtigungen zu erteilen, verwenden Sie ein * anstelle des Tabellennamens:
"Ressource": "arn:aws:dynamodb:us-east-1:987654321098:table/*"
dynamodb:Scan Erforderlich, um ein oder mehrere Elemente abzurufen, indem auf jedes Element in der Tabelle zugegriffen wird. Wird für die meisten SELECT-Abfragen verwendet, z. B. SELECT * FROM [Customers]. Diese Aktion unterstützt Berechtigungen auf Ressourcenebene, sodass Sie die Tabellen angeben können, aus denen Sie Daten abrufen möchten, ähnlich wie bei dynamodb:DescribeTable.
dynamodb:PartiQLSelect Erforderlich, um bestimmte Elemente aus einer Tabelle abzurufen, wenn SELECT-Abfragen verwendet und nach der Primärschlüsselspalte gefiltert wird, z. B. SELECT * FROM [Customers] WHERE id=1234. Diese Aktion unterstützt Berechtigungen auf Ressourcenebene, sodass Sie die Tabellen angeben können, aus denen Sie Daten abrufen möchten, ähnlich wie bei dynamodb:DescribeTable.
dynamodb:PartiQLInsert Erforderlich zum Einfügen von Daten in eine Tabelle. Diese Aktion unterstützt Berechtigungen auf Ressourcenebene, sodass Sie die Tabellen angeben können, in die Sie Daten einfügen möchten, ähnlich wie bei dynamodb:DescribeTable.
dynamodb:PartiQLUpdate Erforderlich zum Ändern von Daten in einer Tabelle. Diese Aktion unterstützt Berechtigungen auf Ressourcenebene, sodass Sie die Tabellen angeben können, deren Daten Sie ändern möchten, ähnlich wie bei dynamodb:DescribeTable.
dynamodb:PartiQLDelete Erforderlich zum Löschen von Daten aus einer Tabelle. Diese Aktion unterstützt Berechtigungen auf Ressourcenebene, sodass Sie die Tabellen angeben können, deren Daten Sie löschen möchten, ähnlich wie bei dynamodb:DescribeTable.
dynamodb:CreateTable Erforderlich zum Erstellen einer Tabelle. Diese Aktion unterstützt Berechtigungen auf Ressourcenebene, sodass Sie die Tabellennamen angeben können, die Sie erstellen können.

Wichtige Hinweise

Konfigurationsdateien und ihre Pfade

  • Alle Verweise auf das Hinzufügen von Konfigurationsdateien und deren Pfaden beziehen sich auf Dateien und Speicherorte auf dem Jitterbit-Agenten, auf dem der Connector installiert ist. Diese Pfade sind je nach Agent und Operationssystem entsprechend anzupassen. Wenn mehrere Agenten in einer Agentengruppe verwendet werden, werden auf jedem Agenten identische Dateien benötigt.

NoSQL-Datenbank

Amazon DynamoDB ist eine schemalose Datenbank, die hohe Leistung, Verfügbarkeit und Skalierbarkeit bietet. Diese Funktionen sind nicht unbedingt inkompatibel mit einer standardkonformen Abfrage wie SQL-92. In diesem Abschnitt zeigen wir verschiedene Schemata, die der Connector bietet, um die Lücke zwischen relationalem SQL und einer Dokumentdatenbank zu schließen.

Der Connector modelliert die schemalosen Amazon DynamoDB-Tabellen in relationale Tabellen und übersetzt SQL-Abfragen in Amazon DynamoDB-Abfragen, um die angeforderten Daten abzurufen. Der Connector bietet zwei Möglichkeiten: Automatische Schemaerkennung und Benutzerdefinierte Schemadefinitionen, um Amazon DynamoDB-Tabellen als relationale Tabellen zu modellieren.

Die Automatische Schemaerkennung-Schema findet automatisch die Datentypen in einer Amazon DynamoDB-Tabelle, indem es eine konfigurierte Anzahl von Zeilen der Tabelle scannt. Sie können verwenden RowScanDepth, FlattenArrays, Und FlattenObjects zur Steuerung der relationalen Darstellung der Tabellen in Amazon DynamoDB.

Optional können Sie Benutzerdefinierte Schemadefinitionen verwenden, um die von Ihnen gewählte relationale Struktur auf eine Amazon DynamoDB-Tabelle zu projizieren. Auf diese Weise können Sie die von Ihnen gewählten Spaltennamen, deren Datentypen und den Speicherort ihrer Werte in der Amazon DynamoDB-Tabelle definieren.

Automatische Schemaerkennung

Der Connector leitet automatisch ein relationales Schema ab, indem er eine Reihe von Amazon DynamoDB-Dokumenten in einer Sammlung überprüft. Sie können die RowScanDepth Eigenschaft, um die Anzahl der Dokumente zu definieren, die der Connector zu diesem Zweck scannt. Die während des Erkennungsprozesses identifizierten Spalten hängen von der ab FlattenArrays Und FlattenObjects Eigenschaften.

Objekte abflachen

Wenn FlattenObjects gesetzt ist, werden alle verschachtelten Objekte in eine Reihe von Spalten zusammengefasst. Betrachten Sie beispielsweise das folgende Dokument:

{
  id: 12,
  name: "Lohia Manufacturers Inc.",
  address: {street: "Main Street", city: "Chapel Hill", state: "NC"},
  offices: ["Chapel Hill", "London", "New York"],
  annual_revenue: 35,600,000
}

Dieses Dokument wird durch die folgenden Spalten dargestellt:

Spaltenname Datentyp Beispielwert
id Ganzzahl 12
Name Zeichenfolge Lohia Manufacturers Inc.
Adresse.Straße String Hauptstraße
Adresse.Stadt Zeichenfolge Chapel Hill
Adresse.Status Zeichenfolge NC
Büros String ["Chapel Hill", "London", "New York"]
Jahresumsatz Doppelt 35.600.000

Wenn FlattenObjects nicht gesetzt ist, werden die Spalten address.street, address.city und address.state nicht aufgeteilt. Die Adressspalte vom Typ string stellt stattdessen das gesamte Objekt dar. Ihr Wert wäre {street: "Main Street", city: "Chapel Hill", state: "NC"}. Siehe JSON-Funktionen für weitere Details zum Arbeiten mit JSON-Aggregaten. Sie können das Trennzeichen im Spaltennamen von einem Punkt ändern, indem Sie SeparatorCharacter.

Arrays abflachen

Der FlattenArrays-Eigenschaft kann verwendet werden, um Array-Werte in eigene Spalten zu reduzieren. Dies wird nur für Arrays empfohlen, die voraussichtlich kurz sind, beispielsweise die folgenden Koordinaten:

"coord": [-73.856077, 40.848447 ]

Die FlattenArrays Eigenschaft kann auf 2 gesetzt werden, um das obige Array wie folgt darzustellen:

Spaltenname Datentyp Beispielwert
Koordinate.0 Float -73.856077
Koordinate 1 Float 40,848447

Andere unbegrenzte Arrays lassen Sie am besten so, wie sie sind, und teilen die Daten bei Bedarf mithilfe von JSON-Funktionen aus.

Vertikale Abflachung

Es ist möglich, ein Array von Objekten abzurufen, als wäre es eine separate Tabelle. Nehmen Sie zum Beispiel die folgende JSON-Struktur aus der Tabelle „Restaurants“:

{
  "restaurantid" : "30075445",
  "address" : {
    "building" : "1007",
    "coord" : [-73.856077, 40.848447],
    "street" : "Morris Park Ave",
    "zipcode" : "10462"
  },
  "borough" : "Bronx",
  "cuisine" : "Bakery",
  "grades" : [{
      "date" : 1393804800000,
      "grade" : "B",
      "score" : 2
    }, {
      "date" : 1378857600000,
      "grade" : "A",
      "score" : 6
    }, {
      "date" : 1358985600000,
      "grade" : "A",
      "score" : 10
    }],
  "name" : "Morris Park Bake Shop"
}

Durch vertikales Abflachen können Sie das Noten-Array als separate Tabelle abrufen, indem Sie die folgende Syntax verwenden:

SELECT * FROM [restaurants.grades]

Diese Abfrage gibt den folgenden Datensatz zurück:

Datum Note Punktzahl _index
1393804800000 B 2 1
1378857600000 A 6 2
1358985600000 A 10 3

Das Noten-Array könnte auch einige Ebenen tiefer verschachtelt werden. In diesem Fall sollte die gleiche Syntax verwendet werden:

SELECT * FROM [restaurants.cuisine.bakery.grades]

Es gibt auch Fälle, in denen die verschachtelte Struktur ein weiteres Array auf einer höheren Ebene enthält. Nehmen Sie als Beispiel das folgende JSON:

{
  "restaurantid" : "30075445",
  "reviews": [
   {
    "grades": [
     {
      "date": 1393804800000,
      "score": 2,
      "grade": "B"
     },
     {
      "date": 1378857600000,
      "score": 6,
      "grade": "A"
     },
     {
      "date": 1358985600000,
      "score": 10,
      "grade": "A"
     }]
    }],
  "name" : "Morris Park Bake Shop"
}

Für diese Struktur muss der Index des Arrays „reviews“ in eckige Klammern eingeschlossen werden. Wenn sie bereits als Escape-Zeichen in der SQL- Abfrage verwendet werden, müssen die eckigen Klammern selbst maskiert werden, wie in der folgenden Abfrage gezeigt:

SELECT * FROM [restaurants.reviews.\[0\].grades]

Diese Abfrage gibt denselben Datensatz zurück wie die JSON-Struktur oben. Beachten Sie, dass diese Syntax zwischen Groß- und Kleinschreibung unterscheidet. Achten Sie daher darauf, die Feldnamen so zu schreiben, wie sie in DynamoDB gespeichert sind.

JSON-Funktionen

Der Connector kann JSON-Strukturen als Spaltenwerte zurückgeben. Der Connector ermöglicht Ihnen die Verwendung von Standard-SQL-Funktionen zum Arbeiten mit diesen JSON-Strukturen. Die Beispiele in diesem Abschnitt verwenden das folgende Array:

[
     { "grade": "A", "score": 2 },
     { "grade": "A", "score": 6 },
     { "grade": "A", "score": 10 },
     { "grade": "A", "score": 9 },
     { "grade": "B", "score": 14 }
]

JSON_EXTRACT

Die Funktion JSON_EXTRACT kann einzelne Werte aus einem JSON-Objekt extrahieren. Die folgende Abfrage gibt die unten gezeigten Werte basierend auf dem JSON-Pfad zurück, der als zweites Argument an die Funktion übergeben wird:

SELECT Name, JSON_EXTRACT(grades,'[0].grade') AS Grade, JSON_EXTRACT(grades,'[0].score') AS Score FROM Students;
Spaltenname Beispielwert
Grade EIN
Score 2

JSON_ANZAHL

Die Funktion JSON_COUNT gibt die Anzahl der Elemente in einem JSON-Array innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt die Anzahl der Elemente zurück, die durch den JSON-Pfad angegeben werden, der als zweites Argument an die Funktion übergeben wird:

SELECT Name, JSON_COUNT(grades,'[x]') AS NumberOfGrades FROM Students;
Spaltenname Beispielwert
NumberOfGrades 5

JSON_SUM

Die Funktion JSON_SUM gibt die Summe der numerischen Werte eines JSON-Arrays innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt die Summe der Werte zurück, die durch den JSON-Pfad angegeben werden, der als zweites Argument an die Funktion übergeben wird:

SELECT Name, JSON_SUM(score,'[x].score') AS TotalScore FROM Students;
Spaltenname Beispielwert
TotalScore 41

JSON_MIN

Die Funktion JSON_MIN gibt den niedrigsten numerischen Wert eines JSON-Arrays innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt den Mindestwert zurück, der durch den JSON-Pfad angegeben wird, der als zweites Argument an die Funktion übergeben wird:

SELECT Name, JSON_MIN(score,'[x].score') AS LowestScore FROM Students;
Spaltenname Beispielwert
LowestScore 2

JSON_MAX

Die Funktion JSON_MAX gibt den höchsten numerischen Wert eines JSON-Arrays innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt den Maximalwert zurück, der durch den JSON-Pfad angegeben wird, der als zweites Argument an die Funktion übergeben wird:

SELECT Name, JSON_MAX(score,'[x].score') AS HighestScore FROM Students;
Spaltenname Beispielwert
HighestScore 14

DOKUMENTIEREN

Mit der Funktion DOCUMENT kann das gesamte Dokument als JSON-Zeichenfolge abgerufen werden. Sehen Sie sich als Beispiel die folgende Abfrage und ihr Ergebnis an:

SELECT DOCUMENT(*) FROM Customers;

Die obige Abfrage gibt das gesamte Dokument wie gezeigt zurück.

{ "id": 12, "name": "Lohia Manufacturers Inc.", "address": { "street": "Main Street", "city": "Chapel Hill", "state": "NC"}, "offices":`[ "Chapel Hill", "London", "New York" ], `"annual_revenue": 35,600,000 }

DynamoDB-Abfragen

Da Amazon DynamoDB eine NoSQL-Datenquelle ist, müssen Abfragen etwas anders behandelt werden als bei herkömmlichen relationalen Datenbanken.

Wertsensitive Abfragen

Das Fehlen eines erforderlichen Datentyps für eine bestimmte Spalte bedeutet, dass Sie in einer einzigen Spalte verschiedene Datentypen speichern können. Eine Zeile könnte beispielsweise einen String namens „EmailAddresses“ enthalten und eine andere einen StringSet, der ebenfalls „EmailAddresses“ heißt. Für diese und andere Fälle bestimmt der Connector weitgehend anhand der Werte in der Abfrage, welcher Datentyp verwendet werden soll.

Angenommen, Sie haben eine Artikeltabelle, in der die Teilenummer entweder einen String oder eine Zahl enthalten könnte. Um ein Teil mit der Teilenummer mit dem Zahlenwert 12345 abzurufen, würden Sie die folgende Abfrage ausführen:

SELECT Name, Location, Quantity, PartNumber FROM Items WHERE PartNumber = 12345

Alternativ hätte die Teilenummer auch als Zeichenfolge „12345“ gespeichert werden können. Um ein Teil mit der Teilenummer der Zeichenfolge 12345 zu erhalten, führen Sie die folgende Abfrage aus:

SELECT Name, Location, Quantity, PartNumber FROM Items WHERE PartNumber = '12345'

Wenn der Datentyp des angegebenen Werts eindeutig ist, wird er immer vor dem automatisch erkannten Datentyp verwendet. In beiden Fällen wird, wenn ein Parameter anstelle eines fest codierten Werts verwendet wird, der Datentyp des Parameters verwendet, um zu bestimmen, welcher Typ an Amazon DynamoDB übermittelt werden soll.

Erkannter Spaltendatentyp

Wenn ein Wert allein aufgrund des erkannten Datentyps nicht offensichtlich ist, vergleicht der Connector ihn mit der automatisch erkannten Spalte. Wenn Sie beispielsweise eine Spalte mit dem Namen „Koordinaten“ in die Standorttabelle einfügen möchten, würde Ihr INSERT folgendermaßen aussehen:

INSERT INTO Locations (Address, Coordinates) VALUES ('123 Fake Street', '[40.7127, 74.0059]')

Basierend auf dem Eingabewert allein ist der erkannte Datentyp eine Zeichenfolge. Da jedoch zuvor eine Koordinatenspalte automatisch erkannt wurde, fügt der Connector ein NumberSet und keine einfache Zeichenfolge ein.

Wenn beim Scannen der Standorttabelle eine Koordinatenspalte nicht automatisch erkannt wurde, wird der Datentyp des eingefügten Werts verwendet.

In diesem Fall könnten wir immer noch feststellen, dass das INSERT ein NumberSet ist, aber dies würde etwas mehr Aufwand verursachen.

Zählen

Amazon DynamoDB unterstützt zwei verschiedene Methoden zur Verwendung der COUNT-Aggregatfunktion. Um einfach die Anzahl der Elemente in Ihrer Tabelle zurückzugeben, führen Sie die folgende Abfrage aus:

SELECT COUNT(*) FROM MyTable

Der Jitterbit Connector für Amazon DynamoDB liest die ItemCount aus der DescribeTable-Aktion. Dadurch wird vermieden, dass zu viele Leseeinheiten zum Scannen der gesamten Tabelle verwendet werden. DynamoDB aktualisiert diesen Wert jedoch etwa alle sechs Stunden und aktuelle Änderungen werden möglicherweise nicht in diesem Wert berücksichtigt.

Wenn Sie die folgenden Beispielabfragen ausführen, wird stattdessen die gesamte Tabelle nach der Anzahl gescannt:

SELECT COUNT(*) FROM MyTable WHERE MyInt > 10
SELECT COUNT(MyInt) FROM MyTable

Abfragen von Dokumenten und Listen

Amazon DynamoDB-Dokumente und-Listen werden mit dem Jitterbit Connector für Amazon DynamoDB unterstützt. Sie können auf Dokumente und Listen direkt auf der Stammebene zugreifen oder das Zeichen '.' als Hierarchietrennzeichen verwenden, um zu Dokumenten und Listen zu gelangen.

Werte in Dokumenten und Listen melden

Wenn Datentypen automatisch erkannt werden, werden sie bis zur niedrigsten Ebene gemeldet, die zuverlässig erkannt werden kann. Beispielsweise würde ein Dokument namens „Kunde“ mit einem untergeordneten Dokument namens „Adresse“ und einem untergeordneten Dokument namens „Straße“ in der Spalte „Kunde.Adresse.Straße“ dargestellt.

Dieser Vorgang gilt jedoch nicht für Listen, da eine Liste eine beliebige Anzahl von Einträgen enthalten kann. Sobald eine Liste oder ein Set erkannt wird, werden zusätzliche Werte nicht als im Schema verfügbar gemeldet.

Nicht gemeldete Werte zurückerhalten

Wenn es Attribute gibt, die häufig keinen Wert haben und daher nicht automatisch erkannt werden, können diese dennoch abgerufen werden, indem der richtige Pfad zu ihnen angegeben wird. So erhalten Sie beispielsweise das Attribut „Spezielles“ aus dem Kundendokument:

SELECT [Customer.Address.Street],`[Kunden.Special] `FROM MyTable

Sobald eine Liste erkannt wurde, werden keine zusätzlichen Werte gemeldet. Einzelne Werte in der Liste können jedoch durch Angabe von '.' und einer Zahl referenziert werden. Beispiel:

SELECT`[MeineListe.0], `[MyList.1.Email],` [MeineListe.1.Alter] `FROM MyTable

Dadurch werden der erste Wert in der Liste und die Email und Altersattribute des zweiten Werts abgerufen.

Einfügen von Dokumenten und Listen

INSERTs in Amazon DynamoDB erfordern die Angabe des vollständigen Objekts. Fügen Sie ein Dokument oder eine Liste an der Wurzel ein. Übergeben Sie das vollständige JSON-Aggregat. Beispiel:

INSERT INTO MyTable (PrimaryKey, EmailAddresses, Address, MyList) VALUES ('uniquekey', '["user@email.com", "user2@email2.com"]', '{"Street":"123 Fake Street", "City":"Chapel Hill", "Zip":"27713"}', '[{"S":"somestr"},{"NS":[1,2]},{"N":4}]')

In diesem Fall wird die E-Mail-Adresse als StringSet, die Adresse als Dokument und MeineListe als Liste eingefügt.

Dokumente und Listen aktualisieren

Aktualisierungen werden mit derselben Syntax unterstützt, die bei Auswahlen verfügbar ist. Dokumente und Listen können mit dem Zeichen '.' angegeben werden, um die Hierarchie anzugeben. Beispiel:

UPDATE MyTable SET [EmailAddress.0]='user@email.com', [EmailAddress.1]='user2@email2.com', [Address.Street]='123 Fake Street', [Address.City]='Chapel Hill', [Address.Zip]='27713', [MyList.0]='somestr', [MyList.1]='[1,2]', [MyList.2]=4 WHERE PrimaryKey='uniquekey'

Beachten Sie, dass EmailAddress und MyList automatisch erkannt werden müssen, um zu klären, wie EmailAddress anders als MyList behandelt werden soll. Wenn Sie sich nicht sicher sind, ob etwas automatisch erkannt wird oder nicht, funktioniert es immer, wenn Sie das vollständige JSON zum Aktualisieren angeben.

Datentypzuordnung

Datentypzuordnungen

Der Connector ordnet Typen aus der Datenquelle dem entsprechenden im Schema verfügbaren Datentyp zu. Zusätzlich werden wir versuchen, die verfügbaren Daten zu scannen, die basierend auf zurückgegeben werden IgnoreTypes Verbindungseigenschaft. Die folgende Tabelle dokumentiert diese Zuordnungen.

Amazon DynamoDB Schema
String Zeichenfolge, Datum, Datum/Uhrzeit, Uhrzeit
Binary Zeichenfolge
Number bigint, int, float (abhängig von den erkannten Daten)
StringSet Zeichenfolge
NumberSet Zeichenfolge
BinarySet Zeichenfolge
Map Zeichenfolge
List Zeichenfolge
Boolean
Null Zeichenfolge

Beachten Sie, dass abhängig von den Einstellungen von IgnoreTypes, einige dieser Typen werden möglicherweise nicht standardmäßig erkannt. Datum, Datum und Uhrzeit werden beispielsweise standardmäßig ignoriert, da sie nicht serverseitig gefiltert werden können und, falls aktiviert, in einem anderen Format als Ihre vorhandenen Einträge eingefügt/aktualisiert werden können. Bitte seien Sie vorsichtig, wenn Sie sie aktivieren.

FlattenArrays Und FlattenObjects kann auch verwendet werden, um StringSets, NumberSets,

BinarySets, Maps und Listen in einzelne Spalten zu reduzieren.

Benutzerdefinierte Schemadefinitionen

Zusätzlich zur Automatischen Schemaerkennung Der Connector ermöglicht Ihnen auch, das Schema für Ihre Amazon DynamoDB-Tabelle statisch zu definieren. Betrachten wir ein Schema für den Restaurantdatensatz.

Nachfolgend sehen Sie ein Beispielelement aus der Tabelle:

{
   "address":{
      "building":"461",
      "coord":[
         -74.138492,
         40.631136
      ],
      "street":"Port Richmond Ave",
      "zipcode":"10302"
   },
   "borough":"Staten Island",
   "cuisine":"Other",
   "grades":[

   ],
   "name":"Indian Oven",
   "restaurant_id":"50018994"
}

Definieren eines benutzerdefinierten Schemas

Sie können ein benutzerdefiniertes Schema definieren, um verschachtelte Eigenschaften als eigene Spalten zu extrahieren. Legen Sie die Location-Eigenschaft für das Dateiverzeichnis, das die Schema enthalten wird.

Das folgende Schema verwendet die Eigenschaft other:path, um zu definieren, woher die Daten für eine bestimmte Spalte abgerufen werden sollen. Mit diesem Modell können Sie beliebige Hierarchieebenen abflachen.

Das Attribut „other:tableapiname“ gibt die zu analysierende Tabelle an. Dieses Attribut gibt Ihnen die Flexibilität, mehrere Schemata für dieselbe Tabelle zu verwenden.

In Beispiel für benutzerdefiniertes Schema finden Sie das vollständige Schema, das das obige Beispiel enthält.

<api:info title="StaticRestaurants" other:catalog="" other:schema="AmazonDynamoDB" description="StaticRestaurants" other:tableapiname="StaticRestaurants"  other:version="20">
  <attr   name="id"      xs:type="decimal"   key="true"   columnsize="17"     precision="38"   scale="6"   readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="restaurant_id"   other:filterable="true"   other:fullpath="restaurant_id"      other:apiname="&amp;quot;restaurant_id&amp;quot;"                          />
  <attr   name="borough"            xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="borough"         other:filterable="true"   other:fullpath="borough"            other:apiname="&amp;quot;borough&amp;quot;"                                />
  <attr   name="address_zipcode"    xs:type="int"                    columnsize="4"      precision="10"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="zipcode"         other:filterable="true"   other:fullpath="address.zipcode"    other:apiname="&amp;quot;address&amp;quot;.&amp;quot;zipcode&amp;quot;"    />
  <attr   name="address_coord_0"    xs:type="double"                 columnsize="8"      precision="15"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="coord"           other:filterable="true"   other:fullpath="address.coord[0]"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;coord&amp;quot;[0]"   />
  <attr   name="address_coord_1"    xs:type="double"                 columnsize="8"      precision="15"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="coord[1]"        other:filterable="true"   other:fullpath="address.coord[1]"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;coord&amp;quot;[1]"   />
  <attr   name="address_building"   xs:type="int"                    columnsize="4"      precision="10"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="building"        other:filterable="true"   other:fullpath="address.building"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;building&amp;quot;"   />
  <attr   name="address_street"     xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="street"          other:filterable="true"   other:fullpath="address.street"     other:apiname="&amp;quot;address&amp;quot;.&amp;quot;street&amp;quot;"     />
  <attr   name="name"               xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="name"            other:filterable="true"   other:fullpath="name"               other:apiname="&amp;quot;name&amp;quot;"                                   />
  <attr   name="cuisine"            xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="cuisine"         other:filterable="true"   other:fullpath="cuisine"            other:apiname="&amp;quot;cuisine&amp;quot;"                                />
</api:info>

Beispiel für ein benutzerdefiniertes Schema

Dieser Abschnitt enthält ein vollständiges Schema. Der Abschnitt „info“ ermöglicht eine relationale Ansicht einer Amazon DynamoDB-Tabelle. Weitere Einzelheiten finden Sie unter Benutzerdefinierte Schemadefinitionen. Die folgende Tabelle erlaubt die Befehle SELECT, INSERT, UPDATE und DELETE, wie sie in den Abschnitten GET, POST, MERGE und DELETE des folgenden Schema implementiert sind. Setzen Sie die Location-Eigenschaft für das Dateiverzeichnis, das die Schema enthalten wird.

Verwenden Sie das Attribut „other:tableapiname“, um den Namen der Amazon DynamoDB-Tabelle anzugeben, die Sie analysieren möchten. Sie können das Attribut „other:tableapiname“ verwenden, um mehrere Schemata für dieselbe Tabelle zu definieren. Hinweis: Amazon DynamoDB unterscheidet zwischen Groß- und Kleinschreibung. Ihr Tabellenname und die angegebenen Pfade müssen der Groß- und Kleinschreibung Ihrer Felder in Amazon DynamoDB entsprechen.

Die Operationen, wie beispielsweise dynamodbadoProviderOperationCaller, sind interne Implementierungen und können auch unverändert kopiert werden.

<api:script xmlns:api="http://apiscript.com/ns?v1" xmlns:xs="http://www.cdata.com/ns/rsbscript/2" xmlns:other="http://apiscript.com/ns?v1">
  <api:info title="StaticRestaurants" other:catalog="" other:schema="AmazonDynamoDB" description="StaticRestaurants" other:tableapiname="StaticRestaurants"  other:version="20">
    <attr   name="id"      xs:type="decimal"   key="true"   columnsize="17"     precision="38"   scale="6"   readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="restaurant_id"   other:filterable="true"   other:fullpath="restaurant_id"      other:apiname="&amp;quot;restaurant_id&amp;quot;"                          />
    <attr   name="borough"            xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="borough"         other:filterable="true"   other:fullpath="borough"            other:apiname="&amp;quot;borough&amp;quot;"                                />
    <attr   name="address_zipcode"    xs:type="int"                    columnsize="4"      precision="10"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="zipcode"         other:filterable="true"   other:fullpath="address.zipcode"    other:apiname="&amp;quot;address&amp;quot;.&amp;quot;zipcode&amp;quot;"    />
    <attr   name="address_coord_0"    xs:type="double"                 columnsize="8"      precision="15"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="coord"           other:filterable="true"   other:fullpath="address.coord[0]"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;coord&amp;quot;[0]"   />
    <attr   name="address_coord_1"    xs:type="double"                 columnsize="8"      precision="15"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="coord[1]"        other:filterable="true"   other:fullpath="address.coord[1]"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;coord&amp;quot;[1]"   />
    <attr   name="address_building"   xs:type="int"                    columnsize="4"      precision="10"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="building"        other:filterable="true"   other:fullpath="address.building"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;building&amp;quot;"   />
    <attr   name="address_street"     xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="street"          other:filterable="true"   other:fullpath="address.street"     other:apiname="&amp;quot;address&amp;quot;.&amp;quot;street&amp;quot;"     />
    <attr   name="name"               xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="name"            other:filterable="true"   other:fullpath="name"               other:apiname="&amp;quot;name&amp;quot;"                                   />
    <attr   name="cuisine"            xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="cuisine"         other:filterable="true"   other:fullpath="cuisine"            other:apiname="&amp;quot;cuisine&amp;quot;"                                />
  </api:info>


  <api:script method="GET">
    <api:call op="dynamodbadoProviderOperationCaller">
      <api:push/>
    </api:call>
  </api:script>

  <api:script method="POST">
    <api:call op="dynamodbadoProviderOperationCaller">
      <api:push/>
    </api:call>
  </api:script>

  <api:script method="MERGE">
    <api:call op="dynamodbadoProviderOperationCaller">
      <api:push/>
    </api:call>
  </api:script>

  <api:script method="DELETE">
    <api:call op="dynamodbadoProviderOperationCaller">
      <api:push/>
    </api:call>
  </api:script>
</api:script>

Erweiterte Funktionen

In diesem Abschnitt wird eine Auswahl erweiterter Funktionen des Amazon DynamoDB-Connectors beschrieben.

Automatische Indexerkennung

Die AutoDetectIndex Die-Eigenschaft bietet schnellen Zugriff auf Elemente in einer Tabelle, indem sie einen alternativen Index erkennt, der anstelle der Tabelle selbst abgefragt werden kann. Dieser sekundäre Index ist eine Datenstruktur, die eine Teilmenge von Attributen aus einer Tabelle und einen alternativen Schlüssel enthält. Der Vorteil der Abfrage eines Indexes anstelle der Haupttabelle besteht darin, dass ein vollständiger Scan der Haupttabelle übersprungen wird. Dadurch wird der Operation viel schneller.

Benutzerdefinierte Ansichten

Der Connector ermöglicht Ihnen die Definition virtueller Tabellen, sogenannter benutzerdefinierter Ansichten, deren Inhalt durch eine vorkonfigurierte Abfrage bestimmt wird. Diese Ansichten sind nützlich, wenn Sie die an die Treiber gesendeten Abfragen nicht direkt steuern können. Siehe Benutzerdefinierte Ansichten für einen Überblick über das Erstellen und Konfigurieren benutzerdefinierter Ansichten.

SSL-Konfiguration

Verwenden Sie SSL-Konfiguration, um anzupassen, wie der Connector TLS/SSL-Zertifikatsverhandlungen handhabt. Sie können aus verschiedenen Zertifikatsformaten wählen; siehe SSLServerCert-Eigenschaft unter „Verbindungszeichenfolgenoptionen“ für weitere Informationen.

Proxy

So konfigurieren Sie den Connector mit privaten Agent-Proxy-Einstellungen, wählen Sie die Use Proxy Settings Kontrollkästchen auf dem Verbindungskonfigurationsbildschirm.

Abfrageverarbeitung

Der Connector verlagert die Verarbeitung der SELECT-Anweisung so weit wie möglich auf Amazon DynamoDB und verarbeitet dann den Rest der Abfrage im Speicher (clientseitig).

Benutzerdefinierte Ansichten

Mit dem Jitterbit Connector für Amazon DynamoDB können Sie eine virtuelle Tabelle definieren, deren Inhalt durch eine vorkonfigurierte Abfrage bestimmt wird. Diese werden als benutzerdefinierte Ansichten bezeichnet und sind in Situationen nützlich, in denen Sie die an den Treiber gesendete Abfrage nicht direkt steuern können, z. B. wenn Sie den Treiber von Jitterbit verwenden. Die benutzerdefinierten Ansichten können verwendet werden, um Prädikate zu definieren, die immer angewendet werden. Wenn Sie in der Abfrage an die Ansicht zusätzliche Prädikate angeben, werden diese mit der bereits als Teil der Ansicht definierten Abfrage kombiniert.

Es gibt zwei Möglichkeiten, benutzerdefinierte Ansichten zu erstellen:

  • Erstellen Sie eine Konfigurationsdatei im JSON-Format, die die gewünschten Ansichten definiert.
  • DDL-Anweisungen.

Definieren von Ansichten mithilfe einer Konfigurationsdatei

Benutzerdefinierte Ansichten werden in einer JSON-formatierten Konfigurationsdatei namens UserDefinedViews.json. Der Connector erkennt die in dieser Datei angegebenen Ansichten automatisch.

Sie können auch mehrere Ansichtsdefinitionen haben und diese mit steuern UserDefinedViews Verbindungseigenschaft. Wenn Sie diese Eigenschaft verwenden, werden vom Connector nur die angegebenen Ansichten angezeigt.

Diese Konfigurationsdatei für benutzerdefinierte Ansichten ist wie folgt formatiert:

  • Jedes Stammelement definiert den Namen einer Ansicht.
  • Jedes Stammelement enthält ein untergeordnetes Element namens query, das die benutzerdefinierte SQL- Abfrage für die Ansicht enthält.

Zum Beispiel:

{
    "MyView": {
        "query": "SELECT * FROM Account WHERE MyColumn = 'value'"
    },
    "MyView2": {
        "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
    }
}

Verwenden Sie die UserDefinedViews Verbindungseigenschaft, um den Speicherort Ihrer JSON-Konfigurationsdatei anzugeben. Beispiel:

"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"

Definieren von Ansichten mit DDL-Anweisungen

Der Connector kann das Schema auch über DDL-Anweisungen wie CREATE LOCAL VIEW, ALTER LOCAL VIEW und DROP LOCAL VIEW erstellen und ändern.

Erstellen einer Ansicht

Um eine neue Ansicht mit DDL-Anweisungen zu erstellen, geben Sie den Ansichtsnamen und die Abfrage wie folgt an:

CREATE LOCAL VIEW`[MeinAnsichtsname] `AS SELECT * FROM Customers LIMIT 20;

Wenn keine JSON-Datei vorhanden ist, erstellt der obige Code eine. Die Ansicht wird dann in der JSON-Konfigurationsdatei erstellt und ist nun erkennbar. Der Speicherort der JSON-Datei wird durch angegeben UserDefinedViews Verbindungseigenschaft.

Ändern einer Ansicht

Um eine vorhandene Ansicht zu ändern, geben Sie den Namen der vorhandenen Ansicht zusammen mit der neuen Abfrage an, die Sie stattdessen verwenden möchten:

ALTER LOCAL VIEW`[MeinAnsichtsname] `AS SELECT * FROM Customers WHERE TimeModified > '3/1/2020';

Die Ansicht wird dann in der JSON-Konfigurationsdatei aktualisiert.

Löschen einer Ansicht

Um eine vorhandene Ansicht zu löschen, geben Sie den Namen eines vorhandenen Schema neben der neuen Abfrage an, die Sie stattdessen verwenden möchten.

DROP LOCAL VIEW [MyViewName]

Dadurch wird die Ansicht aus der JSON-Konfigurationsdatei entfernt. Sie kann nicht mehr abgefragt werden.

Schema für benutzerdefinierte Ansichten

Benutzerdefinierte Ansichten werden im angezeigt UserViews Schema standardmäßig. Dies geschieht, um zu vermeiden, dass der Name der Ansicht mit einer tatsächlichen Entität im Datenmodell kollidiert. Sie können den Namen des für UserViews verwendeten Schema ändern, indem Sie festlegen UserViewsSchemaName Eigentum.

Arbeiten mit benutzerdefinierten Ansichten

Beispielsweise eine SQL-Anweisung mit einer benutzerdefinierten Ansicht namens UserViews.RCustomers listet nur Kunden in Raleigh auf:

SELECT * FROM Customers WHERE City = 'Raleigh';

Ein Beispiel für eine Abfrage an den Treiber:

SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';

Daraus ergibt sich die effektive Abfrage an die Quelle:

SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';

Dies ist ein sehr einfaches Beispiel für eine Abfrage an eine benutzerdefinierte Ansicht, die tatsächlich eine Kombination aus der Abfrage und der Ansichtsdefinition ist. Es ist möglich, diese Abfragen in viel komplexeren Mustern zusammenzustellen. Alle SQL-Operationen sind in beiden Abfragen zulässig und werden bei Bedarf kombiniert.

SSL-Konfiguration

Anpassen der SSL-Konfiguration

Standardmäßig versucht der Connector, SSL/TLS auszuhandeln, indem er das Zertifikat des Servers mit dem vertrauenswürdigen Zertifikatspeicher des Systems vergleicht.

Um ein anderes Zertifikat anzugeben, siehe SSLServerCert Eigenschaft für die verfügbaren Formate, um dies zu tun.

Datenmodell

Der Connector ermöglicht Ihnen den Zugriff auf Daten in Amazon DynamoDB über eine standardmäßige datenbankähnliche Schnittstelle. Amazon DynamoDB ist eine hoch skalierbare NoSQL-Cloud-Datenbank, die sich stark von einer normalen Datenbank unterscheidet. In diesem Abschnitt beschreiben wir, wie wir schemalose Amazon DynamoDB-Tabellen als normale Tabellen modellieren und Gespeicherte Prozeduren.

Der Connector kann Schemata zum Zeitpunkt der Verbindung dynamisch erkennen. Siehe Automatische Schemaerkennung für weitere Informationen zum impliziten Definieren von Schemas zum Zeitpunkt der Verbindung. Diese Methode ist nützlich, wenn die Struktur Ihrer Daten volatil ist.

Sie können Schemas auch in statischen Schema beibehalten. Die Schema des Connectors haben ein einfaches Format. Siehe Benutzerdefinierte Schemadefinitionen für weitere Informationen zum Definieren und Erweitern statischer Schemata.

Tabellen

Die Tabellenliste wird dynamisch aus Ihrem Amazon DynamoDB-Konto abgerufen. Sie können die gespeicherte Prozedur verwenden, um eine neue Tabelle zu erstellen, oder Sie können eine Tabelle mithilfe der Amazon Web Services Admin Console erstellen.

Da DynamoDB-Tabellen basierend auf ihrem Schlüssel partitioniert werden, sollten Sie bei der Auswahl eines geeigneten Schlüssels basierend auf den Abfrage Ihrer Tabelle sorgfältig vorgehen. Weitere Informationen zur Verwendung bewährter Methoden zum Modellieren von Daten in DynamoDB-Tabellen finden Sie in der Dokumentation zu DynamoDB. DynamoDB unterstützt zwei Arten von Primärschlüsseln:

  • Hash-Primärschlüssel: Dies ist ein einspaltiger Schlüssel.
  • Hash- und Bereichsprimärschlüssel: Dies ist ein zweispaltiger Schlüssel, der eine Hash-Spalte und eine Bereichsspalte enthält.

Der Connector modelliert alle Schlüsselattribute in DynamoDB als Schlüsselspalten.

Tabellenspalten

Da Amazon DynamoDB-Tabellen schemalos sind, bietet der Connector die folgenden zwei Mechanismen zum Aufdecken des Schema.

Dynamische Schemas

Die Spalten einer Tabelle werden dynamisch bestimmt, indem die Daten in den ersten Zeilen gescannt werden. Sie können die Anzahl der verwendeten Zeilen anpassen, indem Sie ändern RowScanDepth Eigenschaft. Neben dem Namen der Spalte wird durch den Zeilenscan auch der Datentyp ermittelt. Die folgende Tabelle zeigt, wie die verschiedenen von Amazon DynamoDB unterstützten Datentypen im Connector modelliert werden.

Amazon DynamoDB-Typ Modellierter Typ Kodierung Beispielwert
Boolean Boolean Nicht erforderlich Wahr
Zeichenfolge Zeichenfolge Nicht erforderlich USA
Blob Zeichenfolge Nicht erforderlich
Zahl Doppelt Nicht erforderlich 24,0
Zeichenfolgenarray Zeichenfolge JSON-Array ["USA", "Kanada", "UK"]
Zahlen-Array Zeichenfolge JSON-Array [20, 200,5, 500]
Blob-Array JSON-Array JSON-Array ["ABCD", "EFGH"]
Dokument JSON-Objekt JSON-Objekt {"Adresse":"123 Fake Street", "Stadt":"Chapel Hill", "PLZ":"27516"}
Liste JSON-Array JSON-Array [{"S":"mystring"}, {"NS":[1, 2]}, {"N":4}]

Statische Schemas

Anstatt dynamisch ermittelte Schemata zu verwenden, können Sie Ihre eigenen Schemata definieren. Dadurch haben Sie mehr Kontrolle über die projizierten Spalten und können auch andere Datentypen wie Boolean, Datetime usw. verwenden. Weitere Informationen finden Sie unter CreateSchema Gespeicherte Prozedur, um Ihr eigenes Schema zu erstellen. Sie können einfach den Dateinamen (vollständigen Pfad) und den Tabellennamen der neuen Schema angeben, der mit dem Namen der Amazon DynamoDB-Tabelle übereinstimmen sollte, und die Spaltenliste bearbeiten, um sie für Ihre eigene Tabelle zu verwenden.

Schemalose Operationen

Obwohl das Schema der Tabelle zum Melden von Metadaten erforderlich ist, können Daten aus Spalten ausgewählt, eingefügt, aktualisiert oder gelöscht werden, die im Schema nicht vorhanden sind. Die Datentypen von Spalten, die noch nicht im Schema vorhanden sind, werden dynamisch basierend auf den angegebenen Daten bestimmt. Siehe DynamoDB-Abfragen für weitere Informationen.

Gespeicherte Prozeduren

Gespeicherte Prozeduren sind funktionsähnliche Schnittstellen, die die Funktionalität des Connectors über einfache SELECT/INSERT/UPDATE/DELETE-Operationen mit Amazon DynamoDB hinaus erweitern.

Gespeicherte Prozeduren akzeptieren eine Liste von Parametern, führen ihre beabsichtigte Funktion aus und geben dann alle relevanten Antwortdaten von Amazon DynamoDB zurück, zusammen mit einer Angabe, ob die Prozedur erfolgreich war oder fehlgeschlagen ist.

Jitterbit-Connector für gespeicherte Prozeduren in Amazon DynamoDB

Name Beschreibung
CreateSchema Erstellt eine Schema für die angegebene Tabelle oder Ansicht.
CreateTable Erstellt eine Tabelle in DynamoDB.

Schema erstellen

Erstellt eine Schema für die angegebene Tabelle oder Ansicht.

Schema erstellen

Erstellt eine lokale Schema (.rsd) aus einer vorhandenen Tabelle oder Ansicht im Datenmodell.

Die Schema wird in dem Verzeichnis erstellt, das in festgelegt ist Location Verbindungseigenschaft, wenn dieses Verfahren ausgeführt wird. Sie können die Datei bearbeiten, um Spalten ein- oder auszuschließen, Spalten umzubenennen oder Spaltendatentypen anzupassen.

Der Connector überprüft die Location um zu bestimmen, ob die Namen von .rsd-Dateien mit einer Tabelle oder Ansicht im Datenmodell übereinstimmen. Wenn ein Duplikat vorhanden ist, hat die Schema Vorrang vor der Standardinstanz dieser Tabelle im Datenmodell. Wenn eine Schema in vorhanden ist Location das nicht mit einer vorhandenen Tabelle oder Ansicht übereinstimmt, wird dem Datenmodell des Connectors ein neuer Tabellen- oder Ansichtseintrag hinzugefügt.

Eingang
Name Typ Erforderlich Akzeptiert Ausgabestreams Beschreibung
TableName String True False Der Name der Tabelle oder Ansicht.
FileName String Falsch Falsch Der vollständige Dateipfad und Name des zu generierenden Schema. Wenn nicht festgelegt, wird stattdessen die FileData-Ausgabe verwendet. Beispiel: „C:\Benutzer\Benutzer\Desktop\table.rsd“
FileStream String Falsch Wahr Eine Instanz eines Ausgabestreams, in den Dateidaten geschrieben werden. Wird nur verwendet, wenn FileName nicht festgelegt ist.
Ergebnissatzspalten
Name Typ Beschreibung
Result String Gibt „Erfolg“ oder „Fehler“ zurück.
FileData String Das generierte Schema ist in Base64 kodiert. Wird nur zurückgegeben, wenn FileName nicht festgelegt ist.

Tabelle erstellen

Erstellt eine Tabelle in DynamoDB.

Eingang
Name Typ Erforderlich Beschreibung
TableName String True Der Name der zu erstellenden Tabelle. Erlaubt sind mindestens 3 und höchstens 255 Zeichen.
PartitionKeyName String True Der Name des Partitionsschlüssels für die Tabelle.
PartitionKeyType String True Der Typ des Partitionsschlüssels für die Tabelle. Die zulässigen Werte sind S, N, B.
SortKeyName String Falsch Der Name des Sortierschlüssels für die Tabelle.
SortKeyType String Falsch Der Typ des Sortierschlüssels für die Tabelle. Die zulässigen Werte sind S, N, B.
BillingMode String Falsch Steuert, wie Ihnen Lese- und Schreibdurchsatz in Rechnung gestellt wird und wie Sie die Kapazität verwalten. Die zulässigen Werte sind PROVISIONED, PAY_PER_REQUEST. Der Standardwert ist PROVISIONED.
ReadCapacityUnits String Falsch Die maximale Anzahl stark konsistenter Lesevorgänge pro Sekunde, bevor DynamoDB eine ThrottlingException zurückgibt. Der Standardwert ist 5.
WriteCapacityUnits String Falsch Die maximale Anzahl an Schreibvorgängen pro Sekunde, bevor DynamoDB eine ThrottlingException zurückgibt. Der Standardwert ist 5.
Ergebnissatzspalten
Name Typ Beschreibung
Success String Dieser Wert zeigt an, ob der Operation erfolgreich war oder nicht.

Systemtabellen

Sie können die in diesem Abschnitt beschriebenen Systemtabellen Abfrage, um auf Schema, Informationen zur Datenquellenfunktionalität und Statistiken zu Operation Charge.

Schematabellen

Die folgenden Tabellen geben Datenbankmetadaten für Amazon DynamoDB zurück:

Datenquellentabellen

Die folgenden Tabellen enthalten Informationen dazu, wie eine Verbindung zur Datenquelle hergestellt und diese Abfrage wird:

  • sys_connection_props: Gibt Informationen zu den verfügbaren Verbindungseigenschaften zurück.
  • sys_sqlinfo: Beschreibt die SELECT-Abfragen, die der Connector an die Datenquelle auslagern kann.

Abfrageinformationstabellen

Die folgende Tabelle gibt Abfrage für Datenänderungsabfragen zurück, einschließlich Charge:

  • Systemidentität: Gibt Informationen zu Charge oder einzelnen Updates zurück.

Sys_catalogs

Listet die verfügbaren Datenbanken auf.

Die folgende Abfrage ruft alle durch die Verbindungszeichenfolge ermittelten Datenbanken ab:

SELECT * FROM sys_catalogs
Spalten
Name Typ Beschreibung
CatalogName String Der Datenbankname.

Sys_schemas

Listet die verfügbaren Schemas auf.

Die folgende Abfrage ruft alle verfügbaren Schemata ab:

SELECT * FROM sys_schemas
Spalten
Name Typ Beschreibung
CatalogName String Der Datenbankname.
SchemaName String Der Schema.

Sys_tables

Listet die verfügbaren Tabellen auf.

Die folgende Abfrage ruft die verfügbaren Tabellen und Ansichten ab:

SELECT * FROM sys_tables
Spalten
Name Typ Beschreibung
CatalogName String Die Datenbank, die die Tabelle oder Ansicht enthält.
SchemaName String Das Schema, das die Tabelle oder Ansicht enthält.
TableName String Der Name der Tabelle oder Ansicht.
TableType String Der Tabellentyp (Tabelle oder Ansicht).
Description String Eine Beschreibung der Tabelle oder Ansicht.
IsUpdateable Boolean Ob die Tabelle aktualisiert werden kann.

Sys_tablecolumns

Beschreibt die Spalten der verfügbaren Tabellen und Ansichten.

Die folgende Abfrage gibt die Spalten und Datentypen für die Tabelle „Account“ zurück:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Account'
Spalten
Name Typ Beschreibung
CatalogName String Der Name der Datenbank, die die Tabelle oder Ansicht enthält.
SchemaName String Das Schema, das die Tabelle oder Ansicht enthält.
TableName String Der Name der Tabelle oder Ansicht, die die Spalte enthält.
ColumnName String Der Spaltenname.
DataTypeName String Der Name des Datentyps.
DataType Int32 Eine Ganzzahl, die den Datentyp angibt. Dieser Wert wird zur Laufzeit basierend auf der Umfeld bestimmt.
Length Int32 Die Speichergröße der Spalte.
DisplaySize Int32 Die normale Maximalbreite der angegebenen Spalte in Zeichen.
NumericPrecision Int32 Die maximale Anzahl von Ziffern in numerischen Daten. Die Spaltenlänge in Zeichen für Zeichen- und Datums-/Uhrzeitdaten.
NumericScale Int32 Die Spaltenskala oder Anzahl der Ziffern rechts vom Dezimalpunkt.
IsNullable Boolean Ob die Spalte Null enthalten kann.
Description String Eine kurze Beschreibung der Spalte.
Ordinal Int32 Die Sequenznummer der Spalte.
IsAutoIncrement String Ob der Spaltenwert in festen Schritten zugewiesen wird.
IsGeneratedColumn String Ob die Spalte generiert wird.
IsHidden Boolean Ob die Spalte ausgeblendet ist.
IsArray Boolean Ob die Spalte ein Array ist.
IsReadOnly Boolean Ob die Spalte schreibgeschützt ist.
IsKey Boolean Gibt an, ob ein von sys_tablecolumns zurückgegebenes Feld der Primärschlüssel der Tabelle ist.

Sys_procedures

Listet die verfügbaren gespeicherten Prozeduren auf.

Die folgende Abfrage ruft die verfügbaren gespeicherten Prozeduren ab:

SELECT * FROM sys_procedures
Spalten
Name Typ Beschreibung
CatalogName String Die Datenbank, die die gespeicherte Prozedur enthält.
SchemaName String Das Schema, das die gespeicherte Prozedur enthält.
ProcedureName String Der Name der gespeicherten Prozedur.
Description String Eine Beschreibung der gespeicherten Prozedur.
ProcedureType String Der Typ der Prozedur, z. B. PROZEDUR oder FUNKTION.

Sys_procedureparameters

Beschreibt Parameter gespeicherter Prozeduren.

Die folgende Abfrage gibt Informationen zu allen Eingabeparametern für die gespeicherte Prozedur „CreateSchema“ zurück:

SELECT * FROM sys_procedureparameters WHERE ProcedureName='CreateSchema' AND Direction=1 OR Direction=2
Spalten
Name Typ Beschreibung
CatalogName String Der Name der Datenbank, die die gespeicherte Prozedur enthält.
SchemaName String Der Name des Schema, das die gespeicherte Prozedur enthält.
ProcedureName String Der Name der gespeicherten Prozedur, die den Parameter enthält.
ColumnName String Der Name des gespeicherten Prozedurparameters.
Direction Int32 Eine Ganzzahl, die dem Typ des Parameters entspricht: Eingabe (1), Eingabe/Ausgabe (2) oder Ausgabe (4). Parameter vom Typ Eingabe/Ausgabe können sowohl Eingabe- als auch Ausgabeparameter sein.
DataTypeName String Der Name des Datentyps.
DataType Int32 Eine Ganzzahl, die den Datentyp angibt. Dieser Wert wird zur Laufzeit basierend auf der Umfeld bestimmt.
Length Int32 Die Anzahl der für Zeichendaten zulässigen Zeichen. Die Anzahl der für numerische Daten zulässigen Ziffern.
NumericPrecision Int32 Die maximale Genauigkeit für numerische Daten. Die Spaltenlänge in Zeichen für Zeichen- und Datums-/Uhrzeitdaten.
NumericScale Int32 Die Anzahl der Ziffern rechts vom Dezimalkomma in numerischen Daten.
IsNullable Boolean Ob der Parameter Null enthalten kann.
IsRequired Boolean Ob der Parameter zur Ausführung der Prozedur erforderlich ist.
IsArray Boolean Ob der Parameter ein Array ist.
Description String Die Beschreibung des Parameters.
Ordinal Int32 Der Index des Parameters.

Sys_keycolumns

Beschreibt die Primär- und Fremdschlüssel.

Die folgende Abfrage ruft den Primärschlüssel für die Tabelle „Account“ ab:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Account'
Spalten
Name Typ Beschreibung
CatalogName String Der Name der Datenbank, die den Schlüssel enthält.
SchemaName String Der Name des Schema, das den Schlüssel enthält.
TableName String Der Name der Tabelle, die den Schlüssel enthält.
ColumnName String Der Name der Schlüsselspalte.
IsKey Boolean Ob die Spalte ein Primärschlüssel in der Tabelle ist, auf die im Feld „TableName“ verwiesen wird.
IsForeignKey Boolean Ob die Spalte ein Fremdschlüssel ist, auf den im Feld TableName verwiesen wird.
PrimaryKeyName String Der Name des Primärschlüssels.
ForeignKeyName String Der Name des Fremdschlüssels.
ReferencedCatalogName String Die Datenbank, die den Primärschlüssel enthält.
ReferencedSchemaName String Das Schema, das den Primärschlüssel enthält.
ReferencedTableName String Die Tabelle, die den Primärschlüssel enthält.
ReferencedColumnName String Der Spaltenname des Primärschlüssels.

Sys_foreignkeys

Beschreibt die Fremdschlüssel.

Die folgende Abfrage ruft alle Fremdschlüssel ab, die auf andere Tabellen verweisen:

SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Spalten
Name Typ Beschreibung
CatalogName String Der Name der Datenbank, die den Schlüssel enthält.
SchemaName String Der Name des Schema, das den Schlüssel enthält.
TableName String Der Name der Tabelle, die den Schlüssel enthält.
ColumnName String Der Name der Schlüsselspalte.
PrimaryKeyName String Der Name des Primärschlüssels.
ForeignKeyName String Der Name des Fremdschlüssels.
ReferencedCatalogName String Die Datenbank, die den Primärschlüssel enthält.
ReferencedSchemaName String Das Schema, das den Primärschlüssel enthält.
ReferencedTableName String Die Tabelle, die den Primärschlüssel enthält.
ReferencedColumnName String Der Spaltenname des Primärschlüssels.
ForeignKeyType String Gibt an, ob der Fremdschlüssel ein Importschlüssel (zeigt auf andere Tabellen) oder ein Exportschlüssel (referenziert von anderen Tabellen) ist.

Sys_primarykeys

Beschreibt die Primärschlüssel.

Die folgende Abfrage ruft die Primärschlüssel aus allen Tabellen und Ansichten ab:

SELECT * FROM sys_primarykeys
Spalten
Name Typ Beschreibung
CatalogName String Der Name der Datenbank, die den Schlüssel enthält.
SchemaName String Der Name des Schema, das den Schlüssel enthält.
TableName String Der Name der Tabelle, die den Schlüssel enthält.
ColumnName String Der Name der Schlüsselspalte.
KeySeq String Die Sequenznummer des Primärschlüssels.
KeyName String Der Name des Primärschlüssels.

Sys_indexes

Beschreibt die verfügbaren Indizes. Durch das Filtern nach Indizes können Sie selektivere Abfragen mit schnelleren Abfrage schreiben.

Die folgende Abfrage ruft alle Indizes ab, die keine Primärschlüssel sind:

SELECT * FROM sys_indexes WHERE IsPrimary='false'
Spalten
Name Typ Beschreibung
CatalogName String Der Name der Datenbank, die den Index enthält.
SchemaName String Der Name des Schema, das den Index enthält.
TableName String Der Name der Tabelle, die den Index enthält.
IndexName String Der Indexname.
ColumnName String Der Name der mit dem Index verknüpften Spalte.
IsUnique Boolean Wahr, wenn der Index eindeutig ist. Andernfalls falsch.
IsPrimary Boolean Wahr, wenn der Index ein Primärschlüssel ist. Andernfalls falsch.
Type Int16 Ein ganzzahliger Wert, der dem Indextyp entspricht: Statistik (0), gruppiert (1), gehasht (2) oder Sonstiges (3).
SortOrder String Die Sortierreihenfolge: A für aufsteigend oder D für absteigend.
OrdinalPosition Int16 Die Sequenznummer der Spalte im Index.

Sys_connection_props

Gibt Informationen zu den verfügbaren Verbindungseigenschaften und den in der Verbindungszeichenfolge festgelegten Eigenschaften zurück.

Bei der Abfrage dieser Tabelle sollte die Konfigurationsverbindungszeichenfolge verwendet werden:

jdbc:cdata:amazondynamodb:config:

Mit dieser Verbindungszeichenfolge können Sie diese Tabelle ohne eine gültige Verbindung Abfrage.

Die folgende Abfrage ruft alle Verbindungseigenschaften ab, die in der Verbindungszeichenfolge festgelegt oder über einen Standardwert gesetzt wurden:

SELECT * FROM sys_connection_props WHERE Value <> ''
Spalten
Name Typ Beschreibung
Name String Der Name der Verbindungseigenschaft.
ShortDescription String Eine kurze Beschreibung.
Type String Der Datentyp der Verbindungseigenschaft.
Default String Der Standardwert, sofern nicht explizit einer festgelegt wurde.
Values String Eine durch Kommas getrennte Liste möglicher Werte. Wenn ein anderer Wert angegeben wird, wird ein Validierungsfehler ausgegeben.
Value String Der von Ihnen festgelegte Wert oder ein vorkonfigurierter Standard.
Required Boolean Ob für die Immobilie eine Anschlusspflicht besteht.
Category String Die Kategorie der Verbindungseigenschaft.
IsSessionProperty String Ob die Eigenschaft eine Sitzungseigenschaft ist, die zum Speichern von Informationen zur aktuellen Verbindung verwendet wird.
Sensitivity String Die Vertraulichkeitsstufe der Eigenschaft. Diese gibt Aufschluss darüber, ob die Eigenschaft in Protokollierungs- und Authentifizierungsformularen verschleiert wird.
PropertyName String Eine verkürzte Form des Verbindungseigenschaftsnamens in Camel-Case-Schreibweise.
Ordinal Int32 Der Index des Parameters.
CatOrdinal Int32 Der Index der Parameterkategorie.
Hierarchy String Zeigt zugehörige abhängige Eigenschaften an, die zusammen mit dieser festgelegt werden müssen.
Visible Boolean Informiert, ob die Eigenschaft in der Verbindungs-Benutzeroberfläche sichtbar ist.
ETC String Verschiedene sonstige Informationen zum Objekt.

Sys_sqlinfo

Beschreibt die SELECT- Abfrage, die der Connector an die Datenquelle auslagern kann.

Entdecken der SELECT-Funktionen der Datenquelle

Nachfolgend sehen Sie einen Beispieldatensatz mit SQL-Funktionen. Einige Aspekte der SELECT-Funktionalität werden in einer durch Kommas getrennten Liste zurückgegeben, sofern sie unterstützt werden. Andernfalls enthält die Spalte NO.

Name Beschreibung Mögliche Werte
AGGREGATE_FUNCTIONS Unterstützte Aggregatfunktionen. AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNT Ob die COUNT-Funktion unterstützt wird. YES, NO
IDENTIFIER_QUOTE_OPEN_CHAR Das öffnende Zeichen, das zum Escapen eines Bezeichners verwendet wird. [
IDENTIFIER_QUOTE_CLOSE_CHAR Das abschließende Zeichen, das zum Escapen eines Bezeichners verwendet wird. ]
SUPPORTED_OPERATORS Eine Liste unterstützter SQL-Operatoren. =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BY Ob GROUP BY unterstützt wird und wenn ja, in welchem Umfang. NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
STRING_FUNCTIONS Unterstützte String-Funktionen. LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONS Unterstützte numerische Funktionen. ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONS Unterstützte Datums-/Uhrzeitfunktionen. NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLES Zeigt an, dass während der Replikation Tabellen übersprungen wurden.
REPLICATION_TIMECHECK_COLUMNS Ein Zeichenfolgenarray mit einer Liste von Spalten, die (in der angegebenen Reihenfolge) zur Überprüfung verwendet werden, ob sie während der Replikation als geänderte Spalte verwendet werden sollen.
IDENTIFIER_PATTERN Zeichenfolgenwert, der angibt, welche Zeichenfolge für einen Bezeichner gültig ist.
SUPPORT_TRANSACTION Gibt an, ob der Anbieter Transaktionen wie Commit und Rollback unterstützt. YES, NO
DIALECT Gibt den zu verwendenden SQL-Dialekt an.
KEY_PROPERTIES Gibt die Eigenschaften an, die die einheitliche Datenbank identifizieren.
SUPPORTS_MULTIPLE_SCHEMAS Gibt an, ob für den Anbieter mehrere Schemas vorhanden sein können. YES, NO
SUPPORTS_MULTIPLE_CATALOGS Gibt an, ob für den Anbieter mehrere Kataloge vorhanden sein können. YES, NO
DATASYNCVERSION Die für den Zugriff auf diesen Treiber erforderliche Data Sync-Version. Standard, Starter, Professional, Enterprise
DATASYNCCATEGORY Die Kategorie „Datensynchronisierung“ dieses Treiber. Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQL Ob erweiterte SQL-Funktionen über das hinaus, was die API bietet, unterstützt werden. TRUE, FALSE
SUPPORTS_BATCH_OPERATIONS Ob Charge Operationen unterstützt werden. YES, NO
SQL_CAP Alle unterstützten SQL-Funktionen für diesen Treiber. SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONS Ein Zeichenfolgenwert gibt die bevorzugten Cacheoptionen an.
ENABLE_EF_ADVANCED_QUERY Gibt an, ob der Treiber erweiterte Abfragen aus dem Entity Framework direkt unterstützt. Wenn nicht, werden die Abfragen clientseitig verarbeitet. YES, NO
PSEUDO_COLUMNS Ein Zeichenfolgenarray, das die verfügbaren Pseudospalten angibt.
MERGE_ALWAYS Wenn der Wert „true“ ist, wird der Merge-Modus in der Datensynchronisierung zwangsweise ausgeführt. TRUE, FALSE
REPLICATION_MIN_DATE_QUERY Eine Abfrage zum Zurückgeben des Startdatums und der Startzeit der Replikation.
REPLICATION_MIN_FUNCTION Ermöglicht einem Anbieter, den Formelnamen anzugeben, der zum Ausführen eines serverseitigen Minimums verwendet werden soll.
REPLICATION_START_DATE Ermöglicht einem Anbieter, ein Replikationsstartdatum anzugeben.
REPLICATION_MAX_DATE_QUERY Eine Abfrage zum Zurückgeben des Enddatums und der Endzeit der Replikation.
REPLICATION_MAX_FUNCTION Ermöglicht einem Anbieter, den Formelnamen anzugeben, der zur Ausführung eines serverseitigen Max. verwendet werden soll.
IGNORE_INTERVALS_ON_INITIAL_REPLICATE Eine Liste von Tabellen, bei denen das Aufteilen der Replikation in Blöcke bei der ersten Replikation übersprungen wird.
CHECKCACHE_USE_PARENTID Gibt an, ob die CheckCache-Anweisung für die übergeordnete Schlüsselspalte ausgeführt werden soll. TRUE, FALSE
CREATE_SCHEMA_PROCEDURES Gibt gespeicherte Prozeduren an, die zum Generieren von Schema verwendet werden können.

Die folgende Abfrage ruft die Operatoren ab, die in der WHERE-Klausel verwendet werden können:

SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'

Beachten Sie, dass einzelne Tabellen unterschiedliche Einschränkungen oder Anforderungen an die WHERE-Klausel haben können; siehe NoSQL-Datenbank Abschnitt für weitere Informationen.

Spalten
Name Typ Beschreibung
NAME String Eine Komponente der SQL-Syntax oder eine Funktion, die auf dem Server verarbeitet werden kann.
VALUE String Details zum unterstützten SQL bzw. zur SQL-Syntax.

Systemidentität

Gibt Informationen zu versuchten Änderungen zurück.

Die folgende Abfrage ruft die IDs der geänderten Zeilen in einer Operation Charge:

SELECT * FROM sys_identity
Spalten
Name Typ Beschreibung
Id String Die von einer Operation zurückgegebene, von der Datenbank generierte ID.
Batch String Eine Kennung für den Charge. 1 für einen einzelnen Operation.
Operation String Das Ergebnis der Operation im Charge: EINGEFÜGT, AKTUALISIERT oder GELÖSCHT.
Message String SUCCESS oder eine Fehlermeldung, wenn das Update im Charge fehlgeschlagen ist.

Erweiterte Konfigurationseigenschaften

Die erweiterten Konfigurationseigenschaften sind die verschiedenen Optionen, die zum Herstellen einer Verbindung verwendet werden können. Dieser Abschnitt enthält eine vollständige Liste der Optionen, die Sie konfigurieren können. Klicken Sie auf die Links, um weitere Einzelheiten zu erfahren.

Verbindung

Eigenschaft Beschreibung
UseLakeFormation Wenn diese Eigenschaft auf „true“ gesetzt ist, wird der AWSLakeFormation-Dienst verwendet, um temporäre Anmeldeinformationen abzurufen, die basierend auf der konfigurierten IAM- Rolle Zugriffsrichtlinien für den Benutzer durchsetzen. Der Dienst kann bei der Authentifizierung über OKTA, ADFS, Microsoft Entra ID, PingFederate verwendet werden, während eine SAML Assertion bereitgestellt wird.

AWS-Authentifizierung

Eigenschaft Beschreibung
AuthScheme Das für die Authentifizierung verwendete Schema. Akzeptierte Einträge sind: Auto,, AwsRootKeys, AwsIAMRoles, AwsEC2Roles, AwsMFA, ADFS, Okta, PingFederate, AwsCredentialsFile, AwsCognitoBasic, AwsCognitoSrp.
Domain Ihr AWS-Domänenname. Sie können Ihren Domänennamen optional mit AWS verknüpfen.
AWSAccessKey Ihr AWS-Kontozugriffsschlüssel. Auf diesen Wert kann über die Seite mit den AWS-Sicherheitsanmeldeinformationen zugegriffen werden.
AWSSecretKey Ihr geheimer AWS-Kontoschlüssel. Auf diesen Wert kann über die Seite mit den AWS-Sicherheitsanmeldeinformationen zugegriffen werden.
AWSRoleARN Der Amazon-Ressourcenname der Rolle, die bei der Authentifizierung verwendet werden soll.
AWSRegion Die Hosting-Region für Ihre Amazon Web Services.
AWSCredentialsFile Der Pfad zur AWS-Anmeldeinformationsdatei, die für die Authentifizierung verwendet werden soll.
AWSCredentialsFileProfile Der Name des zu verwendenden Profils aus der bereitgestellten AWSCredentialsFile.
AWSSessionToken Ihr AWS-Sitzungstoken.
AWSExternalId Eine eindeutige Kennung, die möglicherweise erforderlich ist, wenn Sie eine Rolle in einem anderen Konto übernehmen.
MFASerialNumber Die Seriennummer des MFA-Geräts, falls eines verwendet wird.
MFAToken Das temporäre Token, das auf Ihrem MFA-Gerät verfügbar ist.
TemporaryTokenDuration Die Dauer (in Sekunden), für die ein temporäres Token gültig ist.
AWSCognitoRegion Die Hosting-Region für AWS Cognito.
AWSUserPoolId Die Benutzerpool-ID.
AWSUserPoolClientAppId Die Client-App-ID des Benutzerpools.
AWSUserPoolClientAppSecret Optional. Das Client-App-Geheimnis des Benutzerpools.
AWSIdentityPoolId Die Identitätspool-ID.

SSO

Eigenschaft Beschreibung
User Der IDP-Benutzer, der zur Authentifizierung des IDP über SSO verwendet wird.
Password Das Passwort, das zur Authentifizierung des IDP-Benutzers über SSO verwendet wird.
SSOLoginURL Die Anmelde URL des Identitätsanbieters.
SSOProperties Zusätzliche Eigenschaften, die für die Verbindung mit dem Identitätsanbieter erforderlich sind, in einer durch Semikolon getrennten Liste.
SSOExchangeUrl Die URL, die zum Konsumieren der SAML -Antwort und zum Austauschen gegen dienstspezifische Anmeldeinformationen verwendet wird.

SSL

Eigenschaft Beschreibung
SSLServerCert Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL.

Schema

Eigenschaft Beschreibung
Location Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren.
BrowsableSchemas Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA, TabelleB, TabelleC.
Views Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA, AnsichtB, AnsichtC.

Verschiedenes

Eigenschaft Beschreibung
AutoDetectIndex Ein Boolescher Wert, der angibt, ob sekundäre Indizes basierend auf der verwendeten Abfrage automatisch erkannt werden sollen.
FlattenArrays Standardmäßig werden verschachtelte Arrays als JSON-Strings zurückgegeben. Mit der Eigenschaft FlattenArrays können die Elemente verschachtelter Arrays in eigene Spalten umgewandelt werden. Legen Sie FlattenArrays auf die Anzahl der Elemente fest, die Sie aus verschachtelten Arrays zurückgeben möchten.
FlattenObjects Setzen Sie FlattenObjects auf true, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden in Arrays verschachtelte Objekte als JSON-Strings zurückgegeben.
FlexibleSchema Setzen Sie FlexibleSchema auf „true“, um nach zusätzlichen Metadaten im Abfrage zu suchen. Andernfalls bleiben die Metadaten gleich.
GenerateSchemaFiles Gibt die Benutzerpräferenz an, wann Schemata generiert und gespeichert werden sollen.
IgnoreTypes Entfernt die Unterstützung für die angegebenen Typen. Beispielsweise Zeit. Diese Typen werden dann stattdessen als Zeichenfolgen gemeldet.
MaximumRequestRetries Die maximale Anzahl von Wiederholungsversuchen einer Anfrage.
MaxRows Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln.
Other Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet.
Pagesize Konfiguriert die maximale Anzahl von Elementen, die Amazon DynamoDB pro API Anfrage auswertet.
PseudoColumns Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht.
RetryWaitTime Die Mindestanzahl an Millisekunden, die der Anbieter wartet, bevor er eine Anforderung wiederholt.
RowScanDepth Die maximale Anzahl der zu scannenden Zeilen, um nach den in einer Tabelle verfügbaren Spalten zu suchen.
SeparatorCharacter Das oder die Zeichen, die zur Kennzeichnung der Hierarchie verwendet werden.
ThreadCount Die Anzahl der Threads, die bei der Datenauswahl über einen parallelen Scan verwendet werden sollen. Wenn Sie ThreadCount auf 1 setzen, werden parallele Scans deaktiviert.
Timeout Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird.
TypeDetectionScheme Bestimmt, wie der Datentyp von Spalten ermittelt wird.
UseBatchWriteItemOperation Wenn aktiviert, verwendet der Anbieter die BatchWriteItem Operation zur Handhabung von Updates und INSERTs. Standardmäßig verwendet der Anbieter die ExecuteStatement/BatchExecuteStatement Operation. Sie müssen BatchWriteItem nur aktivieren, wenn Sie binäre/binär gesetzte Daten einfügen/aktualisieren. ExecuteStatement/BatchExecuteStatement unterstützt keine Manipulation binärer Felder.
UseConsistentReads Ob bei Abfragen von DynamoDb immer konsistente Lesevorgänge verwendet werden sollen oder nicht.
UserDefinedViews Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält.
UseSimpleNames Boolescher Wert, der bestimmt, ob für Tabellen und Spalten einfache Namen verwendet werden sollen.

Verbindung

Dieser Abschnitt enthält eine vollständige Liste der Verbindungseigenschaften, die Sie konfigurieren können.

Eigenschaft Beschreibung
UseLakeFormation Wenn diese Eigenschaft auf „true“ gesetzt ist, wird der AWSLakeFormation-Dienst verwendet, um temporäre Anmeldeinformationen abzurufen, die basierend auf der konfigurierten IAM- Rolle Zugriffsrichtlinien für den Benutzer durchsetzen. Der Dienst kann bei der Authentifizierung über OKTA, ADFS, Microsoft Entra ID, PingFederate verwendet werden, während eine SAML Assertion bereitgestellt wird.

Verwenden Sie LakeFormation

Wenn diese Eigenschaft auf „true“ gesetzt ist, wird der AWSLakeFormation-Dienst verwendet, um temporäre Anmeldeinformationen abzurufen, die Zugriffsrichtlinien für den Benutzer basierend auf der konfigurierten IAM- Rolle durchsetzen. Der Dienst kann bei der Authentifizierung über OKTA, ADFS, Microsoft Entra ID, PingFederate verwendet werden, während eine SAML Assertion bereitgestellt wird.

Datentyp

bool

Standardwert

false

Hinweise

Wenn diese Eigenschaft auf „true“ gesetzt ist, wird der AWSLakeFormation-Dienst verwendet, um temporäre Anmeldeinformationen abzurufen, die Zugriffsrichtlinien für den Benutzer basierend auf der konfigurierten IAM- Rolle durchsetzen. Der Dienst kann bei der Authentifizierung über OKTA, ADFS, Microsoft Entra ID, PingFederate verwendet werden, während eine SAML Assertion bereitgestellt wird.

AWS-Authentifizierung

Dieser Abschnitt enthält eine vollständige Liste der AWS-Authentifizierungseigenschaften, die Sie konfigurieren können.

Eigenschaft Beschreibung
AuthScheme Das für die Authentifizierung verwendete Schema. Akzeptierte Einträge sind: Auto,, AwsRootKeys, AwsIAMRoles, AwsEC2Roles, AwsMFA, ADFS, Okta, PingFederate, AwsCredentialsFile, AwsCognitoBasic, AwsCognitoSrp.
Domain Ihr AWS-Domänenname. Sie können Ihren Domänennamen optional mit AWS verknüpfen.
AWSAccessKey Ihr AWS-Kontozugriffsschlüssel. Auf diesen Wert kann über die Seite mit den AWS-Sicherheitsanmeldeinformationen zugegriffen werden.
AWSSecretKey Ihr geheimer AWS-Kontoschlüssel. Auf diesen Wert kann über die Seite mit den AWS-Sicherheitsanmeldeinformationen zugegriffen werden.
AWSRoleARN Der Amazon-Ressourcenname der Rolle, die bei der Authentifizierung verwendet werden soll.
AWSRegion Die Hosting-Region für Ihre Amazon Web Services.
AWSCredentialsFile Der Pfad zur AWS-Anmeldeinformationsdatei, die für die Authentifizierung verwendet werden soll.
AWSCredentialsFileProfile Der Name des zu verwendenden Profils aus der bereitgestellten AWSCredentialsFile.
AWSSessionToken Ihr AWS-Sitzungstoken.
AWSExternalId Eine eindeutige Kennung, die möglicherweise erforderlich ist, wenn Sie eine Rolle in einem anderen Konto übernehmen.
MFASerialNumber Die Seriennummer des MFA-Geräts, falls eines verwendet wird.
MFAToken Das temporäre Token, das auf Ihrem MFA-Gerät verfügbar ist.
TemporaryTokenDuration Die Dauer (in Sekunden), für die ein temporäres Token gültig ist.
AWSCognitoRegion Die Hosting-Region für AWS Cognito.
AWSUserPoolId Die Benutzerpool-ID.
AWSUserPoolClientAppId Die Client-App-ID des Benutzerpools.
AWSUserPoolClientAppSecret Optional. Das Client-App-Geheimnis des Benutzerpools.
AWSIdentityPoolId Die Identitätspool-ID.

AuthScheme

Das für die Authentifizierung verwendete Schema. Akzeptierte Einträge sind: Auto,, AwsRootKeys, AwsIAMRoles, AwsEC2Roles, AwsMFA, ADFS, Okta, PingFederate, AwsCredentialsFile, AwsCognitoBasic, AwsCognitoSrp.

Datentyp

string

Standardwert

AwsRootKeys

Hinweise

Verwenden Sie die folgenden Optionen, um Ihr Authentifizierungsschema auszuwählen:

  • Automatisch: Legen Sie diese Option fest, damit der Connector versucht, basierend auf den anderen angegebenen Verbindungseigenschaften automatisch das richtige zu verwendende Authentifizierungsschema aufzulösen.
  • TemporaryCredentials: Legen Sie dies fest, um für die Verbindung temporäre Sicherheitsanmeldeinformationen zusammen mit einem Sitzungstoken zu nutzen.
  • AwsRootKeys: Legen Sie dies fest, um den Zugriffsschlüssel und das Geheimnis des Root-Benutzers zu verwenden. Nützlich für schnelle Tests, aber in Produktionsfällen wird empfohlen, etwas mit eingeschränkten Berechtigungen zu verwenden.
  • AwsIAMRoles: Eingestellt, um IAM-Rollen für die Verbindung zu verwenden.
  • AwsEC2Roles: Legen Sie dies fest, um automatisch IAM-Rollen zu verwenden, die der EC2-Maschine zugewiesen sind, auf der der Jitterbit Connector für Amazon DynamoDB derzeit ausgeführt wird.
  • AwsMFA: Auf Verwendung der Multi-Faktor-Authentifizierung einstellen.
  • Okta: Eingestellt auf die Verwendung einer Single Sign-On-Verbindung mit OKTA als Identitätsanbieter.
  • ADFS: Eingestellt auf die Verwendung einer Single Sign-On-Verbindung mit ADFS als Identitätsanbieter.
  • PingFederate: Eingestellt auf die Verwendung einer Single Sign-On-Verbindung mit PingFederate als Identitätsanbieter.
  • AwsCredentialsFile: Einrichten, um eine Anmeldeinformationsdatei für die Authentifizierung zu verwenden.
  • AwsCognitoSrp: Legen Sie fest, ob die Cognito-basierte Authentifizierung verwendet werden soll. Dies wird gegenüber AwsCognitoBasic empfohlen, da diese Option das Kennwort NICHT zur Authentifizierung an den Server sendet, sondern stattdessen das SRP-Protokoll verwendet.
  • AwsCognitoBasic: Eingestellt auf Verwendung der Cognito-basierten Authentifizierung.

Domain

Ihr AWS-Domänenname. Sie können Ihren Domänennamen optional mit AWS verknüpfen.

Datentyp

string

Standardwert

amazonaws.com

Hinweise

Wenn Sie keinen eindeutigen AWS-Domänennamen haben, belassen Sie diesen Wert bei amazonaws.com.

AWSAccessKey

Ihr AWS-Kontozugriffsschlüssel. Auf diesen Wert kann über die Seite mit den AWS-Sicherheitsanmeldeinformationen zugegriffen werden.

Datentyp

string

Standardwert

""

Hinweise

Ihr AWS-Kontozugriffsschlüssel. Auf diesen Wert können Sie über Ihre AWS-Sicherheitsanmeldeinformationen-Seite zugreifen:

  1. Melden Sie sich mit den Anmeldeinformationen für Ihr Root-Konto bei der AWS-Verwaltungskonsole an.

  2. Wählen Sie Ihren Kontonamen oder Ihre Kontonummer und wählen Sie im angezeigten Menü „Meine Sicherheitsanmeldeinformationen“.

  3. Klicken Sie auf „Weiter zu Sicherheitsanmeldeinformationen“ und erweitern Sie den Abschnitt „Zugriffsschlüssel“, um Zugriffsschlüssel für Root-Konten zu verwalten oder zu erstellen.

AWSGeheimer Schlüssel

Ihr geheimer AWS-Kontoschlüssel. Auf diesen Wert können Sie über Ihre AWS-Sicherheitsanmeldeinformationenseite zugreifen.

Datentyp

string

Standardwert

""

Hinweise

Ihr geheimer AWS-Kontoschlüssel. Auf diesen Wert können Sie über Ihre AWS-Sicherheitsanmeldeinformationen-Seite zugreifen:

  1. Melden Sie sich mit den Anmeldeinformationen für Ihr Root-Konto bei der AWS-Verwaltungskonsole an.

  2. Wählen Sie Ihren Kontonamen oder Ihre Kontonummer und wählen Sie im angezeigten Menü „Meine Sicherheitsanmeldeinformationen“.

  3. Klicken Sie auf „Weiter zu Sicherheitsanmeldeinformationen“ und erweitern Sie den Abschnitt „Zugriffsschlüssel“, um Zugriffsschlüssel für das Root-Konto zu verwalten oder zu erstellen.

AWSRoleARN

Der Amazon-Ressourcenname der Rolle, die bei der Authentifizierung verwendet werden soll.

Datentyp

string

Standardwert

""

Hinweise

Bei der Authentifizierung außerhalb von AWS ist es üblich, anstelle der direkten AWS-Kontoanmeldeinformationen eine Rolle zur Authentifizierung zu verwenden. Durch Eingabe der AWSRoleARN bewirkt, dass der Jitterbit Connector für Amazon DynamoDB eine Rolle Authentifizierung durchführt, anstatt den AWSAccessKey zu verwenden und AWSSecretKey direkt. Der AWSAccessKey und AWSSecretKey muss noch angegeben werden, um diese Authentifizierung durchzuführen. Sie können beim Festlegen von RoleARN nicht die Anmeldeinformationen eines AWS-Root-Benutzers verwenden. Der AWSAccessKey und AWSSecretKey müssen die eines IAM-Benutzers sein.

AWSRegion

Die Hosting-Region für Ihre Amazon Web Services.

Mögliche Werte

OHIO, NORTHERNVIRGINIA, NORTHERNCALIFORNIA, OREGON, CAPETOWN, HONGKONG, JAKARTA, MUMBAI, OSAKA, SEOUL, SINGAPORE, SYDNEY, TOKYO, CENTRAL, BEIJING, NINGXIA, FRANKFURT, IRELAND, LONDON, MILAN, PARIS, STOCKHOLM, ZURICH, BAHRAIN, UAE, SAOPAULO, GOVCLOUDEAST, GOVCLOUDWEST

Datentyp

string

Standardwert

NORTHERNVIRGINIA

Hinweise

Die Hosting-Region für Ihre Amazon Web Services. Verfügbare Werte sind OHIO, NORTHERNVIRGINIA, NORTHERNCALIFORNIA, OREGON, CAPETOWN, HONGKONG, JAKARTA, MUMBAI, OSAKA, SEOUL, SINGAPUR, SYDNEY, TOKIO, CENTRAL, PEKING, NINGXIA, FRANKFURT, IRLAND, LONDON, MAILAND, PARIS, STOCKHOLM, ZÜRICH, BAHRAIN, VAE, SAOPAULO, GOVCLOUDEAST und GOVCLOUDWEST.

AWSCredentialsFile

Der Pfad zur AWS-Anmeldeinformationsdatei, die zur Authentifizierung verwendet werden soll.

Datentyp

string

Standardwert

""

Hinweise

Der Pfad zur AWS-Anmeldeinformationsdatei, die zur Authentifizierung verwendet werden soll. Siehe https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html für weitere Informationen.

AWSCredentialsFileProfile

Der Name des zu verwendenden Profils aus der bereitgestellten AWSCredentialsFile.

Datentyp

string

Standardwert

default

Hinweise

Der Name des zu verwendenden Profils aus der bereitgestellten AWSCredentialsFile. Siehe https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html für weitere Informationen.

AWSSessionToken

Ihr AWS-Sitzungstoken.

Datentyp

string

Standardwert

""

Hinweise

Ihr AWS-Sitzungstoken. Dieser Wert kann auf verschiedene Arten abgerufen werden. Siehe diesen Link für weitere Informationen.

AWSExternalId

Eine eindeutige Kennung, die möglicherweise erforderlich ist, wenn Sie eine Rolle in einem anderen Konto übernehmen.

Datentyp

string

Standardwert

""

Hinweise

Eine eindeutige Kennung, die möglicherweise erforderlich ist, wenn Sie eine Rolle in einem anderen Konto übernehmen.

MFASeriennummer

Die Seriennummer des MFA-Geräts, falls eines verwendet wird.

Datentyp

string

Standardwert

""

Hinweise

Sie können das Gerät für einen IAM-Benutzer finden, indem Sie zur AWS Management Console gehen und die Sicherheitsanmeldeinformationen des Benutzers anzeigen. Bei virtuellen Geräten ist dies tatsächlich ein Amazon-Ressourcenname (z. B. arn:aws:iam:123456789012:mfa/user).

MFAToken

Das temporäre Token, das von Ihrem MFA-Gerät verfügbar ist.

Datentyp

string

Standardwert

""

Hinweise

Wenn MFA erforderlich ist, wird dieser Wert zusammen mit der MFASerialNumber verwendet, um temporäre Anmeldeinformationen abzurufen. Die von AWS verfügbaren temporären Anmeldeinformationen sind standardmäßig nur bis zu 1 Stunde gültig (siehe TemporaryTokenDuration). Sobald die Zeit abgelaufen ist, muss die Verbindung aktualisiert werden, um ein neues MFA-Token anzugeben, damit neue Anmeldeinformationen abgerufen werden können.

Temporäre Tokendauer

Die Dauer (in Sekunden), die ein temporäres Token gültig ist.

Datentyp

string

Standardwert

3600

Hinweise

Temporäre Token werden sowohl bei MFA als auch bei rollenbasierter Authentifizierung verwendet. Temporäre Token laufen irgendwann ab, und dann muss ein neuer temporärer Token angefordert werden. In Situationen, in denen MFA nicht verwendet wird, ist das kein großes Problem. Der Jitterbit Connector für Amazon DynamoDB fordert intern einen neuen temporären Token an, sobald der temporäre Token abgelaufen ist.

Für eine MFA-erforderliche Verbindung wird jedoch ein neuer MFAToken muss in der Verbindung angegeben werden, um ein neues temporäres Token abzurufen. Dies ist ein eher aufdringliches Problem, da es eine Aktualisierung der Verbindung durch den Benutzer erfordert. Der maximal und minimal anzugebende Wert hängt weitgehend von der verwendeten Verbindung ab.

Bei rollenbasierter Authentifizierung beträgt die Mindestdauer 900 Sekunden (15 Minuten), die Höchstdauer 3600 Sekunden (1 Stunde). Auch wenn MFA mit Rolle Authentifizierung verwendet wird, sind 3600 Sekunden immer noch das Maximum.

Für die alleinige MFA-Authentifizierung (mithilfe eines IAM-Benutzers oder Root-Benutzers) beträgt das Minimum 900 Sekunden (15 Minuten), das Maximum 129600 (36 Stunden).

AWSCognitoRegion

Die Hostingregion für AWS Cognito.

Mögliche Werte

OHIO, NORTHERNVIRGINIA, NORTHERNCALIFORNIA, OREGON, CAPETOWN, HONGKONG, MUMBAI, OSAKA, SEOUL, SINGAPORE, SYDNEY, TOKYO, CENTRAL, BEIJING, NINGXIA, FRANKFURT, IRELAND, LONDON, MILAN, PARIS, STOCKHOLM, BAHRAIN, SAOPAULO, GOVCLOUDEAST, GOVCLOUDWEST

Datentyp

string

Standardwert

NORTHERNVIRGINIA

Hinweise

Die Hostingregion für AWS Cognito. Verfügbare Werte sind OHIO, NORTHERNVIRGINIA, NORTHERNCALIFORNIA, OREGON, CAPETOWN, HONGKONG, MUMBAI, OSAKA, SEOUL, SINGAPUR, SYDNEY, TOKIO, CENTRAL, PEKING, NINGXIA, FRANKFURT, IRLAND, LONDON, MAILAND, PARIS, STOCKHOLM, BAHRAIN, SAOPAULO, GOVCLOUDEAST und GOVCLOUDWEST.

AWSUserPoolId

Die Benutzerpool-ID.

Datentyp

string

Standardwert

""

Hinweise

Sie finden dies in AWS Cognito -> Benutzerpools verwalten -> wählen Sie Ihren Benutzerpool aus -> Allgemeine Einstellungen -> Pool-ID.

AWSUserPoolClientAppId

Die Client-App-ID des Benutzerpools.

Datentyp

string

Standardwert

""

Hinweise

Sie finden dies in AWS Cognito -> Identitätspools verwalten -> wählen Sie Ihren Benutzerpool aus -> Allgemeine Einstellungen -> App-Clients -> App-Client-ID.

AWSUserPoolClientAppSecret

Optional. Das Benutzerpool-Client-App-Geheimnis.

Datentyp

string

Standardwert

""

Hinweise

Sie finden dies in AWS Cognito -> Identitätspools verwalten -> Benutzerpool auswählen -> Allgemeine Einstellungen -> App-Clients -> App-Client-Geheimnis.

AWSIdentityPoolId

Die Identitätspool-ID.

Datentyp

string

Standardwert

""

Hinweise

Sie finden dies in AWS Cognito -> Identitätspools verwalten -> Ihren Identitätspool auswählen -> Identitätspool bearbeiten -> Identitätspool-ID

SSO

Dieser Abschnitt enthält eine vollständige Liste der SSO-Eigenschaften, die Sie konfigurieren können.

Eigenschaft Beschreibung
User Der IDP-Benutzer, der zur Authentifizierung des IDP über SSO verwendet wird.
Password Das Passwort, das zur Authentifizierung des IDP-Benutzers über SSO verwendet wird.
SSOLoginURL Die Anmelde URL des Identitätsanbieters.
SSOProperties Zusätzliche Eigenschaften, die für die Verbindung mit dem Identitätsanbieter erforderlich sind, in einer durch Semikolon getrennten Liste.
SSOExchangeUrl Die URL, die zum Konsumieren der SAML -Antwort und zum Austauschen gegen dienstspezifische Anmeldeinformationen verwendet wird.

Benutzer

Der IDP-Benutzer, der zur Authentifizierung des IDP über SSO verwendet wird.

Datentyp

string

Standardwert

""

Hinweise

Zusammen mit Passwort, wird dieses Feld zur Authentifizierung bei SSO-Verbindungen gegenüber dem Amazon DynamoDB-Server verwendet.

Passwort

Das Passwort, das zur Authentifizierung des IDP-Benutzers über SSO verwendet wird.

Datentyp

string

Standardwert

""

Hinweise

Der Benutzer Und Password werden gemeinsam in SSO-Verbindungen zur Authentifizierung beim Server verwendet.

SSOLoginURL

Die Anmelde-URL des Identitätsanbieters.

Datentyp

string

Standardwert

""

Hinweise

Die Anmelde-URL des Identitätsanbieters.

SSO-Eigenschaften

Zusätzliche Eigenschaften, die für die Verbindung mit dem Identitätsanbieter erforderlich sind, in einer durch Semikolon getrennten Liste.

Datentyp

string

Standardwert

""

Hinweise

Zusätzliche Eigenschaften, die für die Verbindung mit dem Identitätsanbieter erforderlich sind, in einer durch Semikolon getrennten Liste. SSOProperties wird in Verbindung mit dem AWSRoleARN verwendet und AWSPrincipalARN. Der folgende Abschnitt enthält ein Beispiel mit dem Identitätsanbieter OKTA.

ADFS

Um eine Verbindung zu ADFS herzustellen, legen Sie das AuthScheme fest Zu ADFS, und legen Sie diese Eigenschaften fest:

Beispiel-Verbindungszeichenfolge:

AuthScheme=ADFS; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://adfs.domain.com'; AWSRoleArn=arn:aws:iam:1234:role/ADFS_SSO; AWSPrincipalArn=arn:aws:iam:1234:saml-provider/ADFSProvider; S3StagingDirectory=s3://athena/staging;
Okta

Um eine Verbindung mit Okta herzustellen, legen Sie das AuthScheme fest Zu Okta, und legen Sie diese Eigenschaften fest:

Wenn Sie eine vertrauenswürdige Anwendung oder einen Proxy verwenden, der die Okta Clientanforderung überschreibt, ODER MFA konfigurieren, müssen Sie Kombinationen aus verwenden SSOProperties zur Authentifizierung mit Okta. Legen Sie je nach Bedarf die folgenden Optionen fest:

  • APIToken: Wenn Sie einen Benutzer über eine vertrauenswürdige Anwendung oder einen Proxy authentifizieren, der den Anforderungskontext des Okta Clients überschreibt, legen Sie dies auf das API Token fest, das der Kunde aus der Okta-Organisation erstellt hat.

  • MFAType: Wenn Sie den MFA-Flow konfiguriert haben, legen Sie ihn auf einen der folgenden unterstützten Typen fest: OktaVerify, Email, oder SMS.

  • MFAPassCode: Wenn Sie den MFA-Flow konfiguriert haben, legen Sie hier einen gültigen Passcode fest.

    Wenn Sie dies auf leer oder einen ungültigen Wert setzen, sendet der Connector eine Einmalkennwort-Abfrage an Ihr Gerät oder Email. Nachdem der Passcode empfangen wurde, öffnen Sie die Verbindung erneut, wobei der abgerufene Einmalkennwortwert auf die Verbindungseigenschaft MFAPassCode gesetzt wird.

  • MFARememberDevice: True standardmäßig. Okta unterstützt das Speichern von Geräten, wenn MFA erforderlich ist. Wenn das Speichern von Geräten gemäß den konfigurierten Authentifizierungsrichtlinien zulässig ist, sendet der Connector ein Gerätetoken, um die Lebensdauer der MFA-Authentifizierung zu verlängern. Wenn Sie nicht möchten, dass MFA gespeichert wird, setzen Sie diese Variable auf False.

Beispiel-Verbindungszeichenfolge:

AuthScheme=Okta; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://cdata-us.okta.com/home/amazon_aws/0oa35m8arsAL5f5NrE6NdA356/272'; SSOProperties='ApiToken=01230GGG2ceAnm_tPAf4MhiMELXZ0L0N1pAYrO1VR-hGQSf;'; AWSRoleArn=arn:aws:iam:1234:role/Okta_SSO; AWSPrincipalARN=arn:aws:iam:1234:saml-provider/OktaProvider; S3StagingDirectory=s3://athena/staging;

SSOExchangeUrl

Die URL, die zum Verwenden der SAML -Antwort und zum Austauschen gegen dienstspezifische Anmeldeinformationen verwendet wird.

Datentyp

string

Standardwert

""

Hinweise

Der Jitterbit-Connector für Amazon DynamoDB verwendet die hier angegebene URL, um eine SAML -Antwort zu verarbeiten und sie gegen dienstspezifische Anmeldeinformationen auszutauschen. Die abgerufenen Anmeldeinformationen sind das letzte Stück während der SSO-Verbindung, das zur Kommunikation mit Amazon DynamoDB verwendet wird.

SSL

Dieser Abschnitt enthält eine vollständige Liste der SSL-Eigenschaften, die Sie konfigurieren können.

Eigenschaft Beschreibung
SSLServerCert Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL.

SSLServerCert

Das vom Server zu akzeptierende Zertifikat bei einer Verbindung über TLS/SSL.

Datentyp

string

Standardwert

""

Hinweise

Bei Verwendung einer TLS/SSL-Verbindung kann diese Eigenschaft verwendet werden, um das vom Server zu akzeptierende TLS/SSL-Zertifikat anzugeben. Jedes andere Zertifikat, dem der Computer nicht vertraut, wird abgelehnt.

Diese Eigenschaft kann folgende Formen annehmen:

Beschreibung Beispiel
Ein vollständiges PEM-Zertifikat (Beispiel der Kürze halber gekürzt) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
Ein Pfad zu einer lokalen Datei, die das Zertifikat enthält C:\\cert.cer
Der öffentliche Schlüssel (Beispiel der Kürze halber gekürzt) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
Der MD5-Fingerabdruck (Hexadezimalwerte können auch durch Leerzeichen oder Doppelpunkte getrennt sein) ecadbdda5a1529c58a1e9e09828d70e4
Der SHA1-Fingerabdruck (Hex-Werte können auch durch Leerzeichen oder Doppelpunkte getrennt sein) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Wenn nicht angegeben, wird jedes vom Computer vertrauenswürdige Zertifikat akzeptiert.

Zertifikate werden vom Computer basierend auf dem Trust Store des Systems als vertrauenswürdig validiert. Der verwendete Trust Store ist der für das System angegebene Wert „javax.net.ssl.trustStore“. Wenn für diese Eigenschaft kein Wert angegeben ist, wird der Standard-Trust Store von Java verwendet (z. B. JAVA_HOME\lib\security\cacerts).

Verwenden Sie „*“, um anzugeben, dass alle Zertifikate akzeptiert werden. Beachten Sie, dass dies aus Sicherheitsgründen nicht empfohlen wird.

Schema

Dieser Abschnitt enthält eine vollständige Liste der Schema, die Sie konfigurieren können.

Eigenschaft Beschreibung
Location Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren.
BrowsableSchemas Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA, TabelleB, TabelleC.
Views Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA, AnsichtB, AnsichtC.

Standort

Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren.

Datentyp

string

Standardwert

%APPDATA%\AmazonDynamoDB Data Provider\Schema

Hinweise

Der Pfad zu einem Verzeichnis, das die Schema für den Connector enthält (.rsd-Dateien für Tabellen und Ansichten, .rsb-Dateien für gespeicherte Prozeduren). Der Ordnerspeicherort kann ein relativer Pfad vom Speicherort der ausführbaren Datei sein. Der Location-Eigenschaft wird nur benötigt, wenn Sie Definitionen anpassen möchten (z. B. einen Spaltennamen ändern, eine Spalte ignorieren usw.) oder das Datenmodell mit neuen Tabellen, Ansichten oder gespeicherten Prozeduren erweitern möchten.

Wenn nichts angegeben wird, ist der Standardspeicherort „%APPDATA%\AmazonDynamoDB Data Provider\Schema“ mit %APPDATA% wird auf das Konfigurationsverzeichnis des Benutzers eingestellt:

Plattform %APPDATA%
Windows Der Wert der Umfeld APPDATA
Mac ~/Bibliothek/Anwendungsunterstützung
Linux ~/.config

DurchsuchbareSchemas

Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Datentyp

string

Standardwert

""

Hinweise

Das Auflisten der Schemata aus Datenbanken kann aufwändig sein. Die Bereitstellung einer Liste von Schemata in der Verbindungszeichenfolge verbessert die Leistung.

Tabellen

Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA,TabelleB,TabelleC.

Datentyp

string

Standardwert

""

Hinweise

Das Auflisten der Tabellen aus einigen Datenbanken kann teuer sein. Die Bereitstellung einer Liste von Tabellen in der Verbindungszeichenfolge verbessert die Leistung des Connectors.

Diese Eigenschaft kann auch als Alternative zum automatischen Auflisten von Ansichten verwendet werden, wenn Sie bereits wissen, mit welchen Sie arbeiten möchten, und es sonst zu viele wären.

Geben Sie die gewünschten Tabellen in einer durch Kommas getrennten Liste an. Jede Tabelle sollte ein gültiger SQL-Bezeichner sein, wobei alle Sonderzeichen mit eckigen Klammern, Anführungszeichen oder Backticks maskiert werden. Beispiel: Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Beachten Sie, dass Sie beim Herstellen einer Verbindung zu einer Datenquelle mit mehreren Schemata oder Katalogen den vollqualifizierten Namen der Tabelle in dieser Eigenschaft angeben müssen, wie im letzten Beispiel hier, um Mehrdeutigkeiten zwischen Tabellen zu vermeiden, die in mehreren Katalogen oder Schemata vorhanden sind.

Ansichten

Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA,AnsichtB,AnsichtC.

Datentyp

string

Standardwert

""

Hinweise

Das Auflisten der Ansichten aus einigen Datenbanken kann teuer sein. Die Bereitstellung einer Liste von Ansichten in der Verbindungszeichenfolge verbessert die Leistung des Connectors.

Diese Eigenschaft kann auch als Alternative zum automatischen Auflisten von Ansichten verwendet werden, wenn Sie bereits wissen, mit welchen Sie arbeiten möchten, und es sonst zu viele wären.

Geben Sie die gewünschten Ansichten in einer durch Kommas getrennten Liste an. Jede Ansicht sollte ein gültiger SQL-Bezeichner sein, wobei alle Sonderzeichen mit eckigen Klammern, Anführungszeichen oder Backticks maskiert werden. Beispiel: Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Beachten Sie, dass Sie beim Herstellen einer Verbindung zu einer Datenquelle mit mehreren Schemata oder Katalogen den vollqualifizierten Namen der Tabelle in dieser Eigenschaft angeben müssen, wie im letzten Beispiel hier, um Mehrdeutigkeiten zwischen Tabellen zu vermeiden, die in mehreren Katalogen oder Schemata vorhanden sind.

Verschiedenes

Dieser Abschnitt enthält eine vollständige Liste verschiedener Eigenschaften, die Sie konfigurieren können.

Eigenschaft Beschreibung
AutoDetectIndex Ein Boolescher Wert, der angibt, ob sekundäre Indizes basierend auf der verwendeten Abfrage automatisch erkannt werden sollen.
FlattenArrays Standardmäßig werden verschachtelte Arrays als JSON-Strings zurückgegeben. Mit der Eigenschaft FlattenArrays können die Elemente verschachtelter Arrays in eigene Spalten umgewandelt werden. Legen Sie FlattenArrays auf die Anzahl der Elemente fest, die Sie aus verschachtelten Arrays zurückgeben möchten.
FlattenObjects Setzen Sie FlattenObjects auf true, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden in Arrays verschachtelte Objekte als JSON-Strings zurückgegeben.
FlexibleSchema Setzen Sie FlexibleSchema auf „true“, um nach zusätzlichen Metadaten im Abfrage zu suchen. Andernfalls bleiben die Metadaten gleich.
GenerateSchemaFiles Gibt die Benutzerpräferenz an, wann Schemata generiert und gespeichert werden sollen.
IgnoreTypes Entfernt die Unterstützung für die angegebenen Typen. Beispielsweise Zeit. Diese Typen werden dann stattdessen als Zeichenfolgen gemeldet.
MaximumRequestRetries Die maximale Anzahl von Wiederholungsversuchen einer Anfrage.
MaxRows Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln.
Other Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet.
Pagesize Konfiguriert die maximale Anzahl von Elementen, die Amazon DynamoDB pro API Anfrage auswertet.
PseudoColumns Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht.
RetryWaitTime Die Mindestanzahl an Millisekunden, die der Anbieter wartet, bevor er eine Anforderung wiederholt.
RowScanDepth Die maximale Anzahl der zu scannenden Zeilen, um nach den in einer Tabelle verfügbaren Spalten zu suchen.
SeparatorCharacter Das oder die Zeichen, die zur Kennzeichnung der Hierarchie verwendet werden.
ThreadCount Die Anzahl der Threads, die bei der Datenauswahl über einen parallelen Scan verwendet werden sollen. Wenn Sie ThreadCount auf 1 setzen, werden parallele Scans deaktiviert.
Timeout Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird.
TypeDetectionScheme Bestimmt, wie der Datentyp von Spalten ermittelt wird.
UseBatchWriteItemOperation Wenn aktiviert, verwendet der Anbieter die BatchWriteItem Operation zur Handhabung von Updates und INSERTs. Standardmäßig verwendet der Anbieter die ExecuteStatement/BatchExecuteStatement Operation. Sie müssen BatchWriteItem nur aktivieren, wenn Sie binäre/binär gesetzte Daten einfügen/aktualisieren. ExecuteStatement/BatchExecuteStatement unterstützt keine Manipulation binärer Felder.
UseConsistentReads Ob bei Abfragen von DynamoDb immer konsistente Lesevorgänge verwendet werden sollen oder nicht.
UserDefinedViews Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält.
UseSimpleNames Boolescher Wert, der bestimmt, ob für Tabellen und Spalten einfache Namen verwendet werden sollen.

AutoDetectIndex

Ein Boolescher Wert, der angibt, ob sekundäre Indizes basierend auf der verwendeten Abfrage automatisch erkannt werden sollen.

Datentyp

bool

Standardwert

true

Hinweise

In DynamoDB können Sie sekundäre Indizes verwenden, um Daten aus einer bestimmten Tabelle schneller auszuwählen. Standardmäßig versuchen wir, basierend auf den Abfrage automatisch einen zu verwendenden Index zu erkennen. Dies ist jedoch möglicherweise nicht immer wünschenswert. Um die Indexerkennungslogik zu deaktivieren, setzen Sie die Eigenschaft auf „false“. Wenn Sie die Abfrage steuern und den Index lieber selbst angeben möchten, verwenden Sie die Pseudospalte „SecondaryIndexName“, um anzugeben, welcher Index (falls vorhanden) verwendet werden soll.

Arrays abflachen

Standardmäßig werden verschachtelte Arrays als JSON-Strings zurückgegeben. Mit der Eigenschaft FlattenArrays können die Elemente verschachtelter Arrays in eigene Spalten umgewandelt werden. Legen Sie FlattenArrays auf die Anzahl der Elemente fest, die Sie aus verschachtelten Arrays zurückgeben möchten.

Datentyp

string

Standardwert

""

Hinweise

Standardmäßig werden verschachtelte Arrays als JSON-Strings zurückgegeben. Das FlattenArrays-Eigenschaft kann verwendet werden, um die Elemente verschachtelter Arrays in eigene Spalten zu reduzieren. Dies wird nur für Arrays empfohlen, die voraussichtlich kurz sind.

Set FlattenArrays zur Anzahl der Elemente, die Sie aus verschachtelten Arrays zurückgeben möchten. Die angegebenen Elemente werden als Spalten zurückgegeben. Der nullbasierte Index wird an den Spaltennamen angehängt. Andere Elemente werden ignoriert.

Sie können beispielsweise eine beliebige Anzahl von Elementen aus einem Array von Zeichenfolgen zurückgeben:

["FLOW-MATIC","LISP","COBOL"]

Wenn FlattenArrays auf 1 gesetzt ist, wird das vorhergehende Array in die folgende Tabelle abgeflacht:

Spaltenname Spaltenwert
languages_0 FLOW-MATIC

Objekte abflachen

Setzen Sie FlattenObjects auf true, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden in Arrays verschachtelte Objekte als JSON-Strings zurückgegeben.

Datentyp

bool

Standardwert

true

Hinweise

Satz FlattenObjects auf true, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden in Arrays verschachtelte Objekte als JSON-Zeichenfolgen zurückgegeben. Der Eigenschaftsname wird mit einem Unterstrich an den Objektnamen angehängt, um den Spaltennamen zu generieren.

Sie können beispielsweise die folgenden verschachtelten Objekte zum Zeitpunkt der Verbindung reduzieren:

[
     { "grade": "A", "score": 2 },
     { "grade": "A", "score": 6 },
     { "grade": "A", "score": 10 },
     { "grade": "A", "score": 9 },
     { "grade": "B", "score": 14 }
]

Wenn FlattenObjects ist auf true gesetzt und FlattenArrays auf 1 gesetzt ist, wird das vorhergehende Array in die folgende Tabelle abgeflacht:

Spaltenname Spaltenwert
grades_0\_grade EIN
grades_0\_score 2

FlexiblesSchema

Setzen Sie FlexibleSchema auf „true“, um den Abfrage nach zusätzlichen Metadaten zu durchsuchen. Andernfalls bleiben die Metadaten unverändert.

Datentyp

bool

Standardwert

true

Hinweise

Satz FlexibleSchema auf „true“, um nach zusätzlichen Metadaten im Abfrage zu suchen. Andernfalls bleiben die Metadaten unverändert.

Schemadateien generieren

Gibt die Benutzerpräferenz an, wann Schemata generiert und gespeichert werden sollen.

Mögliche Werte

Never, OnUse, OnStart, OnCreate

Datentyp

string

Standardwert

Never

Hinweise

Diese Eigenschaft gibt Schemata in .rsd-Dateien im durch Location angegebenen Pfad aus.

Die folgenden Einstellungen sind verfügbar:

  • Niemals: Es wird nie eine Schema generiert.
  • OnUse: Beim ersten Verweis auf eine Tabelle wird eine Schema generiert, sofern die Schema für die Tabelle noch nicht vorhanden ist.
  • OnStart: Zum Zeitpunkt der Verbindung wird für alle Tabellen, die aktuell keine Schema haben, eine Schema generiert.
  • OnCreate: Beim Ausführen einer CREATE TABLE-SQL- Abfrage wird eine Schema generiert.

Beachten Sie, dass Sie eine Datei zuerst löschen müssen, wenn Sie sie neu generieren möchten.

Generieren von Schemas mit SQL

Wenn Sie setzen GenerateSchemaFiles Zu OnUse, der Connector generiert Schemata, während Sie SELECT-Abfragen ausführen. Schemata werden für jede in der Abfrage referenzierte Tabelle generiert.

Wenn Sie setzen GenerateSchemaFiles Zu OnCreate, Schemas werden nur generiert, wenn eine CREATE TABLE Abfrage ausgeführt wird.

Schemas bei Verbindung generieren

Eine andere Möglichkeit, diese Eigenschaft zu verwenden, besteht darin, beim Herstellen einer Verbindung Schemata für jede Tabelle in Ihrer Datenbank abzurufen. Setzen Sie dazu GenerateSchemaFiles Zu OnStart und verbinden.

Typen ignorieren

Entfernt die Unterstützung für die angegebenen Typen. Zum Beispiel Zeit. Diese Typen werden dann stattdessen als Zeichenfolgen gemeldet.

Datentyp

string

Standardwert

Datetime,Date,Time

Hinweise

Entfernt die Unterstützung für die angegebenen Typen. Zum Beispiel Zeit. Diese Typen werden dann stattdessen als Zeichenfolgen gemeldet.

MaximaleAnforderungswiederholungen

Die maximale Anzahl von Wiederholungsversuchen für eine Anfrage.

Datentyp

string

Standardwert

4

Hinweise

MaximumRequestRetries ist die maximale Anzahl von Wiederholungsversuchen des Connectors für eine Anfrage, wenn das Problem als vorübergehend erkannt wurde (Fehler wie „unbekannter Fehler“, Netzwerkprobleme und Überschreiten des maximalen Schwellenwerts pro Tabelle). In diesem Fall wird der Connector beim ersten Wiederholungsversuch zurücktreten und die durch RetryWaitTime festgelegte Zeitspanne abwarten. Wenn diese Anfrage fehlschlägt, verdoppelt der Connector die Zeit und verdoppelt sie dann noch einmal, bis der Connector alle verfügbaren Wiederholungsversuche ausgeschöpft hat.

Wenn beispielsweise RetryWaitTime ist auf 2 Sekunden eingestellt und MaximumRequestRetries auf 5 gesetzt ist, betragen die Wartezeiten: 0 -> 2 -> 4 -> 8 -> 16 -> 32.

MaxRows

Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln.

Datentyp

int

Standardwert

-1

Hinweise

Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln.

Andere

Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet.

Datentyp

string

Standardwert

""

Hinweise

Die unten aufgeführten Eigenschaften sind für bestimmte Anwendungsfälle verfügbar. Für normale Anwendungsfälle und Funktionen von Treiber sollten diese Eigenschaften nicht erforderlich sein.

Geben Sie mehrere Eigenschaften in einer durch Semikolon getrennten Liste an.

Integration und Formatierung
Eigenschaft Beschreibung
DefaultColumnSize Legt die Standardlänge von Zeichenfolgefeldern fest, wenn die Datenquelle keine Spaltenlänge in den Metadaten bereitstellt. Der Standardwert ist 2000.
ConvertDateTimeToGMT Bestimmt, ob Datums-/Uhrzeitwerte in GMT statt in die lokale Zeit des Computers konvertiert werden sollen.
RecordToFile=filename Protokolliert den zugrunde liegenden Socket-Datenübertragungsvorgang in die angegebene Datei.

Seitengröße

Konfiguriert die maximale Anzahl von Elementen, die Amazon DynamoDB pro API Anfrage auswertet.

Datentyp

int

Standardwert

-1

Hinweise

Konfiguriert die maximale Anzahl von Elementen, die Amazon DynamoDB pro API-Anforderung auswertet (nicht notwendigerweise die Anzahl der übereinstimmenden Elemente). Wenn Amazon DynamoDB während der Ergebnisverarbeitung die Anzahl der Elemente bis zum Grenzwert verarbeitet, stoppt es den Operation und gibt die übereinstimmenden Werte bis zu diesem Punkt zusammen mit einem Paginierungstoken zurück, das zum Abrufen der restlichen Daten verwendet wird. Wenn die verarbeitete Datensatzgröße 1 MB überschreitet, bevor Amazon DynamoDB diesen Seitengrößengrenzwert erreicht, stoppt es den Operation und gibt die übereinstimmenden Werte bis zum Grenzwert zurück. Der Standardwert ist -1, wodurch der Server die maximale Seitengröße berechnen kann.

Pseudospalten

Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht.

Datentyp

string

Standardwert

""

Hinweise

Diese Einstellung ist besonders hilfreich im Entity Framework, da Sie dort keinen Wert für eine Pseudospalte festlegen können, es sei denn, es handelt sich um eine Tabellenspalte. Der Wert dieser Verbindungseinstellung hat das Format „Tabelle1=Spalte1, Tabelle1=Spalte2, Tabelle2=Spalte3“. Sie können das Zeichen „*“ verwenden, um alle Tabellen und alle Spalten einzuschließen, z. B. „*=*“.

Wartezeit für erneuten Versuch

Die Mindestanzahl an Millisekunden, die der Anbieter wartet, bevor er eine Anfrage erneut versucht.

Datentyp

string

Standardwert

2000

Hinweise

Der Wert dieser Eigenschaft wird bei jedem Wiederholungsversuch verdoppelt, um zu bestimmen, wie lange bis zum nächsten Wiederholungsversuch gewartet werden soll. Geben Sie die maximale Anzahl von Wiederholungsversuchen mit MaximumRequestRetries an.

Zeilenscantiefe

Die maximale Anzahl zu scannender Zeilen, um nach den in einer Tabelle verfügbaren Spalten zu suchen.

Datentyp

int

Standardwert

50

Hinweise

Die Spalten in einer Tabelle müssen durch das Scannen der Tabellenzeilen ermittelt werden. Dieser Wert bestimmt die maximale Anzahl der zu scannenden Zeilen.

Das Festlegen eines hohen Wertes kann die Leistung beeinträchtigen. Das Festlegen eines niedrigen Wertes kann dazu führen, dass der Datentyp nicht richtig ermittelt wird, insbesondere wenn Nulldaten vorhanden sind.

Trennzeichen

Das oder die Zeichen, die zur Bezeichnung der Hierarchie verwendet werden.

Datentyp

string

Standardwert

.

Hinweise

Um Strukturen wie Maps- und List-Attribute in DynamoDB zu glätten, benötigen wir einen Spezifizierer, der die Trennung zwischen diesen Spalten und anderen Spalten angibt. Wenn dieser Wert „.“ lautet und eine Spalte mit dem Namen address.city zurückgegeben wird, deutet dies darauf hin, dass es ein zugeordnetes Attribut mit einem untergeordneten Attribut namens city gibt. Wenn Ihre Daten Spalten enthalten, die bereits einen einzelnen Punkt im Attributnamen verwenden, setzen Sie das SeparatorCharacter zu einem oder mehreren anderen Charakteren.

Anzahl der Threads

Die Anzahl der Threads, die bei der Datenauswahl über einen parallelen Scan verwendet werden sollen. Wenn Sie ThreadCount auf 1 setzen, werden parallele Scans deaktiviert.

Datentyp

string

Standardwert

5

Hinweise

Parallele Scans ermöglichen ein schnelleres Abrufen von Daten, indem der Abrufvorgang auf mehrere Threads aufgeteilt wird. Dies kann die Leistung beim Scannen von Daten in Amazon DynamoDB erheblich verbessern. Allerdings werden dadurch auch Ihre Leseeinheiten für eine Tabelle viel schneller verbraucht als bei einem einzelnen Thread. Berücksichtigen Sie Ihre verfügbaren Kerne, Bandbreite und Leseeinheiten für Ihre Tabellen, bevor Sie die Threadanzahl erhöhen.

Zeitüberschreitung

Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird.

Datentyp

int

Standardwert

60

Hinweise

Wenn Timeout = 0, Operationen werden nicht abgebrochen. Die Operationen werden ausgeführt, bis sie erfolgreich abgeschlossen sind oder bis ein Fehler auftritt.

Wenn Timeout abläuft und der Operation noch nicht abgeschlossen ist, löst der Connector eine Ausnahme aus.

Typerkennungsschema

Bestimmt, wie der Datentyp von Spalten ermittelt wird.

Mögliche Werte

None, RowScan

Datentyp

string

Standardwert

RowScan

Hinweise
Eigenschaft Beschreibung
None Einstellung TypeDetectionScheme auf „None“ gibt alle Spalten als Zeichenfolge zurück. Hinweis: Auch wenn „None“ gesetzt ist, werden die Spaltennamen trotzdem gescannt, wenn „Header=True“ ist.
RowScan Einstellung TypeDetectionScheme to RowScan scannt Zeilen, um den Datentyp heuristisch zu bestimmen. Die RowScanDepth bestimmt die Anzahl der zu scannenden Zeilen. Wenn kein Wert angegeben ist, wird standardmäßig RowScan verwendet.

Verwenden Sie BatchWriteItemOperation

Wenn aktiviert, verwendet der Anbieter die BatchWriteItem Operation zur Handhabung von Updates und INSERTs. Standardmäßig verwendet der Anbieter die ExecuteStatement/BatchExecuteStatement Operation. Sie müssen BatchWriteItem nur aktivieren, wenn Sie binäre/binär festgelegte Daten einfügen/aktualisieren. ExecuteStatement/BatchExecuteStatement unterstützt nicht die Manipulation binärer Felder.

Datentyp

bool

Standardwert

false

Hinweise

Wenn aktiviert, verwendet der Anbieter die BatchWriteItem Operation zur Handhabung von Updates und INSERTs. Standardmäßig verwendet der Anbieter die ExecuteStatement/BatchExecuteStatement Operation. Sie müssen BatchWriteItem nur aktivieren, wenn Sie binäre/binär festgelegte Daten einfügen/aktualisieren. ExecuteStatement/BatchExecuteStatement unterstützt nicht die Manipulation binärer Felder.

Verwenden Sie konsistente Lesevorgänge

Ob bei Abfragen von DynamoDb immer konsistente Lesevorgänge verwendet werden sollen oder nicht.

Datentyp

bool

Standardwert

false

Hinweise

Dieser Parameter wird für globale sekundäre Indizes nicht unterstützt. Wenn Sie mithilfe eines sekundären Indexes scannen oder Abfrage, werden konsistente Lesevorgänge nicht verwendet, selbst wenn die Eigenschaft auf „true“ gesetzt ist.

BenutzerdefinierteAnsichten

Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält.

Datentyp

string

Standardwert

""

Hinweise

Benutzerdefinierte Ansichten werden in einer JSON-formatierten Konfigurationsdatei namens UserDefinedViews.json. Der Connector erkennt die in dieser Datei angegebenen Ansichten automatisch.

Sie können auch mehrere Ansichtsdefinitionen haben und diese mit steuern UserDefinedViews Verbindungseigenschaft. Wenn Sie diese Eigenschaft verwenden, werden vom Connector nur die angegebenen Ansichten angezeigt.

Diese Konfigurationsdatei für benutzerdefinierte Ansichten ist wie folgt formatiert:

  • Jedes Stammelement definiert den Namen einer Ansicht.
  • Jedes Stammelement enthält ein untergeordnetes Element namens query, das die benutzerdefinierte SQL- Abfrage für die Ansicht enthält.

Zum Beispiel:

{
    "MyView": {
        "query": "SELECT * FROM Account WHERE MyColumn = 'value'"
    },
    "MyView2": {
        "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
    }
}

Verwenden Sie UserDefinedViews Verbindungseigenschaft, um den Speicherort Ihrer JSON-Konfigurationsdatei anzugeben. Beispiel:

"UserDefinedViews", C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json

Beachten Sie, dass der angegebene Pfad nicht in Anführungszeichen steht.

UseSimpleNames

Boolescher Wert, der bestimmt, ob einfache Namen für Tabellen und Spalten verwendet werden sollen.

Datentyp

bool

Standardwert

false

Hinweise

Amazon DynamoDB-Tabellen und-Spalten können Sonderzeichen in Namen verwenden, die in Standarddatenbanken normalerweise nicht zulässig sind. UseSimpleNames macht den Connector mit herkömmlichen Datenbanktools einfacher zu verwenden.

Einstellung UseSimpleNames auf true vereinfacht die Namen der zurückgegebenen Tabellen und Spalten. Es wird ein Benennungsschema erzwungen, sodass nur alphanumerische Zeichen und der Unterstrich für die angezeigten Tabellen- und Spaltennamen gültig sind. Alle nicht alphanumerischen Zeichen werden in einen Unterstrich umgewandelt.