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:
- Melden Sie sich bei der IAM-Konsole an.
- Wählen Sie im Navigationsbereich
Users
. - 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:
- Melden Sie sich mit den Anmeldeinformationen für Ihr Root-Konto bei der AWS-Managementkonsole an.
- Wählen Sie Ihren Kontonamen oder Ihre Kontonummer.
- Wählen Sie im angezeigten Menü
My Security Credentials
. - 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 aufTemporaryCredentials
.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ürdie 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ürdie 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
, oderSMS
. -
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 aufFalse
.
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
: DerPartner 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 einzustellenAWS SSO ACS URL
. Sie finden es unterAWS SSO > Settings > View Details
neben demAuthentication
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 aufAwsMFA
.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 aufAwsCredentialsFile
.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 aufAwsCognitoSrp
(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 deaktivierenRowScanDepth
.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:
| |
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: Um allen Tabellen in der Region, die Sie in der Verbindungseigenschaft AWSRegion angegeben haben, Berechtigungen zu erteilen, verwenden Sie ein * anstelle des Tabellennamens:
| |
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="&quot;restaurant_id&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="&quot;borough&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="&quot;address&quot;.&quot;zipcode&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="&quot;address&quot;.&quot;coord&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="&quot;address&quot;.&quot;coord&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="&quot;address&quot;.&quot;building&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="&quot;address&quot;.&quot;street&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="&quot;name&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="&quot;cuisine&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="&quot;restaurant_id&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="&quot;borough&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="&quot;address&quot;.&quot;zipcode&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="&quot;address&quot;.&quot;coord&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="&quot;address&quot;.&quot;coord&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="&quot;address&quot;.&quot;building&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="&quot;address&quot;.&quot;street&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="&quot;name&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="&quot;cuisine&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:
- sys_catalogs: Listet die verfügbaren Datenbanken auf.
- sys_schemas: Listet die verfügbaren Schemata auf.
- sys_tables: Listet die verfügbaren Tabellen und Ansichten auf.
- sys_tablecolumns: Beschreibt die Spalten der verfügbaren Tabellen und Ansichten.
- sys_procedures: Beschreibt die verfügbaren gespeicherten Prozeduren.
- sys_procedureparameters: Beschreibt Parameter gespeicherter Prozeduren.
- sys_keycolumns: Beschreibt die Primär- und Fremdschlüssel.
- sys_indexes: Beschreibt die verfügbaren Indizes.
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.
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. |
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. |
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. |
Eigenschaft | Beschreibung |
---|---|
SSLServerCert | Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL. |
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. |
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:
-
Melden Sie sich mit den Anmeldeinformationen für Ihr Root-Konto bei der AWS-Verwaltungskonsole an.
-
Wählen Sie Ihren Kontonamen oder Ihre Kontonummer und wählen Sie im angezeigten Menü „Meine Sicherheitsanmeldeinformationen“.
-
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:
-
Melden Sie sich mit den Anmeldeinformationen für Ihr Root-Konto bei der AWS-Verwaltungskonsole an.
-
Wählen Sie Ihren Kontonamen oder Ihre Kontonummer und wählen Sie im angezeigten Menü „Meine Sicherheitsanmeldeinformationen“.
-
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:
- Benutzer: Der ADFS-Benutzer.
- Passwort: Das Passwort des ADFS-Benutzers.
- SSOLoginURL: Die Anmelde-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, legen Sie das AuthScheme fest Zu Okta
, und legen Sie diese Eigenschaften fest:
- Benutzer: Der Okta Benutzer.
- Passwort: Das Passwort des Okta Benutzers.
- SSOLoginURL: Die Anmelde-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
, oderSMS
. -
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 aufFalse
.
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.