Azure Cosmos DB Verbindungsdetails
Einführung
Connector-Version
Diese Dokumentation basiert auf Version 23.0.8895 des Connectors.
Erste Schritte
Versionsunterstützung für Azure Cosmos DB
Der Connector ermöglicht einen standardbasierten Zugriff auf Azure Cosmos DB.
Herstellen einer Verbindung
Vor dem Anschließen
Rollenzuweisung
Stellen Sie sicher, dass die Azure-Identität die richtige Rolle hat. Die Identität ist das Konto, mit dem Sie sich während der Microsoft Entra ID Authentifizierung beim Browser anmelden, oder die Anwendung selbst für AzureServicePrincipal.
Authentifizierung. Weitere Einzelheiten finden Sie unter folgendem Link:
Konfigurieren Sie die rollenbasierte Zugriffssteuerung für Ihr Azure Cosmos DB Konto mit Entra ID
Sie können entweder eine der integrierten Rolle zuweisen:
- Integrierter Datenleser von CosmosDB
- Integrierter Datenbeitragender von CosmosDB
oder erstellen Sie Ihre eigenen benutzerdefinierten Rolle. Sie müssen auch den Umfang der Rolle festlegen, wobei "/" bedeutet, dass die Identität Zugriff auf alle Datenbanken hat.
Herstellen einer Verbindung mit Azure Cosmos DB
Kontoschlüssel
Melden Sie sich beim Azure-Portal an und wählen Sie Azure Cosmos DB
, und wählen Sie Ihr Konto aus.
Legen Sie zur Authentifizierung Folgendes fest:
AccountEndpoint
: Die Cosmos DB-Konto URL. Legen Sie diese auf festURI
Wert gefunden inSettings > Keys
Blade des Cosmos DB-Kontos.AccountKey
: Ein Hauptschlüsseltoken oder ein Ressourcentoken für die Verbindung mit Azure Cosmos DB. Legen Sie dies auf festPRIMARY KEY
Wert gefunden inSettings > Keys
Blade des Cosmos DB-Kontos.TokenType
: (optional). Setzen Sie dies auf „Master“ (Standardwert), wenn Sie ein Master-Token verwenden, also ein vollständiges Berechtigungstoken, das bei der Kontoerstellung generiert wird. Andernfalls setzen Sie diese Eigenschaft auf „Ressource“, wenn Sie ein Ressourcentoken verwenden, also ein benutzerdefiniertes Berechtigungstoken, das bei der Einrichtung eines Datenbankbenutzers generiert wird.
Microsoft Entra ID
Microsoft Entra ID ist der mehrinstanzenfähige, cloudbasierte Verzeichnis- und Identitätsverwaltungsdienst von Microsoft. Es handelt sich um eine benutzerbasierte Authentifizierung, für die Sie Folgendes festlegen müssen: AuthScheme
Zu AzureAD
.
Die Authentifizierung bei Microsoft Entra ID über eine Webanwendung erfordert immer die Erstellung einer benutzerdefinierten OAuth-Anwendung. Weitere Informationen finden Sie unter Erstellen einer Entra ID-Anwendung.
Desktop-Anwendungen
bietet eine eingebettete OAuth-Anwendung, die die Verbindung zu Microsoft Entra ID von einer Desktop-Anwendung aus vereinfacht.
Sie können sich auch von einer Desktop-Anwendung aus mit einer benutzerdefinierten OAuth-Anwendung authentifizieren. (Weitere Informationen finden Sie unter Erstellen einer Entra ID-Anwendung.) Um sich über die Entra-ID zu authentifizieren, legen Sie diese Parameter fest:
AuthScheme
:AzureAD
.- Nur benutzerdefinierte Anwendungen:
OAuthClientId
: Die Client-ID, die Ihnen bei der Registrierung Ihrer benutzerdefinierten OAuth-Anwendung zugewiesen wurde.OAuthClientSecret
: Das Client-Geheimnis, das Ihnen bei der Registrierung Ihrer benutzerdefinierten OAuth-Anwendung zugewiesen wurde.CallbackURL
: Die Umleitungs-URI, die Sie bei der Registrierung Ihrer benutzerdefinierten OAuth-Anwendung definiert haben.
Wenn Sie eine Verbindung herstellen, öffnet der Connector den OAuth-Endpoint von Azure Cosmos DB in Ihrem Standardbrowser. Melden Sie sich an und erteilen Sie der Anwendung Berechtigungen.
Der Connector schließt den OAuth-Prozess ab, erhält ein Zugriffstoken von Azure Cosmos DB und verwendet es zum Anfordern von Daten. Die OAuth-Werte werden in dem in angegebenen Pfad gespeichert OAuthSettingsLocation
. Diese Werte bleiben über Verbindungen hinweg bestehen.
Wenn das Zugriffstoken abläuft, aktualisiert der Connector es automatisch.
Microsoft Entra-Dienstprinzipal
Azure Service Principal ist eine rollenbasierte, anwendungsbasierte Authentifizierung. Das bedeutet, dass die Authentifizierung pro Anwendung und nicht pro Benutzer erfolgt. Alle von der Anwendung übernommenen Aufgaben werden ohne Standardbenutzerkontext, sondern basierend auf den zugewiesenen Rollen ausgeführt. Der Anwendungszugriff auf die Ressourcen wird über die Berechtigungen der zugewiesenen Rollen gesteuert.
Informationen zum Einrichten der Microsoft Entra-Dienstprinzipalauthentifizierung finden Sie unter Erstellen einer Entra-ID-Anwendung mit Dienstprinzipal.
Erstellen einer Entra-ID-Anwendung
Erstellen einer Entra-ID-Anwendung
Azure Cosmos DB unterstützt benutzerbasierte Authentifizierung mit Entra ID. Diese Authentifizierung ist OAuth-basiert.
Um eine Verbindung mit Azure Cosmos DB über das Web herzustellen, müssen Sie immer eine benutzerdefinierte Anwendung erstellen, wie hier beschrieben.
Benutzerdefinierte OAuth-Anwendungen sind nützlich, wenn Sie:
- Kontrollieren Sie das Branding des Authentifizierungsdialogs.
- Steuern Sie die Umleitungs-URI, zu der die Anwendung den Benutzer nach seiner Authentifizierung umleitet.
- Passen Sie die Berechtigungen an, die Sie vom Benutzer anfordern.
Authentifizieren mit Entra-ID
In <https://portal.azure.com>:
-
Wählen Sie im linken Navigationsbereich
Microsoft Entra ID > App registrations
. -
Klicken Sie auf
New registration
. -
Geben Sie einen Namen für die Anwendung ein.
-
Geben Sie die Kontotypen an, die diese Anwendung unterstützen soll:
- Für Anwendungen zur privaten Nutzung wählen Sie
Accounts in this organization directory only
. - Für verteilte Anwendungen wählen Sie eine der Multi-Tenant-Optionen.
- Für Anwendungen zur privaten Nutzung wählen Sie
Hinweis
Wenn Sie auswählen Accounts in this organizational directory only
(Standard), wenn Sie eine Verbindung mit dem Azure Cosmos DB Connector herstellen, müssen Sie Folgendes festlegen: AzureTenant
an die ID des Microsoft Entra ID Mandanten. Andernfalls schlägt der Authentifizierungsversuch fehl.
-
Setzen Sie die Umleitungs-URI auf
http://localhost:33333
(Standard) ODER, wenn Sie möchtenanderen Port angeben, gewünschten Port angeben und einstellen
CallbackURL
zur genauen Antwort URL, die Sie gerade definiert haben. -
Um die neue Anwendung zu registrieren, klicken Sie auf
Register
. Ein Anwendungsverwaltungsbildschirm wird angezeigt. Notieren Sie diese Werte zur späteren Verwendung. (Sie verwenden dieApplication (client) ID
Wert zum Festlegen vonOAuthClientId
Parameter und dieDirectory (tenant) ID
Wert zum Festlegen vonAzureTenant
Parameter.) -
Navigieren Sie zu
Certificates & Secrets
. WählenNew Client Secret
für diese Anwendung und geben Sie die gewünschte Dauer an. Nachdem das Clientgeheimnis gespeichert wurde, zeigt die Azure App-Registrierung den Schlüsselwert an. Dieser Wert wird nur einmal angezeigt, notieren Sie ihn also für die zukünftige Verwendung. (Sie werden ihn verwenden, um den festzulegenOAuthClientSecret
.) -
Wenn Sie die Verwendung von Berechtigungen angegeben haben, für die die Zustimmung des Administrators erforderlich ist (z. B. Anwendungsberechtigungen), können Sie diese vom aktuellen Mandanten aus auf der Seite „API Berechtigungen“ erteilen.
Erstellen einer Entra-ID-Anwendung mit Service Principal
Erstellen einer Entra-ID-Anwendung mit Service Principal
Azure Cosmos DB unterstützt die rollenbasierte Authentifizierung auf Basis des Dienstprinzipals. Wenn Sie einen Dienstprinzipal zur Authentifizierung bei Azure Cosmos DB verwenden möchten, müssen Sie eine benutzerdefinierte Microsoft Entra ID Anwendung erstellen, wie hier beschrieben. Um die Microsoft Entra-Dienstprinzipalauthentifizierung zu verwenden, müssen Sie die Möglichkeit einrichten, der Authentifizierungsanwendung eine Rolle zuzuweisen. Anschließend müssen Sie eine Anwendung beim Microsoft Entra ID Mandanten registrieren, um einen neuen Dienstprinzipal zu erstellen. Dieser neue Dienstprinzipal kann dann die zugewiesene rollenbasierte Zugriffssteuerung nutzen, um auf Ressourcen in Ihrem Abonnement zuzugreifen.
Authentifizieren mit einem Microsoft Entra-Dienstprinzipal
In <https://portal.azure.com>:
- Wählen Sie im linken Navigationsbereich
Microsoft Entra ID > App registrations
. - Klicken Sie auf
New registration
. - Geben Sie einen Namen für die Anwendung ein.
- Wählen Sie die gewünschte Mandantenkonfiguration aus. Da diese benutzerdefinierte Anwendung für den Microsoft Entra-Dienstprinzipal bestimmt ist, wählen Sie
Any Microsoft Entra ID tenant - Multi Tenant
. - Um die neue Anwendung zu registrieren, klicken Sie auf
Register
. Ein Anwendungsverwaltungsbildschirm wird angezeigt.
Notieren Sie den Wert inApplication (client) ID
alsOAuthClientId
und dasDirectory (tenant) ID
alsAzureTenant
. - Navigieren Sie zu
Certificates & Secrets
und definieren Sie den Authentifizierungstyp der Anwendung. Es stehen zwei Arten der Authentifizierung zur Verfügung: Zertifikat (empfohlen) oder Client-Geheimnis.- Für die Zertifikatsauthentifizierung: In
Certificates & Secrets
, wählenUpload certificate
, und laden Sie dann das Zertifikat von Ihrem lokalen Computer hoch. Ein Beispiel zum Erstellen dieses Zertifikats finden Sie unterhttps://learn.microsoft.com/en-us/entra/identity-platform/howto-create-self-signed-certificate
. - Zum Erstellen eines neuen Client-Geheimnisses: In
Certificates & Secrets
, wählenNew Client Secret
für die Anwendung und geben Sie deren Dauer an. Nachdem der geheime Clientschlüssel gespeichert wurde, zeigt Azure Cosmos DB den Schlüsselwert an. Dieser Wert wird nur einmal angezeigt. Notieren Sie ihn daher für die zukünftige Verwendung. (Dieser Wert wird zumOAuthClientSecret
.)
- Für die Zertifikatsauthentifizierung: In
- Navigieren Sie zur Tab Authentifizierung und wählen Sie die
Access tokens
Option. - Speichern Sie Ihre Änderungen.
Zustimmung zu Kundenanmeldeinformationen
OAuth unterstützt die Verwendung von Clientanmeldeinformationen zur Authentifizierung. In einem Clientanmeldeinformationen-Authentifizierungsablauf werden Anmeldeinformationen für die authentifizierende Anwendung selbst erstellt. Der Authentifizierungsablauf funktioniert genau wie der übliche Authentifizierungsablauf, mit der Ausnahme, dass ein zugeordneter Benutzer nicht aufgefordert wird, Anmeldeinformationen anzugeben.
Alle von der Anwendung akzeptierten Aufgaben werden außerhalb des Kontexts eines Standardbenutzers ausgeführt.
Notiz
Da die eingebetteten OAuth-Anmeldeinformationen die Authentifizierung pro Benutzer durchführen, können Sie nicht
Verwenden Sie sie in einem Clientauthentifizierungsablauf. Sie müssen immer eine benutzerdefinierte Microsoft Entra ID Anwendung erstellen, um Clientanmeldeinformationen verwenden zu können.
In <https://portal.azure.com>:
- Erstellen Sie eine benutzerdefinierte Microsoft Entra ID Anwendung, wie oben beschrieben.
- Navigieren Sie zu
App Registrations
. - Suchen Sie die Anwendung, die Sie gerade erstellt haben, und öffnen Sie
API Permissions
. - Wählen Sie die Microsoft Graph-Berechtigungen aus. Es gibt zwei verschiedene Berechtigungssätze: Delegiert und Anwendung.
- Geben Sie für die Verwendung mit dem Dienstprinzipal an
Application
Berechtigungen. - Wählen Sie die Berechtigungen aus, die Sie für Ihre Integration benötigen.
Optimieren des Datenzugriffs
Optimieren des Datenzugriffs
Mithilfe der folgenden Eigenschaften können Sie eine bessere Kontrolle über die Azure Cosmos DB API Funktionen und die Strategien erlangen, die der Connector zu deren Anzeige verwendet:
RowScanDepth
: Diese Eigenschaft bestimmt die Anzahl der Zeilen, die beim Generieren von Tabellenmetadaten gescannt werden, um Spaltendatentypen zu erkennen.TypeDetectionScheme
: Diese Eigenschaft ermöglicht mehr Kontrolle über die von implementierte StrategieRowScanDepth
Eigentum.GenerateSchemaFiles
: Mit dieser Eigenschaft können Sie Tabellenmetadaten in statischen Schema speichern, die leicht angepasst werden können, um beispielsweise Ihre Änderungen an Spaltendatentypen dauerhaft zu speichern.
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 zur Konfiguration der Automatischen Schemaerkennung verwenden
Um die resultierenden Schema zu verwenden, setzen Sie dieLocation
-Eigenschaft für den Ordner, der die Schemata enthält.
Festlegen eines RU-Budgets für Batch-Schreibvorgänge
Genau wie in der SQL-Konformität beschrieben Der Connector unterstützt Charge CUD-Vorgänge (Erstellen, Aktualisieren, Löschen). Die Batchverarbeitung wird durch die gleichzeitige Ausgabe mehrerer Anforderungen erreicht. Obwohl diese Methode die Leistung für Schreibvorgänge erheblich verbessert, sind die Kosten dieser Vorgänge relativ hoch, sodass das Budget für Anforderungseinheiten (RU) pro Sekunde für einen bestimmten Container oder eine bestimmte Datenbank möglicherweise überschritten wird. Abhängig von Ihren Azure Cosmos DB Dienstkontingenten kann das Überschreiten der RU-Budgets zusätzliche Kosten verursachen oder sogar die Azure Cosmos DB Nutzung für andere Workloads vorübergehend drosseln oder unterbrechen.
Um eine Überschreitung des RU-Budgets pro Sekunde zu vermeiden, passt der Connector die Anzahl gleichzeitiger Anfragen pro Sekunde dynamisch an, je nach eingestelltem WriteThroughputBudget
und die ständig angepassten durchschnittlichen RU-Kosten pro Kontoauszug. Der Benutzer kann die WriteThroughputBudget
Verbindungseigenschaft, um das RU-Budget pro Sekunde zu definieren, das Charge-Schreibvorgänge nicht überschreiten sollten. Ein weiterer wichtiger Faktor bei Charge-Schreibvorgängen ist die MaxThreads
Verbindungseigenschaft, die die maximale Anzahl gleichzeitiger Anfragen angibt. Bei Verwendung einer niedrigen MaxThreads
-Wert, der Connector kann das verfügbare Budget möglicherweise nicht effizient nutzen.
Da die drosselung clientseitig angewendet wird, kann das Budget für RU/s in einigen Fällen relativ geringfügig überschritten werden. Zu diesen Fällen gehören das Einfügen, Aktualisieren und Löschen von Datensätzen mit sehr variabler Spaltenanzahl und Eingabewertlänge pro Spalte.
Hinweis
Standardmäßig ist das WriteThroughputBudget
Eigenschaft ist auf 1000 RU/s eingestellt und die MaxThreads
Eigenschaft ist auf 200 Threads eingestellt.
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
Azure Cosmos DB ist eine schemalose Dokumentdatenbank, die hohe Leistung, Verfügbarkeit und Skalierbarkeit bietet. Diese Funktionen sind nicht unbedingt mit einer standardkonformen Abfrage wie SQL-92 inkompatibel. In diesem Abschnitt zeigen wir verschiedene Schemata, die der Connector bietet, um die Lücke zwischen relationalem SQL und einer Dokumentdatenbank zu schließen.
Arbeiten mit Azure Cosmos DB Objekten als Tabellen
Der Connector modelliert die schemalosen Azure Cosmos DB Objekte in relationale Tabellen und übersetzt SQL-Abfragen in Azure Cosmos DB Abfragen, um die angeforderten Daten abzurufen. Siehe Abfragezuordnung (SQL- API) für weitere Details dazu, wie verschiedene Azure Cosmos DB Vorgänge als SQL dargestellt werden.
Schemas automatisch erkennen
Die Automatische Schemaerkennung-Schema findet automatisch die Datentypen in einem Azure Cosmos DB Objekt, indem es eine konfigurierte Anzahl von Zeilen des Objekts scannt. Sie können verwenden RowScanDepth
, FlattenArrays
, Und FlattenObjects
um die relationale Darstellung der Sammlungen in Azure Cosmos DB zu steuern. Sie können auch Freiformabfragen schreiben nicht an das Schema gebunden.
Schemata anpassen
Optional können Sie Benutzerdefinierte Schemadefinitionen, um die von Ihnen gewählte relationale Struktur auf ein Azure Cosmos DB Objekt zu projizieren. Auf diese Weise können Sie die von Ihnen gewählten Spaltennamen, deren Datentypen und den Speicherort ihrer Werte in der Sammlung definieren.
Satz GenerateSchemaFiles
um die erkannten Schemata als einfache Konfigurationsdateien zu speichern, die leicht zu erweitern sind. Sie können Schemata für alle Sammlungen in der Datenbank oder für die Ergebnisse von SELECT-Abfragen beibehalten.
Einschränkungen des RawValue TypeDetectionScheme
Wenn das TypeDetectionScheme
ist gesetzt auf RawValue
, der Connector überträgt jedes Dokument als einzelnen aggregierten Wert in eine Spalte mit dem Namen „JsonData“, zusammen mit seiner Ressourcenkennung in die separate Primärschlüsselspalte. Die JSON-Dokumente werden nicht verarbeitet und daher werden die folgenden Funktionen mit dieser Konfiguration NICHT unterstützt.
- Automatische Schemaerkennung
- Freiformabfragen
- Vertikale Abflachung
- Integrierte SQL API Funktionen
- SQL API GROUP BY
- Fast alle serverseitig unterstützten Filter außer den mit der Ressourcenkennung erstellten WHERE-Klauselbedingungen.
Automatische Schemaerkennung
Der Connector leitet automatisch ein relationales Schema ab, indem er eine Reihe von Azure Cosmos DB 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.
Freiformabfragen
Wie in Automatische Schemaerkennung besprochen, intuitive Tabellenschemas ermöglichen SQL-Zugriff auf unstrukturierte Azure Cosmos DB Daten. JSON-Funktionen ermöglichen Ihnen die Verwendung von JSON-Standardfunktionen, um Azure Cosmos DB Daten zusammenzufassen und Werte aus beliebigen verschachtelten Strukturen zu extrahieren. Benutzerdefinierte Schemadefinitionen ermöglichen Ihnen die Definition statischer Tabellen und geben Ihnen eine genauere Kontrolle über die relationale Ansicht Ihrer Daten. Sie können beispielsweise Schemata schreiben, die übergeordnete/untergeordnete Tabellen oder Fakten-/Dimensionstabellen definieren. Sie sind jedoch nicht auf diese Schemata beschränkt.
Nach dem Verbinden können Sie jede verschachtelte Struktur Abfrage, ohne die Daten zu reduzieren. Alle Beziehungen, auf die Sie mit zugreifen können FlattenArrays
Und FlattenObjects
kann auch mit einer Ad-hoc-SQL- Abfrage aufgerufen werden.
Betrachten wir ein Beispieldokument aus dem folgenden Restaurant-Datensatz:
{
"address": {
"building": "1007",
"coord": [
-73.856077,
40.848447
],
"street": "Morris Park Ave",
"zipcode": "10462"
},
"borough": "Bronx",
"cuisine": "Bakery",
"grades": [
{
"grade": "A",
"score": 2,
"date": {
"$date": "1393804800000"
}
},
{
"date": {
"$date": "1378857600000"
},
"grade": "B",
"score": 6
},
{
"score": 10,
"date": {
"$date": "1358985600000"
},
"grade": "C"
}
],
"name": "Morris Park Bake Shop",
"restaurant_id": "30075445"
}
Sie können auf jede verschachtelte Struktur in diesem Dokument als Spalte zugreifen. Verwenden Sie die Punktnotation, um zu den Werten zu gelangen, auf die Sie zugreifen möchten, wie in der folgenden Abfrage gezeigt. Beachten Sie, dass Arrays einen nullbasierten Index haben. Die folgende Abfrage ruft beispielsweise die zweite Klasse für das Restaurant im Beispiel ab:
SELECT [address.building],`[Noten.1.Klasse] `FROM restaurants WHERE restaurant_id = '30075445'
Die obige Abfrage gibt die folgenden Ergebnisse zurück:
Spaltenname | Datentyp | Beispielwert |
---|---|---|
Adresse.Gebäude | Zeichenfolge | 1007 |
Noten.1.Klasse | Zeichenfolge | A |
Vertikale Abflachung
Es ist möglich, ein Array von Dokumenten abzurufen, als wäre es eine separate Tabelle. Nehmen Sie zum Beispiel die folgende JSON-Struktur aus der Restaurantsammlung:
{
"_id" : ObjectId("568c37b748ddf53c5ed98932"),
"address" : {
"building" : "1007",
"coord" : [-73.856077, 40.848447],
"street" : "Morris Park Ave",
"zipcode" : "10462"
},
"borough" : "Bronx",
"cuisine" : "Bakery",
"grades" : [{
"date" : ISODate("2014-03-03T00:00:00Z"),
"grade" : "A",
"score" : 2
}, {
"date" : ISODate("2013-09-11T00:00:00Z"),
"grade" : "A",
"score" : 6
}, {
"date" : ISODate("2013-01-24T00:00:00Z"),
"grade" : "A",
"score" : 10
}, {
"date" : ISODate("2011-11-23T00:00:00Z"),
"grade" : "A",
"score" : 9
}, {
"date" : ISODate("2011-03-10T00:00:00Z"),
"grade" : "B",
"score" : 14
}],
"name" : "Morris Park Bake Shop",
"restaurant_id" : "30075445"
}
Durch vertikales Abflachen können Sie das Noten-Array als separate Tabelle abrufen:
SELECT * FROM [restaurants.grades]
Diese Abfrage gibt den folgenden Datensatz zurück:
Datum | Note | Punktzahl | P_id | _index |
---|---|---|---|---|
2014-03-03T00:00:00.000Z | A | 2 | 568c37b748ddf53c5ed98932 | 1 |
2013-09-11T00:00:00.000Z | A | 6 | 568c37b748ddf53c5ed98932 | 2 |
2013-01-24T00:00:00.000Z | A | 10 | 568c37b748ddf53c5ed98932 | 3 |
Möglicherweise möchten Sie auch Informationen aus der Basistabelle „Restaurants“ einschließen. Dies können Sie mit einem Join tun. Abgeflachte Arrays können nur mit dem Stammdokument verbunden werden. Der Connector erwartet, dass der linke Teil des Joins das Array-Dokument ist, das Sie vertikal abflachen möchten. Deaktivieren Sie SupportEnhancedSQL
zum Verknüpfen verschachtelter Azure Cosmos DB Dokumente - dieser Abfrage wird durch die Azure Cosmos DB API unterstützt.
SELECT [restaurants].[restaurant_id], [restaurants.grades].* FROM`[Restaurants.Noten] `JOIN` [Restaurants] `WHERE [restaurants].name = 'Morris Park Bake Shop'
Diese Abfrage gibt den folgenden Datensatz zurück:
restaurant_id | Datum | Note | Punktzahl | P_id | _index |
---|---|---|---|---|---|
30075445 | 2014-03-03T00:00:00.000Z | A | 2 | 568c37b748ddf53c5ed98932 | 1 |
30075445 | 2013-09-11T00:00:00.000Z | A | 6 | 568c37b748ddf53c5ed98932 | 2 |
30075445 | 2013-01-24T00:00:00.000Z | A | 10 | 568c37b748ddf53c5ed98932 | 3 |
30075445 | 23.11.2011T00:00:00.000Z | A | 9 | 568c37b748ddf53c5ed98932 | 4 |
30075445 | 2011-03-10T00:00:00.000Z | B | 14 | 568c37b748ddf53c5ed98932 | 5 |
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 }
Integrierte SQL- API Funktionen
Cosmos DB unterstützt auch eine Reihe integrierter Funktionen für allgemeine Vorgänge, die in Abfragen verwendet werden können. Hier sind einige Beispiele, wie sie als Teil von Select-Spalten oder der WHERE-Klausel verwendet werden können:
Verwenden integrierter Funktionen als Teil von SELECT-Spalten
SELECT IS_NUMBER(user_id) AS ISN_ATTR, IS_NUMBER(id) AS ISN_ID FROM [users]
SELECT POWER(user_id, 2) AS POWERSSS, LENGTH(id) AS LENGTH_ID, PI() AS JustThePI FROM [users]
Verwenden Sie integrierte Funktionen als Teil der WHERE-Klausel
SELECT * FROM`[Benutzer] `WHERE STARTSWITH(middle_name, 'G')
SELECT * FROM`[Benutzer] `WHERE REPLACE(middle_name, 'Chr', '___') = '___istopher'
Funktionsgruppe | Operationen |
---|---|
Mathematical functions | ABS, CEILING, EXP, FLOOR, LOG, LOG10, POWER, ROUND, SIGN, SQRT, SQUARE, TRUNC, ACOS, ASIN, ATAN, ATN2, COS, COT, DEGREES, PI, RADIANS, SIN und TAN |
Type checking functions | IS_ARRAY, IS_BOOL, IS_NULL, IS_NUMBER, IS_OBJECT, IS_STRING, IS_DEFINED und IS_PRIMITIVE |
String functions | ARRAY, CONCAT, CONTAINS, ENDSWITH, INDEX_OF, LEFT, LENGTH, LOWER, LTRIM, REPLACE, REPLICATE, REVERSE, RIGHT, RTRIM, STARTSWITH, SUBSTRING und UPPER |
Array functions | ARRAY_CONCAT, ARRAY_CONTAINS, ARRAY_LENGTH und ARRAY_SLICE |
Mathematische Funktionen
Die mathematischen Funktionen führen jeweils eine Berechnung auf der Grundlage der als Argumente bereitgestellten Eingabewerte durch und geben einen numerischen Wert zurück. Hier ist eine Tabelle der unterstützten integrierten mathematischen Funktionen.
Verwendung | Beschreibung |
---|---|
ABS (num_expr) | Gibt den absoluten (positiven) Wert des angegebenen numerischen Ausdrucks zurück. |
CEILING (num_expr) | Gibt den kleinsten ganzzahligen Wert zurück, der größer oder gleich dem angegebenen numerischen Ausdruck ist. |
FLOOR (num_expr) | Gibt die größte Ganzzahl zurück, die kleiner oder gleich dem angegebenen numerischen Ausdruck ist. |
EXP (num_expr) | Gibt den Exponenten des angegebenen numerischen Ausdrucks zurück. |
LOG (num_expr \[, base\]) | Gibt den natürlichen Logarithmus des angegebenen numerischen Ausdrucks oder den Logarithmus mit der angegebenen Basis zurück |
LOG10 (num_expr) | Gibt den logarithmischen Wert zur Basis 10 des angegebenen numerischen Ausdrucks zurück. |
ROUND (num_expr) | Gibt einen numerischen Wert zurück, der auf den nächsten ganzzahligen Wert gerundet ist. |
TRUNC (num_expr) | Gibt einen numerischen Wert zurück, gekürzt auf den nächsten ganzzahligen Wert. |
SQRT (num_expr) | Gibt die Quadratwurzel des angegebenen numerischen Ausdrucks zurück. |
SQUARE (num_expr) | Gibt das Quadrat des angegebenen numerischen Ausdrucks zurück. |
POWER (num_expr, num_expr) | Gibt die Potenz des angegebenen numerischen Ausdrucks zum angegebenen Wert zurück. |
SIGN (num_expr) | Gibt den Vorzeichenwert (-1, 0, 1) des angegebenen numerischen Ausdrucks zurück. |
ACOS (num_expr) | Gibt den Winkel im Bogenmaß zurück, dessen Kosinus der angegebene numerische Ausdruck ist; auch Arkuskosinus genannt. |
ASIN (num_expr) | Gibt den Winkel im Bogenmaß zurück, dessen Sinus der angegebene numerische Ausdruck ist. Dies wird auch Arkussinus genannt. |
ATAN (num_expr) | Gibt den Winkel im Bogenmaß zurück, dessen Tangens der angegebene numerische Ausdruck ist. Dies wird auch Arkustangens genannt. |
ATN2 (num_expr) | Gibt den Winkel im Bogenmaß zwischen der positiven x-Achse und dem Strahl vom Ursprung zum Punkt (y, x) zurück, wobei x und y die Werte der beiden angegebenen Float-Ausdrücke sind. |
COS (num_expr) | Gibt den trigonometrischen Cosinus des angegebenen Winkels im Bogenmaß im angegebenen Ausdruck zurück. |
COT (num_expr) | Gibt den trigonometrischen Kotangens des angegebenen Winkels im Bogenmaß im angegebenen numerischen Ausdruck zurück. |
DEGREES (num_expr) | Gibt für einen im Bogenmaß angegebenen Winkel den entsprechenden Winkel in Grad zurück. |
PI () | Gibt den konstanten Wert von PI zurück. |
RADIANS (num_expr) | Gibt das Bogenmaß zurück, wenn ein numerischer Ausdruck in Grad eingegeben wird. |
SIN (num_expr) | Gibt den trigonometrischen Sinus des angegebenen Winkels im Bogenmaß im angegebenen Ausdruck zurück. |
TAN (num_expr) | Gibt den Tangens des Eingabeausdrucks im angegebenen Ausdruck zurück. |
Typprüfungsfunktionen
Mit den Typprüfungsfunktionen können Sie den Typ eines Ausdrucks in SQL-Abfragen prüfen. Mithilfe von Typprüfungsfunktionen lässt sich der Typ von Eigenschaften in Dokumenten dynamisch bestimmen, wenn er variabel oder unbekannt ist. Hier ist eine Tabelle der unterstützten integrierten Typprüfungsfunktionen.
Verwendung | Beschreibung |
---|---|
IS_ARRAY (expr) | Gibt einen Booleschen Wert zurück, der angibt, ob der Typ des Werts ein Array ist. |
IS_BOOL (expr) | Gibt einen Booleschen Wert zurück, der angibt, ob der Typ des Werts ein Boolescher Wert ist. |
IS_NULL (expr) | Gibt einen Booleschen Wert zurück, der angibt, ob der Typ des Werts null ist. |
IS_NUMBER (expr) | Gibt einen Booleschen Wert zurück, der angibt, ob der Typ des Werts eine Zahl ist. |
IS_OBJECT (expr) | Gibt einen Booleschen Wert zurück, der angibt, ob der Typ des Werts ein JSON-Objekt ist. |
IS_STRING (expr) | Gibt einen Booleschen Wert zurück, der angibt, ob der Typ des Werts eine Zeichenfolge ist. |
IS_DEFINED (expr) | Gibt einen Booleschen Wert zurück, der angibt, ob der Eigenschaft ein Wert zugewiesen wurde. |
IS_PRIMITIVE (expr) | Gibt einen Booleschen Wert zurück, der angibt, ob der Typ des Werts eine Zeichenfolge, eine Zahl, ein Boolescher Wert oder Null ist. |
Stre-Funktionen
Die folgenden Skalarfunktionen führen eine Operation an einem Zeichenfolgen-Eingabewert aus und geben einen Zeichenfolgen-, numerischen oder Booleschen Wert zurück. Hier ist eine Tabelle der integrierten Zeichenfolgenfunktionen:
Verwendung | Beschreibung |
---|---|
ARRAY (str_expr) | Projizieren Sie die Ergebnisse der angegebenen Abfrage als Array. |
LENGTH (str_expr) | Gibt die Anzahl der Zeichen des angegebenen Zeichenfolgenausdrucks zurück |
CONCAT (str_expr, str_expr \[, str_expr\]) | Gibt eine Zeichenfolge zurück, die das Ergebnis der Verkettung von zwei oder mehr Zeichenfolgenwerten ist. |
SUBSTRING (str_expr, num_expr, num_expr) | Gibt einen Teil eines Zeichenfolgenausdrucks zurück. |
STARTSWITH (str_expr, str_expr) | Gibt einen Booleschen Wert zurück, der angibt, ob der erste Zeichenfolgenausdruck mit dem zweiten beginnt |
ENDSWITH (str_expr, str_expr) | Gibt einen Booleschen Wert zurück, der angibt, ob der erste Zeichenfolgenausdruck mit dem zweiten endet. |
CONTAINS (str_expr, str_expr) | Gibt einen Booleschen Wert zurück, der angibt, ob der erste Zeichenfolgenausdruck den zweiten enthält. |
INDEX_OF (str_expr, str_expr) | Gibt die Startposition des ersten Vorkommens des zweiten Zeichenfolgenausdrucks innerhalb des ersten angegebenen Zeichenfolgenausdrucks zurück oder -1, wenn die Zeichenfolge nicht gefunden wird. |
LEFT (str_expr, num_expr) | Gibt den linken Teil einer Zeichenfolge mit der angegebenen Anzahl von Zeichen zurück. |
RIGHT (str_expr, num_expr) | Gibt den rechten Teil einer Zeichenfolge mit der angegebenen Anzahl von Zeichen zurück. |
LTRIM (str_expr) | Gibt einen Zeichenfolgenausdruck zurück, nachdem führende Leerzeichen entfernt wurden. |
RTRIM (str_expr) | Gibt einen Zeichenfolgenausdruck zurück, nachdem alle nachstehenden Leerzeichen abgeschnitten wurden. |
LOWER (str_expr) | Gibt einen Zeichenfolgenausdruck zurück, nachdem Großbuchstaben in Kleinbuchstaben umgewandelt wurden. |
UPPER (str_expr) | Gibt einen Zeichenfolgenausdruck zurück, nachdem Kleinbuchstaben in Großbuchstaben umgewandelt wurden. |
REPLACE (str_expr, str_expr, str_expr) | Ersetzt alle Vorkommen eines angegebenen Zeichenfolgenwerts durch einen anderen Zeichenfolgenwert. |
REPLICATE (str_expr, num_expr) | Wiederholt einen Zeichenfolgenwert eine angegebene Anzahl Mal. |
REVERSE (str_expr) | Gibt die umgekehrte Reihenfolge eines Zeichenfolgenwerts zurück. |
Array-Funktionen
Die folgenden Skalarfunktionen führen eine Operation an einem Array-Eingabewert aus und geben einen numerischen, booleschen oder Array-Wert zurück. Hier ist eine Tabelle der integrierten Array-Funktionen:
Verwendung | Beschreibung |
---|---|
ARRAY_LENGTH (arr_expr) | Gibt die Anzahl der Elemente des angegebenen Array-Ausdrucks zurück. |
ARRAY_CONCAT (arr_expr, arr_expr \[, arr_expr\]) | Gibt ein Array zurück, das das Ergebnis der Verkettung von zwei oder mehr Array-Werten ist. |
ARRAY_CONTAINS (arr_expr, expr \[, bool_expr\]) | Gibt einen Booleschen Wert zurück, der angibt, ob das Array den angegebenen Wert enthält. Kann angeben, ob die Übereinstimmung vollständig oder teilweise ist. |
ARRAY_SLICE (arr_expr, num_expr \[, num_expr\]) | Gibt einen Teil eines Array-Ausdrucks zurück. |
Verschachtelte Funktionen
Sie können auch verschachtelte integrierte Funktionen ausführen, die ebenfalls serverseitig verarbeitet werden:
i.e. SELECT TOP 10 CONCAT(SUBSTRING(UPPER(cuisine), 0, 3), '-cuisine') FROM [restaurants]
SQL- API GRUPPE NACH
Die GROUP BY-Klausel unterteilt die Ergebnisse der Abfrage nach den Werten einer oder mehrerer angegebener Eigenschaften. Dieser Operation wird aufgrund einiger API Einschränkungen teilweise serverseitig ausgeführt. Wir müssen dennoch eine clientseitige Gruppierung durchführen.
GROUP BY Beispiele
SELECT COUNT(*) AS CNT, gender FROM`[Benutzer] `GROUP BY gender
SELECT COUNT(*) AS CNT, gender, doc_type FROM`[Benutzer] `GROUP BY gender, doc_type
Abfragezuordnung (SQL- API)
Der Connector ordnet SQL-Abfragen den entsprechenden Azure Cosmos DB SQL API Abfragen zu. Eine detaillierte Beschreibung aller Transformations liegt außerhalb des Rahmens, wir werden jedoch einige der verwendeten allgemeinen Elemente beschreiben. Der Connector nutzt SQL- API Funktionen wie das Aggregationsframework, um die gewünschten Ergebnisse zu berechnen.
SELECT-Abfragen
Da alle Anfragen an eine bestimmte Sammlung gesendet werden können, können wir jede konstante Zeichenfolge als Tabellennamen an die API senden. Gemäß dem Azure Portal-Standard verwenden wir das Zeichen „C“ als Tabellennamen.
SQL-Abfrage | SQL- API -Abfrage |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Aggregierte Abfragen
Der Connector nutzt dies in großem Umfang für verschiedene aggregierte Abfragen. Nachfolgend einige Beispiele:
SQL-Abfrage | SQL- API -Abfrage |
---|---|
|
|
|
|
Integrierte Funktionen
SQL-Abfrage | SQL- API -Abfrage |
---|---|
|
|
|
|
Benutzerdefinierte Schemadefinitionen
Sie können die mit Automatische Schemaerkennung erstellten Tabellenschemata erweitern, indem Sie sie in Schema speichern. Die Schema haben ein einfaches Format, das die Bearbeitung der Schemata erleichtert.
Generieren von Schemadateien
Satz GenerateSchemaFiles
auf „OnStart“, um Schemata für alle Tabellen beizubehalten, wenn Sie eine Verbindung herstellen. Sie können auch nach Bedarf Tabellenschemata generieren: Set GenerateSchemaFiles
auf „OnUse“ und führen Sie eine SELECT Abfrage an die Tabelle aus.
Betrachten Sie beispielsweise ein Schema für den Datensatz „Restaurants“. Dies ist ein Beispieldatensatz, der von Azure Cosmos DB bereitgestellt wird.
Nachfolgend sehen Sie ein Beispieldokument aus der Sammlung:
{
"address":{
"building":"461",
"coord":[
-74.138492,
40.631136
],
"street":"Port Richmond Ave",
"zipcode":"10302"
},
"borough":"Staten Island",
"cuisine":"Other",
"name":"Indian Oven",
"restaurant_id":"50018994"
}
Anpassen eines Schemas
Wann GenerateSchemaFiles
gesetzt ist, speichert der Connector Schemata in dem durch angegebenen Ordner Location
-Eigenschaft. Sie können dann das Spaltenverhalten im resultierenden Schema ändern.
Das folgende Schema verwendet die other:bsonpath
Eigenschaft, um zu definieren, wo in der Sammlung die Daten für eine bestimmte Spalte abgerufen werden sollen. Mit diesem Modell können Sie beliebige Hierarchieebenen abflachen.
Unten finden Sie die entsprechenden Spaltendefinitionen für den Datensatz „Restaurants“. In Beispiel für benutzerdefiniertes Schema, finden Sie das vollständige Schema.
<rsb:script xmlns:rsb="http://www.rssbus.com/ns/rsbscript/2">
<rsb:info title="StaticRestaurants" description="Custom Schema for the restaurants data set.">
<!-- Column definitions -->
<attr name="_rid" xs:type="string" key="true" other:collrid="hWdRAKRi3Pg=" other:dbrid="hWdRAA==" other:partitionpath="/name" />
<attr name="borough" xs:type="string" />
<attr name="cuisine" xs:type="string" />
<attr name="address.building" xs:type="string" />
<attr name="address.street" xs:type="string" />
<attr name="address.coord.0" xs:type="double" />
<attr name="address.coord.1" xs:type="double" />
<input name="rows@next" desc="Internal attribute used for paging through data." />
</rsb:info>
<rsb:set attr="collection" value="restaurants"/>
</rsb:script>
Beispiel für ein benutzerdefiniertes Schema
Dieser Abschnitt enthält ein vollständiges Schema info
Abschnitt ermöglicht eine relationale Ansicht eines Azure Cosmos DB Objekts. Weitere Einzelheiten finden Sie unter Benutzerdefinierte Schemadefinitionen. Die folgende Tabelle ermöglicht die Befehle SELECT, INSERT, UPDATE und DELETE, wie sie in den Abschnitten GET, POST, MERGE und DELETE des folgenden Schema implementiert sind.
Kopieren Sie die rows@next
Eingabe wie sie ist in Ihr Schema. Die Operationen, wie cosmosdbadoSysData
, sind interne Implementierungen und können auch so kopiert werden.
Setzen Sie das Location
-Eigenschaft für das Dateiverzeichnis, das die Schema enthalten wird.
Beim Erstellen benutzerdefinierter Schemata wird das Attribut für _rid
, unten gezeigt, ist erforderlich.
Außerdem sind drei Eigenschaften für die _rid-Spaltendefinition erforderlich:
other:dbrid
befindet sich in der _self-Eigenschaft eines Elements in der Sammlung, nach „dbs/“.other:collrid
befindet sich in der _self-Eigenschaft eines Elements in der Sammlung, nach „/colls/“.other:partitionpath
bezieht sich auf den Namen der Partition, die beim Erstellen der Sammlung angegeben wurde.
<rsb:script xmlns:rsb="http://www.rssbus.com/ns/rsbscript/2">
<rsb:info title="StaticRestaurants" description="Custom Schema for the restaurants data set.">
<!-- Column definitions -->
<attr name="_rid" xs:type="string" key="true" other:collrid="hWdRAKRi3Pg=" other:dbrid="hWdRAA==" other:partitionpath="/name" />
<attr name="borough" xs:type="string" />
<attr name="cuisine" xs:type="string" />
<attr name="address.building" xs:type="string" />
<attr name="address.street" xs:type="string" />
<attr name="address.coord.0" xs:type="double" />
<attr name="address.coord.1" xs:type="double" />
<input name="rows@next" desc="Internal attribute used for paging through data." />
</rsb:info>
<rsb:script method="GET">
<rsb:call op="cosmosdbadoSysData">
<rsb:push />
</rsb:call>
</rsb:script>
<rsb:script method="POST">
<rsb:call op="cosmosdbadoSysData">
<rsb:push />
</rsb:call>
</rsb:script>
<rsb:script method="MERGE">
<rsb:call op="cosmosdbadoSysData">
<rsb:push />
</rsb:call>
</rsb:script>
<rsb:script method="DELETE">
<rsb:call op="cosmosdbadoSysData">
<rsb:push />
</rsb:call>
</rsb:script>
</rsb:script>
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 Azure Cosmos DB 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 Schemas 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 [].[Entities].Customers zurück:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Customers' AND CatalogName='' AND SchemaName='Entities'
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 EVAL-Prozedur zurück:
SELECT * FROM sys_procedureparameters WHERE ProcedureName='EVAL' 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 [].[Entities].Customers ab:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Customers' AND CatalogName='' AND SchemaName='Entities'
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:cosmosdb: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 Sie die 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. |
Systeminformationen
Beschreibt die verfügbaren Systeminformationen.
Die folgende Abfrage ruft alle Spalten ab:
SELECT * FROM sys_information
Spalten
Name | Typ | Beschreibung |
---|---|---|
Product | String | Der Name des Produkts. |
Version | String | Die Versionsnummer des Produkts. |
Datasource | String | Der Name der Datenquelle, mit der das Produkt eine Verbindung herstellt. |
NodeId | String | Die eindeutige Kennung der Maschine, auf der das Produkt installiert ist. |
HelpURL | String | Die URL zur Hilfedokumentation des Produkts. |
License | String | Die Lizenzinformationen für das Produkt. (Wenn diese Informationen nicht verfügbar sind, kann das Feld leer gelassen oder als „N/A“ markiert werden.) |
Location | String | Der Dateipfad, in dem die Produktbibliothek gespeichert ist. |
Environment | String | Die Version der Umfeld oder Rumtine, unter der das Produkt derzeit ausgeführt wird. |
DataSyncVersion | String | Die zur Verwendung dieses Connectors erforderliche Synchronisierungsebene. |
DataSyncCategory | String | Die Kategorie der Synchronisierungsfunktionalität (z. B. Quelle, Ziel). |
Gespeicherte Prozeduren
Gespeicherte Prozeduren sind funktionsähnliche Schnittstellen, die die Funktionalität des Connectors über einfache SELECT/INSERT/UPDATE/DELETE-Vorgänge mit Azure Cosmos DB hinaus erweitern.
Gespeicherte Prozeduren akzeptieren eine Liste von Parametern, führen ihre beabsichtigte Funktion aus und geben dann alle relevanten Antwortdaten von Azure Cosmos DB zurück, zusammen mit einem Hinweis darauf, ob die Prozedur erfolgreich war oder fehlgeschlagen ist.
Gespeicherte Prozeduren für den Azure Cosmos DB Connector
Name | Beschreibung |
---|---|
AddDocument | Gesamten JSON-String in CosmosDB einfügen. |
CreateSchema | Erstellt eine Schema für die Sammlung. |
GetOAuthAccessToken | Ruft das OAuth-Zugriffstoken von CosmosDB ab. |
GetOAuthAuthorizationURL | Ruft die CosmosDB-Autorisierungs URL ab. Greifen Sie in einem Webbrowser auf die in der Ausgabe zurückgegebene URL zu. Dadurch wird das Zugriffstoken angefordert, das als Teil der Verbindungszeichenfolge zu CosmosDB verwendet werden kann. |
RefreshOAuthAccessToken | Aktualisiert das OAuth-Zugriffstoken, das für die Authentifizierung bei CosmosDB verwendet wird. |
Dokument hinzufügen
Fügen Sie die gesamte JSON-Zeichenfolge in CosmosDB ein.
Eingang
Name | Typ | Beschreibung |
---|---|---|
Database | String | Name der Datenbank. |
Table | String | Name der Tabelle. |
PartitionKey | String | Partitionsschlüsselwert der Tabelle. |
Document | String | Die einzufügende JSON-Zeichenfolge. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
Success | String | Gibt „true“ zurück, wenn der Operation erfolgreich ist. |
Schema erstellen
Erstellt eine Schema für die Sammlung.
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 | Beschreibung |
---|---|---|
SchemaName | String | Das Schema der Sammlung. |
TableName | String | Der Name der Sammlung. |
FileName | String | Der vollständige Dateipfad und Name des zu generierenden Schema. Wenn nicht festgelegt, wird stattdessen die FileData-Ausgabe verwendet. |
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. |
GetOAuthAccessToken
Ruft das OAuth-Zugriffstoken von CosmosDB ab.
Eingang
Name | Typ | Beschreibung |
---|---|---|
AuthMode | String | Der Authentifizierungstyp, den Sie versuchen. Verwenden Sie App für eine Windows-Anwendung oder Web für webbasierte Anwendungen. Der Standardwert ist APP. |
Verifier | String | Ein vom Dienst zurückgegebener Prüfer, der eingegeben werden muss, um das Zugriffstoken zurückzugeben. Wird nur bei Verwendung des Webauthentifizierungsmodus benötigt. Wird durch Navigieren zur in GetOAuthAuthorizationUrl zurückgegebenen URL abgerufen. |
CallbackUrl | String | Die URL, zu der der Benutzer nach der Autorisierung Ihrer Anwendung weitergeleitet wird. |
Scope | String | Der Umfang oder die Berechtigungen, die Sie anfordern. |
Prompt | String | Die Standardeinstellung ist „select_account“, wodurch der Benutzer bei der Authentifizierung aufgefordert wird, ein Konto auszuwählen. Auf „None“ eingestellt, damit keine Eingabeaufforderung erfolgt, auf „login“, damit der Benutzer zur Eingabe seiner Anmeldeinformationen gezwungen wird, oder auf „consent“, damit nach der Anmeldung des Benutzers das OAuth-Zustimmungsdialogfeld ausgelöst wird, in dem der Benutzer aufgefordert wird, der App Berechtigungen zu erteilen. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
OAuthAccessToken | String | Das für die Kommunikation mit CosmosDB verwendete Zugriffstoken. |
OAuthRefreshToken | String | Ein Token, der zum Abrufen eines neuen Zugriffstokens verwendet werden kann. |
ExpiresIn | String | Die verbleibende Lebensdauer des Zugriffstokens in Sekunden. |
GetOAuthAuthorizationURL
Ruft die CosmosDB-Autorisierungs URL ab. Greifen Sie in einem Webbrowser auf die in der Ausgabe zurückgegebene URL zu. Dadurch wird das Zugriffstoken angefordert, das als Teil der Verbindungszeichenfolge zu CosmosDB verwendet werden kann.
Eingang
Name | Typ | Beschreibung |
---|---|---|
CallbackUrl | String | Die URL, zu der CosmosDB zurückkehrt, nachdem der Benutzer Ihre App autorisiert hat. |
Scope | String | Der Umfang oder die Berechtigungen, die Sie anfordern. |
State | String | Dieses Feld gibt jeden Status an, der für Ihre Anwendung nach Erhalt der Antwort nützlich sein kann. Ihre Anwendung erhält denselben Wert, den sie gesendet hat, da dieser Parameter einen Hin- und Rückweg zum CosmosDB-Autorisierungsserver und zurück durchführt. Zu den Verwendungsmöglichkeiten gehören die Umleitung des Benutzers zur richtigen Ressource auf Ihrer Site, die Verwendung von Nonces und die Minderung von Cross-Site-Request-Forgery. |
Prompt | String | Die Standardeinstellung ist „select_account“, wodurch der Benutzer bei der Authentifizierung aufgefordert wird, ein Konto auszuwählen. Auf „None“ eingestellt, damit keine Eingabeaufforderung erfolgt, auf „login“, damit der Benutzer zur Eingabe seiner Anmeldeinformationen gezwungen wird, oder auf „consent“, damit nach der Anmeldung des Benutzers das OAuth-Zustimmungsdialogfeld ausgelöst wird, in dem der Benutzer aufgefordert wird, der App Berechtigungen zu erteilen. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
URL | String | Die URL, die in einen Webbrowser eingegeben werden muss, um das Prüftoken abzurufen und den Datenanbieter damit zu autorisieren. |
Aktualisieren Sie das OAuthAccessToken
Aktualisiert das OAuth-Zugriffstoken, das für die Authentifizierung bei CosmosDB verwendet wird.
Eingang
Name | Typ | Beschreibung |
---|---|---|
OAuthRefreshToken | String | Das vom ursprünglichen Autorisierungscode-Austausch zurückgegebene Aktualisierungstoken. |
Scope | String | Der Umfang oder die Berechtigungen, die Sie anfordern. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
OAuthAccessToken | String | Das neue OAuthAccessToken, das vom Dienst zurückgegeben wurde. |
OAuthRefreshToken | String | Ein Token, der zum Abrufen eines neuen Zugriffstokens verwendet werden kann. |
ExpiresIn | String | Die verbleibende Lebensdauer des Zugriffstokens. |
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 |
---|---|
AuthScheme | Der beim Herstellen einer Verbindung mit Azure Cosmos DB zu verwendende Authentifizierungstyp. |
AccountEndpoint | Der Wert sollte die Cosmos DB-Konto-URL aus dem Schlüssel-Blade des Cosmos DB-Kontos sein. |
AccountKey | Ein Hauptschlüsseltoken oder ein Ressourcentoken für die Verbindung mit der Azure Cosmos DB REST- API. |
TokenType | Bezeichnet den Tokentyp: Master oder Ressource. |
Eigenschaft | Beschreibung |
---|---|
AzureTenant | Der Microsoft Online-Mandant, der für den Datenzugriff verwendet wird. Wenn nicht angegeben, wird Ihr Standardmandant verwendet. |
AzureEnvironment | Die beim Herstellen einer Verbindung zu verwendende Azure-Umgebung. |
Eigenschaft | Beschreibung |
---|---|
InitiateOAuth | Legen Sie diese Eigenschaft fest, um den Prozess zum Abrufen oder Aktualisieren des OAuth-Zugriffstokens beim Herstellen einer Verbindung zu starten. |
OAuthClientId | Die Client-ID, die zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren. |
OAuthClientSecret | Das Client-Geheimnis, das zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren. |
OAuthAccessToken | Der Zugriffstoken für die Verbindung mittels OAuth. |
OAuthSettingsLocation | Der Speicherort der Einstellungsdatei, in der OAuth-Werte gespeichert werden, wenn InitiateOAuth auf GETANDREFRESH oder REFRESH gesetzt ist. Alternativ können Sie diesen Speicherort im Speicher halten, indem Sie einen Wert angeben, der mit beginnt 'memory://' . |
CallbackURL | Die OAuth-Rückruf URL, zu der bei der Authentifizierung zurückgekehrt werden soll. Dieser Wert muss mit der Rückruf-URL übereinstimmen, die Sie in Ihren App-Einstellungen angeben. |
OAuthGrantType | Der Berechtigungstyp für den OAuth-Flow. |
OAuthVerifier | Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode. |
OAuthRefreshToken | Das OAuth-Aktualisierungstoken für das entsprechende OAuth-Zugriffstoken. |
OAuthExpiresIn | Die Lebensdauer des OAuth AccessToken in Sekunden. |
OAuthTokenTimestamp | Der Unix-Epochenzeitstempel in Millisekunden, als das aktuelle Zugriffstoken erstellt wurde. |
Eigenschaft | Beschreibung |
---|---|
OAuthJWTCert | Der JWT-Zertifikatspeicher. |
OAuthJWTCertType | Der Typ des Schlüsselspeichers, der das JWT-Zertifikat enthält. |
OAuthJWTCertPassword | Das Passwort für das OAuth JWT-Zertifikat. |
OAuthJWTCertSubject | Der Betreff des OAuth-JWT-Zertifikats. |
Eigenschaft | Beschreibung |
---|---|
SSLClientCert | Der TLS/SSL-Client-Zertifikatspeicher für die SSL-Client-Authentifizierung (bidirektionales SSL). |
SSLClientCertType | Der Typ des Schlüsselspeichers, der das TLS/SSL-Client-Zertifikat enthält. |
SSLClientCertPassword | Das Passwort für das TLS/SSL-Client-Zertifikat. |
SSLClientCertSubject | Der Betreff des TLS/SSL-Client-Zertifikats. |
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. |
Schema | Geben Sie die Azure Cosmos DB Datenbank an, mit der Sie arbeiten möchten. |
Eigenschaft | Beschreibung |
---|---|
CalculateAggregates | Gibt an, ob der berechnete Wert der Aggregate oder gruppiert nach Partitionsbereich zurückgegeben wird. |
ConsistencyLevel | Bezeichnet den Tokentyp: Master oder Ressource. |
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. |
ForceQueryOnNonIndexedContainers | Erzwingt die Verwendung eines Index-Scans zur Verarbeitung der Abfrage, wenn die Indizierung deaktiviert ist oder der richtige Indexpfad nicht verfügbar ist. |
GenerateSchemaFiles | Gibt die Benutzerpräferenz an, wann Schemata generiert und gespeichert werden sollen. |
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. |
MaxThreads | Gibt die maximale Anzahl gleichzeitiger Anforderungen für Batch-CUD-Vorgänge (Create, Update, Delete) an. |
MultiThreadCount | Aggregierte Abfragen in partitionierten Sammlungen erfordern parallele Anfragen für verschiedene Partitionsbereiche. Legen Sie hier die Anzahl paralleler Anfragen fest, die gleichzeitig ausgegeben werden sollen. |
Other | Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet. |
Pagesize | Die maximale Anzahl von Ergebnissen, die pro Seite von Azure Cosmos DB zurückgegeben werden sollen. |
PseudoColumns | Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht. |
RequestPriorityLevel | Gibt die Priorität der an Azure Cosmos DB gesendeten Anforderung an, wenn mehr Anforderungen als die konfigurierten RU/s pro Sekunde vorliegen. |
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. |
SetPartitionKeyAsPK | Ob das Partitionsschlüsselfeld der Sammlung als Teil des zusammengesetzten Primärschlüssels für die entsprechende freigegebene Tabelle verwendet werden soll oder nicht. |
Timeout | Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird. |
TypeDetectionScheme | Durch Kommas getrennte Optionen dafür, wie der Anbieter die Daten scannt, um die Felder und Datentypen in jeder Dokumentsammlung zu bestimmen. |
UserDefinedViews | Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält. |
UseRidAsPk | Setzen Sie diese Eigenschaft auf „false“, um die ID-Spalte als Primärschlüssel anstelle der Standardspalte _rid zu verwenden. |
WriteThroughputBudget | Definiert das Budget für Anforderungseinheiten (RU) pro Sekunde, das von den Batch-CUD-Vorgängen (Erstellen, Aktualisieren, Löschen) nicht überschritten werden darf. |
Authentifizierung
Dieser Abschnitt enthält eine vollständige Liste der Authentifizierungseigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
AuthScheme | Der beim Herstellen einer Verbindung mit Azure Cosmos DB zu verwendende Authentifizierungstyp. |
AccountEndpoint | Der Wert sollte die Cosmos DB-Konto-URL aus dem Schlüssel-Blade des Cosmos DB-Kontos sein. |
AccountKey | Ein Hauptschlüsseltoken oder ein Ressourcentoken für die Verbindung mit der Azure Cosmos DB REST- API. |
TokenType | Bezeichnet den Tokentyp: Master oder Ressource. |
AuthScheme
Der beim Herstellen einer Verbindung mit Azure Cosmos DB zu verwendende Authentifizierungstyp.
Mögliche Werte
AccountKey
, AzureAD
, AzureServicePrincipal
, AzureServicePrincipalCert
Datentyp
string
Standardwert
AccountKey
Hinweise
- AccountKey: Legen Sie dies fest, um die Authentifizierung mit AccountKey durchzuführen und AccountEndpoint.
- Microsoft Entra ID: Legen Sie dies fest, um die Microsoft Entra ID OAuth-Authentifizierung durchzuführen.
- AzureServicePrincipal: Legen Sie dies fest, um die Authentifizierung als Microsoft Entra-Dienstprinzipal unter Verwendung eines Clientgeheimnisses durchzuführen.
- AzureServicePrincipalCert: Legen Sie dies fest, um sich mithilfe eines Zertifikats als Microsoft Entra-Dienstprinzipal zu authentifizieren.
Kontoendpunkt
Der Wert sollte die Cosmos DB-Konto-URL aus dem Schlüssel-Blade des Cosmos DB-Kontos sein.
Datentyp
string
Standardwert
""
Hinweise
Der Wert sollte die Cosmos DB-Konto-URL aus dem Schlüssel-Blade des Cosmos DB-Kontos sein.
Kontoschlüssel
Ein Hauptschlüsseltoken oder ein Ressourcentoken zum Herstellen einer Verbindung mit der Azure Cosmos DB REST- API.
Datentyp
string
Standardwert
""
Hinweise
Navigieren Sie im Azure Portal zum Cosmos DB-Dienst und wählen Sie Ihr Azure Cosmos DB Konto aus. Wechseln Sie im Ressourcenmenü zur Seite „Schlüssel“. Suchen Sie den PRIMARY KEY-Wert und legen Sie Token auf diesen Wert fest.
Token-Typ
Bezeichnet den Tokentyp: Master oder Ressource.
Mögliche Werte
master
, resource
Datentyp
string
Standardwert
master
Hinweise
Der Hauptschlüssel wird bei der Erstellung eines Kontos erstellt. Es gibt zwei Sätze von Hauptschlüsseln, den Primärschlüssel und den Sekundärschlüssel. Der Administrator des Kontos kann dann mithilfe des Sekundärschlüssels eine Schlüsselrotation durchführen. Darüber hinaus kann der Kontoadministrator die Schlüssel bei Bedarf auch neu generieren.
Ressourcentoken werden erstellt, wenn Benutzern in einer Datenbank Zugriffsberechtigungen für eine präzise Zugriffskontrolle auf eine Ressource, auch Berechtigungsressource genannt, zugewiesen werden. Eine Berechtigungsressource enthält ein Hash-Ressourcentoken, das mit den Informationen zum Ressourcenpfad und Zugriffstyp erstellt wird, auf den ein Benutzer Zugriff hat. Das Berechtigungsressourcentoken ist zeitlich begrenzt und die Gültigkeitsdauer kann überschrieben werden. Wenn auf eine Berechtigungsressource reagiert wird (POST, GET, PUT), wird ein neues Ressourcentoken generiert.
Azure Authentifizierung
Dieser Abschnitt enthält eine vollständige Liste der Azure-Authentifizierungseigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
AzureTenant | Der Microsoft Online-Mandant, der für den Datenzugriff verwendet wird. Wenn nicht angegeben, wird Ihr Standardmandant verwendet. |
AzureEnvironment | Die beim Herstellen einer Verbindung zu verwendende Azure-Umgebung. |
AzureTenant
Der Microsoft Online-Mandant, der für den Datenzugriff verwendet wird. Wenn nicht angegeben, wird Ihr Standardmandant verwendet.
Datentyp
string
Standardwert
""
Hinweise
Der Microsoft Online-Mandant, der für den Datenzugriff verwendet wird. Beispiel: contoso.onmicrosoft.com. Alternativ können Sie die Mandanten-ID angeben. Dieser Wert ist die Verzeichnis-ID im Azure-Portal > Microsoft Entra ID > Eigenschaften.
Normalerweise ist es nicht notwendig, den Mandanten anzugeben. Dies kann von Microsoft automatisch ermittelt werden, wenn der OAuthGrantType verwendet wird auf CODE (Standard) eingestellt. Es kann jedoch fehlschlagen, wenn der Benutzer mehreren Mandanten angehört. Zum Beispiel, wenn ein Administrator von Domäne A einen Benutzer von Domäne B als Gastbenutzer einlädt. Der Benutzer gehört nun beiden Mandanten an. Es ist eine gute Praxis, den Mandanten anzugeben, obwohl es im Allgemeinen funktionieren sollte, ohne ihn angeben zu müssen.
AzureTenant
ist beim Festlegen von OAuthGrantType erforderlich zu CLIENT. Bei der Verwendung von Client-Anmeldeinformationen gibt es keinen Benutzerkontext. Die Anmeldeinformationen werden aus dem Kontext der App selbst übernommen. Microsoft erlaubt zwar weiterhin den Abruf von Client-Anmeldeinformationen ohne Angabe des Mandanten, aber die Wahrscheinlichkeit, den spezifischen Mandanten auszuwählen, mit dem Sie arbeiten möchten, ist viel geringer. Aus diesem Grund benötigen wir AzureTenant
muss bei allen Client-Anmeldeinformationen-Verbindungen ausdrücklich angegeben werden, um sicherzustellen, dass Sie Anmeldeinformationen erhalten, die für die Domäne gelten, mit der Sie eine Verbindung herstellen möchten.
Der Microsoft Online-Mandant, der für den Datenzugriff verwendet wird. Beispiel: contoso.onmicrosoft.com. Alternativ können Sie die Mandanten-ID angeben. Dieser Wert ist die Verzeichnis-ID im Azure-Portal > Microsoft Entra ID > Eigenschaften.
Normalerweise ist es nicht notwendig, den Mandanten anzugeben. Dies kann von Microsoft automatisch ermittelt werden, wenn der OAuthGrantType verwendet wird auf CODE (Standard) eingestellt. Es kann jedoch fehlschlagen, wenn der Benutzer mehreren Mandanten angehört. Zum Beispiel, wenn ein Administrator von Domäne A einen Benutzer von Domäne B als Gastbenutzer einlädt. Der Benutzer gehört nun beiden Mandanten an. Es ist eine gute Praxis, den Mandanten anzugeben, obwohl es im Allgemeinen funktionieren sollte, ohne ihn angeben zu müssen.
AzureTenant
ist beim Festlegen von OAuthGrantType erforderlich zu CLIENT. Bei der Verwendung von Client-Anmeldeinformationen gibt es keinen Benutzerkontext. Die Anmeldeinformationen werden aus dem Kontext der App selbst übernommen. Microsoft erlaubt zwar weiterhin den Abruf von Client-Anmeldeinformationen ohne Angabe des Mandanten, aber die Wahrscheinlichkeit, den spezifischen Mandanten auszuwählen, mit dem Sie arbeiten möchten, ist viel geringer. Aus diesem Grund benötigen wir AzureTenant
muss bei allen Client-Anmeldeinformationen-Verbindungen explizit angegeben werden, um sicherzustellen, dass Sie Anmeldeinformationen erhalten, die für die Domäne gelten, mit der Sie eine Verbindung herstellen möchten.
Azure-Umgebung
Die beim Herstellen einer Verbindung zu verwendende Azure-Umgebung.
Mögliche Werte
GLOBAL
, CHINA
, USGOVT
, USGOVTDOD
Datentyp
string
Standardwert
GLOBAL
Hinweise
In den meisten Fällen funktioniert es, die Umfeld auf global eingestellt zu lassen. Wenn Ihr Azure-Konto jedoch einer anderen Umfeld hinzugefügt wurde, wird die AzureEnvironment
kann verwendet werden, um die Umfeld anzugeben. Die verfügbaren Werte sind GLOBAL, CHINA, USGOVT, USGOVTDOD.
OAuth
Dieser Abschnitt enthält eine vollständige Liste der OAuth-Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
InitiateOAuth | Legen Sie diese Eigenschaft fest, um den Prozess zum Abrufen oder Aktualisieren des OAuth-Zugriffstokens beim Herstellen einer Verbindung zu starten. |
OAuthClientId | Die Client-ID, die zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren. |
OAuthClientSecret | Das Client-Geheimnis, das zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren. |
OAuthAccessToken | Der Zugriffstoken für die Verbindung mittels OAuth. |
OAuthSettingsLocation | Der Speicherort der Einstellungsdatei, in der OAuth-Werte gespeichert werden, wenn InitiateOAuth auf GETANDREFRESH oder REFRESH gesetzt ist. Alternativ können Sie diesen Speicherort im Speicher halten, indem Sie einen Wert angeben, der mit beginnt 'memory://' . |
CallbackURL | Die OAuth-Rückruf URL, zu der bei der Authentifizierung zurückgekehrt werden soll. Dieser Wert muss mit der Rückruf-URL übereinstimmen, die Sie in Ihren App-Einstellungen angeben. |
OAuthGrantType | Der Berechtigungstyp für den OAuth-Flow. |
OAuthVerifier | Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode. |
OAuthRefreshToken | Das OAuth-Aktualisierungstoken für das entsprechende OAuth-Zugriffstoken. |
OAuthExpiresIn | Die Lebensdauer des OAuth AccessToken in Sekunden. |
OAuthTokenTimestamp | Der Unix-Epochenzeitstempel in Millisekunden, als das aktuelle Zugriffstoken erstellt wurde. |
OAuth initiieren
Legen Sie diese Eigenschaft fest, um den Prozess zum Abrufen oder Aktualisieren des OAuth-Zugriffstokens beim Herstellen einer Verbindung zu starten.
Mögliche Werte
OFF
, GETANDREFRESH
, REFRESH
Datentyp
string
Standardwert
OFF
Hinweise
Folgende Optionen stehen zur Verfügung:
OFF
: Gibt an, dass der OAuth-Flow vollständig vom Benutzer gehandhabt wird. Zur Authentifizierung ist ein OAuthAccessToken erforderlich.GETANDREFRESH
: Gibt an, dass der gesamte OAuth-Flow vom Connector verarbeitet wird. Wenn derzeit kein Token vorhanden ist, wird es durch eine entsprechende Aufforderung an den Benutzer über den Browser abgerufen. Wenn ein Token vorhanden ist, wird es bei Bedarf aktualisiert.REFRESH
: Gibt an, dass der Connector nur das Aktualisieren des OAuthAccessToken übernimmt. Der Benutzer wird vom Connector nie aufgefordert, sich über den Browser zu authentifizieren. Der Benutzer muss zunächst das Abrufen des OAuthAccessToken und des OAuthRefreshToken übernehmen.
OAuthClientId
Die Client-ID, die zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren.
Datentyp
string
Standardwert
""
Hinweise
Im Rahmen der Registrierung einer OAuth-Anwendung erhalten Sie die OAuthClientId
-Wert, manchmal auch Consumer-Schlüssel genannt, und ein Client-Geheimnis, das OAuthClientSecret.
OAuthClientSecret
Das Client-Geheimnis, das zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren.
Datentyp
string
Standardwert
""
Hinweise
Im Rahmen der Registrierung einer OAuth-Anwendung erhalten Sie die OAuthClientId, auch Consumer-Schlüssel genannt. Sie erhalten außerdem ein Client-Geheimnis, auch Consumer-Geheimnis genannt. Legen Sie das Client-Geheimnis im OAuthClientSecret
Eigentum.
OAuth-Zugriffstoken
Der Zugriffstoken für die Verbindung per OAuth.
Datentyp
string
Standardwert
""
Hinweise
Der OAuthAccessToken
Eigenschaft wird für die Verbindung über OAuth verwendet. Die OAuthAccessToken
wird im Rahmen des Authentifizierungsprozesses vom OAuth-Server abgerufen. Es hat ein serverabhängiges Timeout und kann zwischen Anfragen wiederverwendet werden.
Das Zugriffstoken wird anstelle Ihres Benutzernamens und Passworts verwendet. Das Zugriffstoken schützt Ihre Anmeldeinformationen, indem es sie auf dem Server speichert.
OAuthSettingsLocation
Der Speicherort der Einstellungsdatei, in der OAuth-Werte gespeichert werden, wenn InitiateOAuth auf GETANDREFRESH oder REFRESH eingestellt ist. Alternativ können Sie diesen Speicherort im Speicher halten, indem Sie einen Wert angeben, der mit beginnt 'memory://'
.
Datentyp
string
Standardwert
%APPDATA%\CosmosDB Data Provider\OAuthSettings.txt
Hinweise
Wenn InitiateOAuth ist auf gesetzt GETANDREFRESH
oder REFRESH
, der Connector speichert OAuth-Werte, damit der Benutzer die OAuth-Verbindungseigenschaften nicht manuell eingeben muss und die Anmeldeinformationen über Verbindungen oder Prozesse hinweg gemeinsam genutzt werden können.
Anstatt einen Dateipfad anzugeben, können Sie den Speicher verwenden. Speicherorte werden durch einen Wert angegeben, der mit beginnt 'memory://'
gefolgt von einer eindeutigen Kennung für diesen Satz von Anmeldeinformationen (z. B. memory://user1). Die Kennung können Sie frei wählen, sie sollte jedoch für den Benutzer eindeutig sein. Im Gegensatz zur dateibasierten Speicherung, bei der die Anmeldeinformationen über Verbindungen hinweg bestehen bleiben, werden die Anmeldeinformationen bei der Speicherspeicherung in den statischen Speicher geladen und die Anmeldeinformationen werden für die Dauer des Prozesses unter Verwendung derselben Kennung zwischen Verbindungen geteilt. Um Anmeldeinformationen außerhalb des aktuellen Prozesses beizubehalten, müssen Sie die Anmeldeinformationen vor dem Schließen der Verbindung manuell speichern. Auf diese Weise können Sie sie in der Verbindung festlegen, wenn der Prozess erneut gestartet wird. Sie können OAuth-Eigenschaftswerte mit einer Abfrage an abrufen sys_connection_props
Systemtabelle. Wenn mehrere Verbindungen mit denselben Anmeldeinformationen bestehen, werden die Eigenschaften aus der zuvor geschlossenen Verbindung gelesen.
Der Standardspeicherort ist „%APPDATA%\CosmosDB Data Provider\OAuthSettings.txt“ mit %APPDATA%
auf das Konfigurationsverzeichnis des Benutzers gesetzt. Die Standardwerte sind
- Windows: "
register://%DSN
" - Unix: "%AppData%..."
- Mac: "%AppData%..."
wobei DSN der Name des aktuellen DSN ist, der in der offenen Verbindung verwendet wird.
Die folgende Tabelle listet den Wert von auf %APPDATA%
nach Operationssystem:
Plattform | %APPDATA% |
---|---|
Windows | Der Wert der Umfeld APPDATA |
Mac | ~/Bibliothek/Anwendungsunterstützung |
Linux | ~/.config |
Rückruf-URL
Die OAuth-Rückruf URL, zu der bei der Authentifizierung zurückgekehrt werden soll. Dieser Wert muss mit der Rückruf-URL übereinstimmen, die Sie in Ihren App-Einstellungen angeben.
Datentyp
string
Standardwert
""
Hinweise
Während des Authentifizierungsprozesses leitet der OAuth-Autorisierungsserver den Benutzer an diese URL weiter. Dieser Wert muss mit der Rückruf URL übereinstimmen, die Sie in Ihren App-Einstellungen angeben.
OAuthGrantType
Der Berechtigungstyp für den OAuth-Flow.
Mögliche Werte
CODE
, CLIENT
, PASSWORD
Datentyp
string
Standardwert
CLIENT
Hinweise
Folgende Optionen stehen zur Verfügung: CODE,CLIENT,PASSWORT
OAuthVerifier
Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode.
Datentyp
string
Standardwert
""
Hinweise
Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode. Dieser kann auf Systemen verwendet werden, auf denen kein Browser gestartet werden kann, z. B. auf Headless-Systemen.
Authentifizierung auf Headless-Maschinen
Siehe, um die zu erhalten OAuthVerifier
Wert.
OAuthSettingsLocation festlegen zusammen mit OAuthVerifier
. Beim Verbinden tauscht der Connector die OAuthVerifier
für die OAuth-Authentifizierungstoken und speichert sie verschlüsselt am angegebenen Speicherort. Setzen Sie InitiateOAuth zu GETANDREFRESH, um den Austausch zu automatisieren.
Sobald die OAuth-Einstellungsdatei generiert wurde, können Sie entfernen OAuthVerifier
aus den Verbindungseigenschaften und verbinden Sie sich mit OAuthSettingsLocation festgelegt.
Um die OAuth-Tokenwerte automatisch zu aktualisieren, legen Sie OAuthSettingsLocation fest und setzen Sie zusätzlich InitiateOAuth zum AKTUALISIEREN.
OAuthRefreshToken
Das OAuth-Aktualisierungstoken für das entsprechende OAuth-Zugriffstoken.
Datentyp
string
Standardwert
""
Hinweise
Der OAuthRefreshToken
Eigenschaft wird verwendet, um den OAuthAccessToken zu aktualisieren bei Verwendung der OAuth-Authentifizierung.
OAuthLäuftAbIn
Die Lebensdauer des OAuth AccessToken in Sekunden.
Datentyp
string
Standardwert
""
Hinweise
Mit OAuthTokenTimestamp kombinieren, um zu bestimmen, wann der AccessToken abläuft.
OAuthTokenTimestamp
Der Unix-Epochenzeitstempel in Millisekunden, als das aktuelle Zugriffstoken erstellt wurde.
Datentyp
string
Standardwert
""
Hinweise
Kombinieren Sie es mit OAuthExpiresIn, um zu bestimmen, wann das AccessToken abläuft.
JWT OAuth
Dieser Abschnitt enthält eine vollständige Liste der JWT OAuth-Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
OAuthJWTCert | Der JWT-Zertifikatspeicher. |
OAuthJWTCertType | Der Typ des Schlüsselspeichers, der das JWT-Zertifikat enthält. |
OAuthJWTCertPassword | Das Passwort für das OAuth JWT-Zertifikat. |
OAuthJWTCertSubject | Der Betreff des OAuth-JWT-Zertifikats. |
OAuthJWTCert
Der JWT-Zertifikatspeicher.
Datentyp
string
Standardwert
""
Hinweise
Der Name des Zertifikatspeichers für das Client-Zertifikat.
Der OAuthJWTCertType Feld gibt den Typ des durch angegebenen Zertifikatspeichers an OAuthJWTCert
. Wenn der Store kennwortgeschützt ist, geben Sie das Kennwort in OAuthJWTCertPassword an.
OAuthJWTCert
wird in Verbindung mit OAuthJWTCertSubject verwendet
Feld, um Client-Zertifikate anzugeben. Wenn OAuthJWTCert
hat einen Wert und OAuthJWTCertSubject gesetzt ist, wird eine Suche nach einem Zertifikat eingeleitet. Bitte beachten Sie das OAuthJWTCertSubject für weitere Einzelheiten.
Die Bezeichnungen der Zertifikatsspeicher sind plattformabhängig.
Nachfolgend sind die Bezeichnungen der gebräuchlichsten Benutzer- und Maschinen-Zertifikatspeicher in Windows aufgeführt:
Eigenschaft | Beschreibung |
---|---|
MY | Ein Zertifikatsspeicher, der persönliche Zertifikate mit den zugehörigen privaten Schlüsseln enthält. |
CA | Zertifikate der Zertifizierungsstelle. |
ROOT | Stammzertifikate. |
SPC | Zertifikate von Softwareherstellern. |
In Java ist der Zertifikatsspeicher normalerweise eine Datei, die Zertifikate und optionale private Schlüssel enthält.
Wenn der Zertifikatsspeichertyp PFXFile ist, muss diese Eigenschaft auf den Namen der Datei gesetzt werden. Wenn der Typ PFXBlob ist, muss die Eigenschaft auf den binären Inhalt einer PFX-Datei (d. h. PKCS12-Zertifikatsspeicher) gesetzt werden.
OAuthJWTCertType
Der Typ des Schlüsselspeichers, der das JWT-Zertifikat enthält.
Mögliche Werte
USER
, MACHINE
, PFXFILE
, PFXBLOB
, JKSFILE
, JKSBLOB
, PEMKEY_FILE
, PEMKEY_BLOB
, PUBLIC_KEY_FILE
, PUBLIC_KEY_BLOB
, SSHPUBLIC_KEY_FILE
, SSHPUBLIC_KEY_BLOB
, P7BFILE
, PPKFILE
, XMLFILE
, XMLBLOB
Datentyp
string
Standardwert
USER
Hinweise
Diese Eigenschaft kann einen der folgenden Werte annehmen:
Eigenschaft | Beschreibung |
---|---|
USER | Unter Windows gibt dies an, dass es sich bei dem Zertifikatspeicher um einen Zertifikatspeicher handelt, der dem aktuellen Benutzer gehört. Hinweis: Dieser Speichertyp ist in Java nicht verfügbar. |
MACHINE | Für Windows gibt dies an, dass es sich bei dem Zertifikatspeicher um einen Maschinenspeicher handelt. Hinweis: Dieser Speichertyp ist in Java nicht verfügbar. |
PFXFILE | Der Zertifikatsspeicher ist der Name einer PFX-Datei (PKCS12), die Zertifikate enthält. |
PFXBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die einen Zertifikatsspeicher im PFX-Format (PKCS12) darstellt. |
JKSFILE | Der Zertifikatsspeicher ist der Name einer Java Key Store (JKS)-Datei, die Zertifikate enthält. Hinweis: Dieser Speichertyp ist nur in Java verfügbar. |
JKSBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die einen Zertifikatsspeicher im Java Key Store-Format (JKS) darstellt. Hinweis: Dieser Speichertyp ist nur in Java verfügbar. |
PEMKEY_FILE | Der Zertifikatsspeicher ist der Name einer PEM-codierten Datei, die einen privaten Schlüssel und ein optionales Zertifikat enthält. |
PEMKEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (base64-codiert), die einen privaten Schlüssel und ein optionales Zertifikat enthält. |
PUBLIC_KEY_FILE | Der Zertifikatsspeicher ist der Name einer Datei, die ein PEM- oder DER-codiertes öffentliches Schlüsselzertifikat enthält. |
PUBLIC_KEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die ein PEM- oder DER-codiertes öffentliches Schlüsselzertifikat enthält. |
SSHPUBLIC_KEY_FILE | Der Zertifikatsspeicher ist der Name einer Datei, die einen öffentlichen Schlüssel im SSH-Stil enthält. |
SSHPUBLIC_KEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die einen öffentlichen Schlüssel im SSH-Stil enthält. |
P7BFILE | Der Zertifikatsspeicher ist der Name einer PKCS7-Datei, die Zertifikate enthält. |
PPKFILE | Der Zertifikatsspeicher ist der Name einer Datei, die einen PPK (PuTTY Private Key) enthält. |
XMLFILE | Der Zertifikatsspeicher ist der Name einer Datei, die ein Zertifikat im XML-Format enthält. |
XMLBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge, die ein Zertifikat im XML-Format enthält. |
OAuthJWTCertPasswort
Das Passwort für das OAuth JWT-Zertifikat.
Datentyp
string
Standardwert
""
Hinweise
Wenn der Zertifikatspeicher von einem Typ ist, der ein Passwort erfordert, wird diese Eigenschaft verwendet, um dieses Passwort anzugeben, damit der Zertifikatspeicher geöffnet werden kann.
OAuthJWTCertSubject
Der Betreff des OAuth JWT-Zertifikats.
Datentyp
string
Standardwert
*
Hinweise
Beim Laden eines Zertifikats wird der Betreff verwendet, um das Zertifikat im Speicher zu lokalisieren.
Wenn keine genaue Übereinstimmung gefunden wird, wird der Speicher nach Betreffs durchsucht, die den Wert der Eigenschaft enthalten.
Wenn immer noch keine Übereinstimmung gefunden wird, wird die Eigenschaft auf eine leere Zeichenfolge gesetzt und kein Zertifikat ausgewählt.
Der spezielle Wert „*“ wählt das erste Zertifikat im Zertifikatspeicher aus.
Der Betreff des Zertifikats ist eine durch Kommas getrennte Liste von Distinguished Name-Feldern und-Werten. Zum Beispiel „CN=www.server.com, OU=test, C=US, E=example@jbexample.com“. Allgemeine Felder und ihre Bedeutungen werden unten angezeigt.
Feld | Bedeutung |
---|---|
CN | Allgemeiner Name. Dies ist normalerweise ein Host wie www.server.com. |
O | Organisation |
OU | Organisationseinheit |
L | Ort |
S | Staat |
C | Land |
E | Email Adresse |
Wenn ein Feldwert ein Komma enthält, muss es in Anführungszeichen gesetzt werden.
SSL
Dieser Abschnitt enthält eine vollständige Liste der SSL-Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
SSLClientCert | Der TLS/SSL-Client-Zertifikatspeicher für die SSL-Client-Authentifizierung (bidirektionales SSL). |
SSLClientCertType | Der Typ des Schlüsselspeichers, der das TLS/SSL-Client-Zertifikat enthält. |
SSLClientCertPassword | Das Passwort für das TLS/SSL-Client-Zertifikat. |
SSLClientCertSubject | Der Betreff des TLS/SSL-Client-Zertifikats. |
SSLServerCert | Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL. |
SSLClientCert
Der TLS/SSL-Client-Zertifikatspeicher für die SSL-Client-Authentifizierung (bidirektionales SSL).
Datentyp
string
Standardwert
""
Hinweise
Der Name des Zertifikatspeichers für das Client-Zertifikat.
Der SSLClientCertType Feld gibt den Typ des durch angegebenen Zertifikatspeichers an SSLClientCert
. Wenn der Store kennwortgeschützt ist, geben Sie das Kennwort in SSLClientCertPassword an.
SSLClientCert
wird in Verbindung mit SSLClientCertSubject verwendet, um Client-Zertifikate anzugeben. Wenn SSLClientCert
hat einen Wert und SSLClientCertSubject gesetzt ist, wird eine Suche nach einem Zertifikat eingeleitet. Siehe SSLClientCertSubject für weitere Informationen.
Die Bezeichnungen der Zertifikatsspeicher sind plattformabhängig.
Nachfolgend sind die Bezeichnungen der gebräuchlichsten Benutzer- und Maschinen-Zertifikatspeicher in Windows aufgeführt:
Eigenschaft | Beschreibung |
---|---|
MY | Ein Zertifikatsspeicher, der persönliche Zertifikate mit den zugehörigen privaten Schlüsseln enthält. |
CA | Zertifikate der Zertifizierungsstelle. |
ROOT | Stammzertifikate. |
SPC | Zertifikate von Softwareherstellern. |
In Java ist der Zertifikatsspeicher normalerweise eine Datei, die Zertifikate und optionale private Schlüssel enthält.
Wenn der Zertifikatsspeichertyp PFXFile ist, muss diese Eigenschaft auf den Namen der Datei gesetzt werden. Wenn der Typ PFXBlob ist, muss die Eigenschaft auf den binären Inhalt einer PFX-Datei gesetzt werden (z. B. PKCS12-Zertifikatsspeicher).
SSLClientCertType
Der Typ des Schlüsselspeichers, der das TLS/SSL-Clientzertifikat enthält.
Mögliche Werte
USER
, MACHINE
, PFXFILE
, PFXBLOB
, JKSFILE
, JKSBLOB
, PEMKEY_FILE
, PEMKEY_BLOB
, PUBLIC_KEY_FILE
, PUBLIC_KEY_BLOB
, SSHPUBLIC_KEY_FILE
, SSHPUBLIC_KEY_BLOB
, P7BFILE
, PPKFILE
, XMLFILE
, XMLBLOB
Datentyp
string
Standardwert
USER
Hinweise
Diese Eigenschaft kann einen der folgenden Werte annehmen:
Eigenschaft | Beschreibung |
---|---|
USER - default | Unter Windows gibt dies an, dass es sich bei dem Zertifikatspeicher um einen Zertifikatspeicher handelt, der dem aktuellen Benutzer gehört. Beachten Sie, dass dieser Speichertyp in Java nicht verfügbar ist. |
MACHINE | Unter Windows gibt dies an, dass es sich bei dem Zertifikatspeicher um einen Maschinenspeicher handelt. Beachten Sie, dass dieser Speichertyp in Java nicht verfügbar ist. |
PFXFILE | Der Zertifikatsspeicher ist der Name einer PFX-Datei (PKCS12), die Zertifikate enthält. |
PFXBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die einen Zertifikatsspeicher im PFX-Format (PKCS12) darstellt. |
JKSFILE | Der Zertifikatsspeicher ist der Name einer Java Key Store (JKS)-Datei, die Zertifikate enthält. Beachten Sie, dass dieser Speichertyp nur in Java verfügbar ist. |
JKSBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (base-64-codiert), die einen Zertifikatsspeicher im JKS-Format darstellt. Beachten Sie, dass dieser Speichertyp nur in Java verfügbar ist. |
PEMKEY_FILE | Der Zertifikatsspeicher ist der Name einer PEM-codierten Datei, die einen privaten Schlüssel und ein optionales Zertifikat enthält. |
PEMKEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (base64-codiert), die einen privaten Schlüssel und ein optionales Zertifikat enthält. |
PUBLIC_KEY_FILE | Der Zertifikatsspeicher ist der Name einer Datei, die ein PEM- oder DER-codiertes öffentliches Schlüsselzertifikat enthält. |
PUBLIC_KEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die ein PEM- oder DER-codiertes öffentliches Schlüsselzertifikat enthält. |
SSHPUBLIC_KEY_FILE | Der Zertifikatsspeicher ist der Name einer Datei, die einen öffentlichen Schlüssel im SSH-Stil enthält. |
SSHPUBLIC_KEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die einen öffentlichen Schlüssel im SSH-Stil enthält. |
P7BFILE | Der Zertifikatsspeicher ist der Name einer PKCS7-Datei, die Zertifikate enthält. |
PPKFILE | Der Zertifikatsspeicher ist der Name einer Datei, die einen privaten PuTTY-Schlüssel (PPK) enthält. |
XMLFILE | Der Zertifikatsspeicher ist der Name einer Datei, die ein Zertifikat im XML-Format enthält. |
XMLBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge, die ein Zertifikat im XML-Format enthält. |
SSLClientCertPassword
Das Passwort für das TLS/SSL-Client-Zertifikat.
Datentyp
string
Standardwert
""
Hinweise
Wenn der Zertifikatspeicher von einem Typ ist, der ein Passwort erfordert, wird diese Eigenschaft verwendet, um dieses Passwort zum Öffnen des Zertifikatspeichers anzugeben.
SSLClientCertSubject
Der Betreff des TLS/SSL-Client-Zertifikats.
Datentyp
string
Standardwert
*
Hinweise
Beim Laden eines Zertifikats wird der Betreff verwendet, um das Zertifikat im Speicher zu lokalisieren.
Wenn keine genaue Übereinstimmung gefunden wird, wird der Speicher nach Betreffs durchsucht, die den Wert der Eigenschaft enthalten. Wenn immer noch keine Übereinstimmung gefunden wird, wird die Eigenschaft auf eine leere Zeichenfolge gesetzt und kein Zertifikat ausgewählt.
Der spezielle Wert „*“ wählt das erste Zertifikat im Zertifikatspeicher aus.
Der Betreff des Zertifikats ist eine durch Kommas getrennte Liste von Distinguished Name-Feldern und-Werten. Beispiel: „CN=www.server.com, OU=test, C=US, E=support@company.com“. Die allgemeinen Felder und ihre Bedeutungen werden unten angezeigt.
Feld | Bedeutung |
---|---|
CN | Allgemeiner Name. Dies ist normalerweise ein Host wie www.server.com. |
O | Organisation |
OU | Organisationseinheit |
L | Ort |
S | Staat |
C | Land |
E | Email Adresse |
Wenn ein Feldwert ein Komma enthält, muss es in Anführungszeichen gesetzt werden.
SSLServerCert
Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per 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. |
Schema | Geben Sie die Azure Cosmos DB Datenbank an, mit der Sie arbeiten möchten. |
Standort
Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren.
Datentyp
string
Standardwert
%APPDATA%\CosmosDB 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 nicht angegeben, ist der Standardspeicherort „%APPDATA%\CosmosDB 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.
Schema
Geben Sie die Azure Cosmos DB Datenbank an, mit der Sie arbeiten möchten.
Datentyp
string
Standardwert
""
Hinweise
Geben Sie die Azure Cosmos DB Datenbank an, mit der Sie arbeiten möchten.
Verschiedenes
Dieser Abschnitt enthält eine vollständige Liste verschiedener Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
CalculateAggregates | Gibt an, ob der berechnete Wert der Aggregate oder gruppiert nach Partitionsbereich zurückgegeben wird. |
ConsistencyLevel | Bezeichnet den Tokentyp: Master oder Ressource. |
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. |
ForceQueryOnNonIndexedContainers | Erzwingt die Verwendung eines Index-Scans zur Verarbeitung der Abfrage, wenn die Indizierung deaktiviert ist oder der richtige Indexpfad nicht verfügbar ist. |
GenerateSchemaFiles | Gibt die Benutzerpräferenz an, wann Schemata generiert und gespeichert werden sollen. |
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. |
MaxThreads | Gibt die maximale Anzahl gleichzeitiger Anforderungen für Batch-CUD-Vorgänge (Create, Update, Delete) an. |
MultiThreadCount | Aggregierte Abfragen in partitionierten Sammlungen erfordern parallele Anfragen für verschiedene Partitionsbereiche. Legen Sie hier die Anzahl paralleler Anfragen fest, die gleichzeitig ausgegeben werden sollen. |
Other | Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet. |
Pagesize | Die maximale Anzahl von Ergebnissen, die pro Seite von Azure Cosmos DB zurückgegeben werden sollen. |
PseudoColumns | Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht. |
RequestPriorityLevel | Gibt die Priorität der an Azure Cosmos DB gesendeten Anforderung an, wenn mehr Anforderungen als die konfigurierten RU/s pro Sekunde vorliegen. |
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. |
SetPartitionKeyAsPK | Ob das Partitionsschlüsselfeld der Sammlung als Teil des zusammengesetzten Primärschlüssels für die entsprechende freigegebene Tabelle verwendet werden soll oder nicht. |
Timeout | Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird. |
TypeDetectionScheme | Durch Kommas getrennte Optionen dafür, wie der Anbieter die Daten scannt, um die Felder und Datentypen in jeder Dokumentsammlung zu bestimmen. |
UserDefinedViews | Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält. |
UseRidAsPk | Setzen Sie diese Eigenschaft auf „false“, um die ID-Spalte als Primärschlüssel anstelle der Standardspalte _rid zu verwenden. |
WriteThroughputBudget | Definiert das Budget für Anforderungseinheiten (RU) pro Sekunde, das von den Batch-CUD-Vorgängen (Erstellen, Aktualisieren, Löschen) nicht überschritten werden darf. |
Aggregate berechnen
Gibt an, ob der berechnete Wert der Aggregate oder gruppiert nach Partitionsbereich zurückgegeben wird.
Datentyp
bool
Standardwert
true
Hinweise
Gibt an, ob der berechnete Wert der Aggregate oder gruppiert nach Partitionsbereich zurückgegeben wird.
Konsistenzstufe
Bezeichnet den Tokentyp: Master oder Ressource.
Mögliche Werte
STRONG
, BOUNDED
, SESSION
, CONSISTENTPREFIX
, EVENTUAL
Datentyp
string
Standardwert
SESSION
Hinweise
Die Konsistenzstufenüberschreibung für Leseoptionen für Dokumente und Anhänge. Die gültigen Werte sind: Stark, Begrenzt, Sitzung oder Eventuell (in der Reihenfolge vom Stärksten zum Schwächsten). Die Überschreibung muss gleich oder schwächer als die konfigurierte Konsistenzstufe des Kontos sein.
Die Konsistenzstufenüberschreibung für Leseoptionen für Dokumente und Anhänge. Die gültigen Werte sind: Stark, Begrenzt, Sitzung oder Eventuell (in der Reihenfolge vom Stärksten zum Schwächsten). Die Überschreibung muss gleich oder schwächer als die konfigurierte Konsistenzstufe des Kontos sein.
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
0
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 |
Einstellung FlattenArrays
auf -1 reduziert alle Elemente verschachtelter Arrays.
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 Punkt 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 |
Abfrage bei nicht indizierten Containern erzwingen
Erzwingen Sie die Verwendung eines Index-Scans zur Verarbeitung der Abfrage, wenn die Indizierung deaktiviert ist oder der richtige Indexpfad nicht verfügbar ist.
Datentyp
bool
Standardwert
false
Hinweise
Abfragen von Containern, bei denen die Indizierung deaktiviert ist oder Pfade ausgeschlossen sind, können fehlschlagen. Setzen Sie diese Eigenschaft auf „true“, um die Verwendung der Indizierung auf dem Server zu erzwingen, damit die Abfrage erfolgreich verarbeitet wird. Standardmäßig werden Abfragen, die die Verwendung der Indizierung von Containern erfordern, bei denen „IndexingMode=None“ ist, clientseitig verarbeitet.
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
GenerateSchemaFiles
ermöglicht das Speichern der von Automatic Schema Discovery identifizierten Tabellendefinitionen. Diese Eigenschaft gibt Schemas 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.
Alternativen zu statischen Schemas
Wenn Ihre Datenstrukturen volatil sind, sollten Sie Folgendes festlegen: GenerateSchemaFiles
auf Nie und Verwendung dynamischer Schemata. Siehe Automatische Schemaerkennung für weitere Informationen zu dynamischen Schemata.
Bearbeiten von Schemas
Schemadateien haben ein einfaches Format, das ihre Änderung erleichtert. Siehe Benutzerdefinierte Schemadefinitionen für weitere Informationen.
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.
MaxThreads
Gibt die maximale Anzahl gleichzeitiger Anfragen für Batch-CUD-Vorgänge (Erstellen, Aktualisieren, Löschen) an.
Datentyp
int
Standardwert
200
Hinweise
Diese Eigenschaft sollte in Verbindung mit dem WriteThroughputBudget verwendet werden Verbindungseigenschaft. Der Connector kann weniger parallele Anfragen ausführen als die konfigurierte MaxThreads
-Wert, da immer das Ziel besteht, das WriteThroughputBudget nicht zu überschreiten-Limit. Die Anzahl gleichzeitiger Anfragen hängt auch von den Ressourcen der laufenden Maschine ab.
Notiz
Diese Eigenschaft ist nur beim Ausführen von Charge CUD-Operationen anwendbar.
MultiThreadCount
Aggregatabfragen in partitionierten Sammlungen erfordern parallele Anfragen für verschiedene Partitionsbereiche. Stellen Sie dies auf die Anzahl der parallelen Anfragen ein, die gleichzeitig ausgegeben werden sollen.
Datentyp
string
Standardwert
5
Hinweise
Aggregatabfragen in partitionierten Sammlungen erfordern parallele Anfragen für verschiedene Partitionsbereiche. Stellen Sie dies auf die Anzahl der parallelen Anfragen ein, die gleichzeitig ausgegeben werden sollen.
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
Die maximale Anzahl von Ergebnissen, die pro Seite von Azure Cosmos DB zurückgegeben werden sollen.
Datentyp
int
Standardwert
1000
Hinweise
Der Pagesize
Die Eigenschaft beeinflusst die maximale Anzahl von Ergebnissen, die pro Seite von Azure Cosmos DB zurückgegeben werden. Das Festlegen eines höheren Werts kann zu einer besseren Leistung führen, allerdings auf Kosten des zusätzlichen Speichers, der pro verbrauchter Seite zugewiesen wird.
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. „*=*“.
Anforderungsprioritätsstufe
Gibt die Priorität für die an Azure Cosmos DB gesendete Anforderung an, wenn mehr Anforderungen als die konfigurierten RU/s pro Sekunde vorliegen.
Mögliche Werte
None
, Low
, High
Datentyp
string
Standardwert
None
Hinweise
-
Keine: Legen Sie dies fest, um Anfragen mit der Standardpriorität zu senden.
-
Niedrig: Legen Sie dies fest, um Anfragen mit niedriger Priorität zu senden.
-
Hoch: Legen Sie dies fest, um Anfragen mit hoher Priorität zu senden.
Zeilenscantiefe
Die maximale Anzahl zu scannender Zeilen, um nach den in einer Tabelle verfügbaren Spalten zu suchen.
Datentyp
int
Standardwert
100
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 hierarchische Strukturen abzuflachen, benötigt der Connector einen Spezifizierer, der den Pfad zu einer Spalte durch die Hierarchie angibt. Wenn dieser Wert „.“ lautet und eine Spalte mit dem Namen Adresse.Stadt zurückgegeben wird, deutet dies darauf hin, dass es ein zugeordnetes Attribut mit einem untergeordneten Attribut namens Stadt gibt. Wenn Ihre Daten Spalten enthalten, die bereits einen einzelnen Punkt im Attributnamen verwenden, setzen Sie das SeparatorCharacter
zu einem oder mehreren anderen Charakteren.
PartitionKeyAsPK festlegen
Ob das Partitionsschlüsselfeld der Sammlung als Teil des zusammengesetzten Primärschlüssels für die entsprechende freigegebene Tabelle verwendet werden soll oder nicht.
Datentyp
bool
Standardwert
true
Hinweise
Standardmäßig ist dies auf TRUE eingestellt und der Partitionsschlüssel der Sammlung wird zusammen mit der Spalte _rid als Teil des zusammengesetzten Primärschlüssels der Tabelle verwendet. Wenn dies auf FALSE eingestellt ist, dient nur die Spalte _rid als Primärschlüssel für die freigegebene Tabelle.
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
Durch Kommas getrennte Optionen, wie der Anbieter die Daten scannt, um die Felder und Datentypen in jeder Dokumentsammlung zu bestimmen.
Datentyp
string
Standardwert
RowScan,Recent
Hinweise
Eigenschaft | Beschreibung |
---|---|
None | Einstellung TypeDetectionScheme Bei Auswahl von „Keine“ werden alle Spalten als Zeichenfolge zurückgegeben. Kann nicht mit anderen Optionen kombiniert werden. |
RowScan | Einstellung TypeDetectionScheme to RowScan scannt Zeilen, um den Datentyp heuristisch zu bestimmen. Die RowScanDepth legt die Anzahl der zu scannenden Zeilen fest. Kann mit „Recent“ verwendet werden. |
Recent | Einstellung TypeDetectionScheme to Recent bestimmt, ob RowScan für die aktuellsten Dokumente in der Sammlung ausgeführt wird. Kann mit RowScan verwendet werden. |
RawValue | Einstellung TypeDetectionScheme zu RawValue überträgt jedes Dokument als einzelnes Aggregat in eine Spalte mit dem Namen „JsonData“, zusammen mit seiner Ressourcenkennung in die separate Spalte „Primärschlüssel“. Kann nicht mit anderen Optionen kombiniert werden. |
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 [].[Entities].Customers 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.
Verwenden SieRidAsPk
Setzen Sie diese Eigenschaft auf „false“, um die ID-Spalte als Primärschlüssel anstelle der Standard-_rid zu verwenden.
Datentyp
bool
Standardwert
true
Hinweise
Da CosmosDB Ihnen erlaubt, sowohl _rid- als auch ID-Felder als eindeutige Werte zum Abrufen von Ressourcendaten zu verwenden, können Sie diese Eigenschaft auf „false“ setzen, um die ID-Spalte als Primärschlüssel anstelle der Standard-_rid zu verwenden.
SchreibDurchsatzBudget
Definiert das Budget für Anforderungseinheiten (RU) pro Sekunde, das die Batch-CUD-Vorgänge (Erstellen, Aktualisieren, Löschen) nicht überschreiten sollten.
Datentyp
int
Standardwert
1000
Hinweise
Der Connector passt die maximale Anzahl von Anfragen pro Sekunde dynamisch an, abhängig vom konfigurierten RU-Budget. Obwohl der Connector immer versucht, das RU-Budget nicht zu überschreiten, kann es in einigen Fällen zu einer relativ geringen Überschreitung kommen, da die drosselung clientseitig angewendet wird. Zu diesen Fällen gehören das Einfügen, Aktualisieren und Löschen von Datensätzen mit stark variabler Spaltenanzahl und Eingabewertlänge pro Spalte.
Notiz
Diese Eigenschaft ist nur beim Ausführen von Charge CUD-Operationen anwendbar.