Zum Inhalt springen

GraphQL v2-Verbindungsdetails

Einführung

Connector-Version

Diese Dokumentation basiert auf Version 23.0.9036 des Connectors.

Erste Schritte

GraphQL Versionsunterstützung

Der Connector nutzt die GraphQL API, um einen bidirektionalen Zugriff auf GraphQL zu ermöglichen.

Herstellen einer Verbindung

Mit GraphQL verbinden

Stellen Sie zum Verbinden Folgendes ein:

  • URL: Geben Sie beispielsweise die URL des GraphQL Dienstes an https://api.example.com/graphql.
  • Location: Legen Sie dies auf den Dateipfad fest, der alle benutzerdefinierten Schemas für den GraphQL -Dienst enthält.

Authentifizieren bei GraphQL

Der Treiber unterstützt die folgenden Authentifizierungsarten:

Grundlegend OAuth 1.0 und 2.0 - OAuthPKCE - AWS Cognito-Anmeldeinformationen: - AWSCognitoSrp - AwsCognitoBasic

Cookies-basis

Satz AuthScheme auf Basic. Sie müssen die angeben User Und Password des GraphQL Dienstes.

OAuth

In allen OAuth-Flows müssen Sie festlegen AuthScheme Zu OAuth Und OAuthVersion auf 1.0 oder 2.0. Die folgenden Abschnitte gehen davon aus, dass Sie dies getan haben.

Desktop-Anwendungen

Nachdem Sie die folgenden Verbindungseigenschaften festgelegt haben, können Sie eine Verbindung herstellen:

  • OAuthRequestTokenURL: Erforderlich für OAuth 1.0. Dies ist die URL, unter der die Anwendung eine Anforderung für das Anforderungstoken stellt.
  • OAuthAuthorizationURL: Erforderlich für OAuth 1.0 und 2.0. Dies ist die URL, unter der sich der Benutzer beim Dienst anmeldet und der Anwendung Berechtigungen erteilt. In OAuth 1.0 wird das Anforderungstoken autorisiert, wenn Berechtigungen erteilt werden.
  • OAuthAccessTokenURL: Erforderlich für OAuth 1.0 und 2.0. Dies ist die URL, an die die Anforderung des Zugriffstokens gestellt wird. In OAuth 1.0 wird der autorisierte Anforderungstoken gegen den Zugriffstoken ausgetauscht.
  • OAuthRefreshTokenURL: Erforderlich für OAuth 2.0. In OAuth 2.0 ist dies die URL, unter der das Aktualisierungstoken gegen ein neues Zugriffstoken ausgetauscht wird, wenn das alte abläuft. Beachten Sie, dass dies für Ihre Datenquelle mit der Zugriffstoken-URL identisch sein kann.
  • OAuthClientId: Legen Sie dies in Ihren Anwendungseinstellungen auf die Client-ID fest. Dies wird auch als Consumer-Schlüssel bezeichnet.
  • OAuthClientSecret: Legen Sie dies in Ihren Anwendungseinstellungen auf das Client-Geheimnis fest. Dies wird auch als Consumer-Geheimnis bezeichnet.
  • CallbackURL: Setzen Sie dies auf http://localhost:33333. Wenn Sie in Ihren Anwendungseinstellungen eine Umleitungs URL angegeben haben, muss diese übereinstimmen.
  • InitiateOAuth: Setzen Sie dies auf GETANDREFRESH. Sie können InitiateOAuth verwenden, um eine Wiederholung des OAuth-Austauschs und das manuelle Festlegen des Zugriffstokens in der Verbindungszeichenfolge zu vermeiden.

Wenn Sie eine Verbindung herstellen, öffnet der Connector den OAuth-Endpoint in Ihrem Standardbrowser. Melden Sie sich an und erteilen Sie der Anwendung Berechtigungen. Anschließend schließt der Connector den OAuth-Prozess ab:

  1. Extrahiert das Zugriffstoken aus der Rückruf URL und authentifiziert Anfragen.
  2. Aktualisiert den Zugriffstoken, wenn er abläuft.
  3. Speichert OAuth-Werte in OAuthSettingsLocation. Diese Werte bleiben über Verbindungen hinweg bestehen.
Kopflose Maschinen

Um GraphQL Datenquellen auf Headless-Servern oder anderen Maschinen zu erstellen, auf denen der Connector keinen Browser öffnen kann, müssen Sie sich von einer anderen Maschine aus authentifizieren. Die Authentifizierung erfolgt in zwei Schritten.

  1. Wählen Sie eine von zwei Optionen:
    • Option 1: Erhalten Sie die OAuthVerifier Wert wie unten unter „Verifiziercode erhalten und austauschen“ beschrieben.
    • Option 2: Installieren Sie den Connector auf einem Computer mit einem Internetbrowser und übertragen Sie die OAuth-Authentifizierungswerte, nachdem Sie sich über den üblichen browserbasierten Ablauf authentifiziert haben, wie unten unter „OAuth-Einstellungen übertragen“ beschrieben.
  2. Konfigurieren Sie dann den Connector so, dass das Zugriffstoken auf dem Headless-Computer automatisch aktualisiert wird.

Option 1: Verifiziercode erhalten und austauschen

Legen Sie die folgenden Eigenschaften auf dem Headless-Computer fest:

  • InitiateOAuth: Setzen Sie dies auf OFF.
  • OAuthClientId: Legen Sie dies in Ihren Anwendungseinstellungen auf die Anwendungs-ID fest.
  • OAuthClientSecret: Legen Sie dies in Ihren Anwendungseinstellungen auf das Anwendungsgeheimnis fest.

Sie können dann die folgenden Schritte ausführen, um sich von einem anderen Computer aus zu authentifizieren und das zu erhalten OAuthVerifier Verbindungseigenschaft.

  1. Rufen Sie die GetOAuthAuthorizationURL auf gespeicherte Prozedur mit dem CallbackURL-Eingabeparameter, der auf die genaue Umleitungs-URI eingestellt ist, die Sie in Ihren Anwendungseinstellungen angegeben haben.
  2. Speichern Sie den Wert des zurückgegebenen AuthToken und AuthKey, wenn OAuthVersion ist auf 1,0 gesetzt. Sie werden im nächsten Schritt verwendet.
  3. Öffnen Sie die zurückgegebene URL in einem Browser. Melden Sie sich an und erteilen Sie dem Connector Berechtigungen. Sie werden dann zur Callback-URL weitergeleitet, die den Prüfcode enthält.
  4. Speichern Sie den Wert des Prüfcodes. Später müssen Sie diesen im Feld OAuthVerifier Verbindungseigenschaft.

Legen Sie auf der Headless-Maschine die folgenden Verbindungseigenschaften fest, um die OAuth-Authentifizierungswerte zu erhalten:

  • OAuthRequestTokenURL: Erforderlich für OAuth 1.0. In OAuth 1.0 ist dies die URL, unter der die Anwendung eine Anforderung für das Anforderungstoken stellt.
  • OAuthAuthorizationURL: Erforderlich für OAuth 1.0 und 2.0. Dies ist die URL, unter der sich der Benutzer beim Dienst anmeldet und der Anwendung Berechtigungen erteilt. In OAuth 1.0 wird das Anforderungstoken autorisiert, wenn Berechtigungen erteilt werden.
  • OAuthAccessTokenURL: Erforderlich für OAuth 1.0 und 2.0. Dies ist die URL, an die die Anforderung des Zugriffstokens gestellt wird. In OAuth 1.0 wird der autorisierte Anforderungstoken gegen den Zugriffstoken ausgetauscht.
  • OAuthRefreshTokenURL: Erforderlich für OAuth 2.0. In OAuth 2.0 ist dies die URL, unter der das Aktualisierungstoken gegen ein neues Zugriffstoken ausgetauscht wird, wenn das alte abläuft. Beachten Sie, dass dies für Ihre Datenquelle mit der Zugriffstoken-URL identisch sein kann.
  • OAuthClientId: Stellen Sie dies in Ihren Anwendungseinstellungen auf die Client-ID ein.
  • OAuthClientSecret: Legen Sie dies in Ihren Anwendungseinstellungen auf das Client-Geheimnis fest.
  • CallbackURL: Setzen Sie dies auf http://localhost:33333. Wenn Sie in Ihren Anwendungseinstellungen eine Umleitungs URL angegeben haben, muss diese übereinstimmen.
  • InitiateOAuth: Setzen Sie dies auf GETANDREFRESH. Sie können InitiateOAuth verwenden, um den OAuth-Austausch nicht zu wiederholen und das Zugriffstoken nicht manuell in der Verbindungszeichenfolge festzulegen.

Mit Daten verbinden

Nachdem die OAuth-Einstellungsdatei generiert wurde, legen Sie die folgenden Eigenschaften fest, um eine Verbindung mit Daten herzustellen:

  • OAuthSettingsLocation: Legen Sie dies auf den Speicherort fest, der die verschlüsselten OAuth-Authentifizierungswerte enthält. Stellen Sie sicher, dass dieser Speicherort dem Anbieter Lese- und Schreibberechtigungen erteilt, um die automatische Aktualisierung des Zugriffstokens zu ermöglichen.
  • InitiateOAuth: Stellen Sie dies auf REFRESH ein.

Option 2: OAuth-Einstellungen übertragen

Befolgen Sie die nachstehenden Schritte, um den Connector auf einem anderen Computer zu installieren, zu authentifizieren und dann die resultierenden OAuth-Werte zu übertragen.

Installieren Sie den Connector auf einem zweiten Computer und stellen Sie eine Verbindung mit den folgenden festgelegten Eigenschaften her:

  • OAuthSettingsLocation: Legen Sie hier einen beschreibbaren Ort fest.
  • InitiateOAuth: Setzen Sie dies auf GETANDREFRESH.
  • OAuthClientId: Legen Sie dies in Ihren Anwendungseinstellungen auf die Client-ID fest.
  • OAuthClientSecret: Legen Sie dies in Ihren Anwendungseinstellungen auf das Client-Geheimnis fest.
  • CallbackURL: Legen Sie dies in Ihren Anwendungseinstellungen auf die Rückruf URL fest.

Testen Sie die Verbindung zur Authentifizierung. Die resultierenden Authentifizierungswerte werden verschlüsselt an den durch angegebenen Speicherort geschrieben OAuthSettingsLocation. Nachdem Sie die Verbindung erfolgreich getestet haben, kopieren Sie die OAuth-Einstellungsdatei auf Ihren Headless-Computer. Legen Sie auf dem Headless-Computer die folgenden Verbindungseigenschaften fest, um eine Verbindung zu Daten herzustellen:

  • InitiateOAuth: Setzen Sie dies auf REFRESH.
  • OAuthSettingsLocation: Legen Sie hier den Speicherort Ihrer OAuth-Einstellungsdatei fest. Stellen Sie sicher, dass dieser Speicherort dem Connector Lese- und Schreibberechtigungen erteilt, um die automatische Aktualisierung des Zugriffstokens zu ermöglichen.
OAuthPKCE

NOTE:OAuth Proof Key for Code Exchange (PKCE) ist eine Erweiterung des OAuth 2.0-Autorisierungscode-Flows.

Desktop-Anwendungen

Nachdem Sie Folgendes eingestellt haben, können Sie eine Verbindung herstellen:

  • AuthScheme: Setzen Sie dies auf OAuthPKCE.
  • InitiateOAuth: Setzen Sie dies auf GETANDREFRESH um den OAuth-Austausch nicht manuell durchzuführen und das Zugriffstoken nicht manuell in der Verbindungszeichenfolge festzulegen.
  • OAuthClientId: Legen Sie dies auf die Client-ID fest, die beim Erstellen Ihrer OAuth-Anwendung auf dem GraphQL -Dienst generiert wurde.
  • OAuthAuthorizationURL: Setzen Sie dies auf die Autorisierungs URL für den GraphQL -Dienst. Dies ist die URL, unter der sich der Benutzer beim Dienst anmeldet und der OAuth-Anwendung Berechtigungen erteilt, beispielsweise https://api.example.com/authorize.
  • OAuthAccessTokenURL: Setzen Sie dies auf die Zugriffstoken-URL für den GraphQL -Dienst. Dies ist die URL, an die die Anforderung für das Zugriffstoken gestellt wird, z. B. https://api.example.com/token.
  • OAuthRefreshTokenURL: Setzen Sie dies auf die URL des Aktualisierungstokens für den GraphQL Dienst. Dies ist die URL, unter der das Aktualisierungstoken gegen ein neues Zugriffstoken ausgetauscht wird, wenn das alte abläuft. Beachten Sie, dass dies für Ihre Datenquelle dasselbe sein kann wie OAuthAccessTokenURL.

Wenn Sie eine Verbindung herstellen, öffnet der Connector den OAuth-Endpoint in Ihrem Standardbrowser. Melden Sie sich an und erteilen Sie der Anwendung Berechtigungen. Der Connector schließt dann den OAuth-Prozess ab:

  1. Extrahiert den Autorisierungscode aus der Rückruf URL.
  2. Tauscht den Autorisierungscode gegen ein Zugriffs- und Aktualisierungstoken aus.
  3. Aktualisiert den Zugriffstoken, wenn er abläuft.
  4. Speichert OAuth-Werte in OAuthSettingsLocation. Diese Werte bleiben über Verbindungen hinweg bestehen.

AWS Cognito-Anmeldeinformationen

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

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

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.

Modellieren von GraphQL Daten

In diesem Abschnitt wird gezeigt, wie die verschiedenen Schemas gesteuert werden, die der Connector anbietet, um die Lücke zwischen relationalen SQL- und GraphQL Diensten zu schließen.

Schema-Introspektion

GraphQL Dienste bieten einen Abfrage, mit dem der Connector Ansichts- und Spaltennamen abrufen kann.

Alle SCALAR-Mutationsfelder werden direkt angezeigt und alle Objektfelder werden erweitert.

Mutationen

Der Connector sucht automatisch nach verfügbaren Using Mutations. Da GraphQL keine Methode bereitstellt, um zu bestimmen, welche Mutationen für welche Tabelle verwendet werden können, wird jede Mutation als gespeicherte Prozedur verfügbar gemacht.

LIST-Felder werden als temporäre Tabellen verfügbar gemacht (GraphQL -Tabellen vom Typ TEMPORARY_TABLE). Die ermittelten temporären Tabellen können durch Abfragen der Systemtabellen sys_tables und sys_tablecolumns abgerufen werden.

Schemata anpassen

Operationen beschreibt detailliert den Vorgang zum Konfigurieren benutzerdefinierter Schema. Das Einrichten dieser benutzerdefinierten Schema ist ein erforderlicher Schritt zum Herstellen einer Verbindung zu GraphQL Daten.

Systemtabellen

Siehe Systemtabellen, um die aktuellen Tabellenmetadaten Abfrage.

Gespeicherte Prozeduren

Der Connector verwendet gespeicherte Prozeduren, um verschiedene Funktionen auszuführen, wie z. B. das Abrufen und Aktualisieren von OAuth-Tokens.

Automatische Schemaerkennung

Standardmäßig liest der Connector automatisch Metadaten aus GraphQL.

Schema-Introspektion

GraphQL Dienste bieten einen Abfrage, mit dem der Connector Ansichts- und Spaltennamen abrufen kann.

Ein GraphQL Abfrage hat an seiner Wurzel ein Abfrage. Andere Objekte sind im Abfrage verschachtelt, das wiederum seine eigenen verschachtelten Objekte haben kann.

Der Connector liest Objekte vom Typ LIST oder Relay Connection als Ansichten. Wenn ein Feld SCALAR ist, wird es als Spalte gelesen, und wenn ein Feld ein einfaches OBJEKT ist, wird es erweitert.

Legen Sie die Tiefe der Metadaten-Introspektion wie folgt fest:

  • ExpandTablesDepth: Wenn Sie den Wert auf 0 setzen, wird nur aus dem Abfrage gelesen. In Szenarien, in denen Listen in anderen Listen verschachtelt sind, setzen Sie den Wert ExpandTablesDepth zur Anzahl der zu scannenden verschachtelten Ebenen.
  • ExpandColumnsDepth: Hiermit wird festgelegt, wie viele weitere Schichten (ausgehend von der ExpandTablesDepth), um Objekte zu erweitern und Felder aus ihren verschachtelten untergeordneten Objekten einzuschließen.

Mutationen verwenden

Der Connector sucht automatisch nach verfügbaren Mutationen. Da GraphQL keine Methode bereitstellt, um zu bestimmen, welche Mutationen für welche Tabelle verwendet werden können, wird jede Mutation als gespeicherte Prozedur bereitgestellt.

Alle SCALAR-Mutationsfelder werden direkt angezeigt und alle Objektfelder werden erweitert.

LIST-Felder werden als temporäre Tabellen (GraphQL -Tabellen vom Typ TEMPORARY_TABLE) bereitgestellt. Die ermittelten temporären Tabellen können durch Abfragen der Systemtabellen sys_tables und sys_tablecolumns abgerufen werden. Diese Tabellen enthalten ein RowId- und ParentId-Feld, um die Zeile und die übergeordnete (übergeordnete) Tabelle einer bestimmten untergeordneten Tabelle zu kennzeichnen.

Ein Beispiel für eine Mutation ist productCreate. Rufen Sie Mutationen als gespeicherte Prozedur auf, nachdem Sie zuerst die für die Operation benötigten relevanten untergeordneten Tabellen geladen haben:

INSERT INTO productCreate_metafields (namespace,key,value,type) VALUES ('MRproductInfo','ALU','449788022','string')

INSERT INTO productCreate_variants (RowId,price,sku,inventoryManagement,weightUnit,weight,options,metafields,inventoryQuantities) VALUES (1,'39.99','38536314-0acb-4d3f-b8ff-a0f2014d2c75','SHOPIFY','POUNDS',1,'L,XL,XXL','productCreate_variants_metafields','productCreate_variants_inventoryQuantities')

INSERT INTO productCreate_variants_metafields (ParentId,namespace,key,value,type) VALUES ('1','MRproductInfo','ALU','449788022-M-','string')

INSERT INTO productCreate_variants_metafields (ParentId,namespace,key,value,type) VALUES ('1','MRproductInfo','ItemNumber','400000881201','string')

INSERT INTO productCreate_variants_inventoryQuantities (ParentId,locationId,availableQuantity) VALUES ('1','gid://shopify/Location/1448280087',5)

INSERT INTO productCreate_media (originalSource,alt,mediaContentType) VALUES ('https://static.nike.com/a/images/t_PDP_1280_v1/f_auto,q_auto:eco/qwqfyddzikcgc4ozwigp/revolution-5-road-running-shoes-szF7CS.png','Magic Shoes','IMAGE')

EXECUTE productCreate title='NIKE  - 449788022', descriptionHtml=' - MEN\'S SHOES  42-MENS L/S TEES',productType='Staging', vendor='NIKE', published='false', options='size,width',metafields='productCreate_metafields', variants='productCreate_variants', media='productCreate_media'

Anpassen von Schemas

Benutzerdefinierte Schemata werden in Konfigurationsdateien definiert. In diesem Kapitel wird die Struktur dieser Dateien beschrieben.
Hinweis: Die Eigenschaft GenerateSchemaFiles ermöglicht es Ihnen, Tabellenmetadaten in statischen Schema zu speichern, die einfach anzupassen sind (um beispielsweise Ihre Änderungen an Spaltendatentypen zu speichern). Setzen Sie diese Eigenschaft auf „OnStart“, um bei der Verbindung Schema für alle Tabellen in Ihrer Datenbank zu generieren. Alternativ können Sie diese Eigenschaft auf „OnUse“ setzen, um Schemas zu generieren, während Sie SELECT-Abfragen an Tabellen ausführen. Es ist auch möglich, mit CreateSchema eine spezifische Schema für eine Tabelle zu erstellen gespeicherte Prozedur.

Bearbeiten von Schemadateien

Tabellen und Ansichten werden durch die Erstellung von Schema in APIScript definiert. APIScript ist eine einfache Konfigurationssprache, mit der Sie die Spalten und das Verhalten der Tabelle definieren können. Es verfügt auch über integrierte Operationen, mit denen Sie GraphQL verarbeiten können. Zusätzlich zu diesen Datenverarbeitungsprimitiven ist APIScript eine voll funktionsfähige Sprache mit Konstrukten für Bedingungen, Schleifen usw. Wie das Schema jedoch zeigt, müssen Sie diese Funktionen für die meisten Tabellendefinitionen nicht verwenden.

Beispielschema

Unten finden Sie ein voll funktionsfähiges Schema, das die Labels-Tabelle modelliert und alle Komponenten enthält, die Sie zum Ausführen von SQL für GraphQL Datenquellen benötigen.

Weitere Informationen zu den einzelnen Komponenten eines Schema finden Sie in Spaltendefinitionen, SELECT-Ausführung.

<rsb:script xmlns:rsb="http://apiscript.com/ns?v1" xmlns:xs="http://www.cdata.com/ns/rsbscript/2" xmlns:other="http://apiscript.com/ns?v1">
<rsb:info title="Labels" desc="Lists information about the different labels you can apply on an issue." other:possiblePaths="{'path':'/repository/labels/edges/node','Name':{'path':'/repository/label'}}" andere:paginationObjects="{'labels':{'cursorPath':'after','cursorType':'String','pageSizeArgumentPath':'first','pageSizeArgumentType':'Int','depth':'1','paginationType':'Cursor','isConnection':'True','pageInfo':['endCursor','hasNextPage','hasPreviousPage','startCursor']}}">
<attr   name="Id"               xs:type="string"     key="true"   other:relativePath="id"             desc="The ID of the label."                                                                                                                                                                                                                                                                                                                     />
<attr   name="RepositoryName"   xs:type="string"                            other:relativePath="name"           desc="The name of the repository."                                     other:filter="name:="    other:argumenttype="String!"    other:depth="1"                                           references="Repositories.Name"                                                                                />
<attr   name="UserLogin"        xs:type="string"                                                                          desc="The login name of the user."                                     other:filter="owner:="   other:argumenttype="String!"    other:depth="1"                                           references="Users.Login"            other:mirror="true"         other:canBeSliced="true"  />
<attr   name="Color"            xs:type="string"                            other:relativePath="color"          desc="Identifies the label color."                                                                                                                                                                                                                                                                                                              />
<attr   name="CreatedAt"        xs:type="datetime"                          other:relativePath="createdAt"      desc="Identifies the date and time when the label was created."                                                                                                                  other:orderby="CREATED_AT"                                                                                                                           />
<attr   name="Description"      xs:type="string"                            other:relativePath="description"    desc="A brief description of this label."                                                                                                                                                                                                                                                                                                       />
<attr   name="IsDefault"        xs:type="boolean"                           other:relativePath="isDefault"      desc="Indicates whether or not this is a default label."                                                                                                                                                                                                                                                                                        />
<attr   name="Name"             xs:type="string"                            other:relativePath="name"           desc="Identifies the label name."                                      other:filter="name:="    other:argumenttype="String!"                                 other:orderby="NAME"                                                       other:isPathFilter="true"                                       />
<attr   name="ResourcePath"     xs:type="string"                            other:relativePath="resourcePath"   desc="The HTTP path for this label."                                                                                                                                                                                                                                                                                                            />
<attr   name="UpdatedAt"        xs:type="datetime"                          other:relativePath="updatedAt"      desc="Identifies the date and time when the label was last updated."                                                                                                                                                                                                                                                                            />
<attr   name="Url"              xs:type="string"                            other:relativePath="url"            desc="The HTTP URL for this label."                                                                                                                                                                                                                                                                                                             />
</rsb:info>

<rsb:script method="GET">
<rsb:push op="graphqladoSelect" />
</rsb:script>
</rsb:script>

Beispiele für benutzerdefinierte Header

Statische Header

Das folgende Beispiel zeigt, wie statische Header in die Schema eingefügt werden. Diese Header werden bei jedem Aufruf der Schema zur Anforderung hinzugefügt.

<rsb:script xmlns:rsb="http://apiscript.com/ns?v1" xmlns:xs="http://www.cdata.com/ns/rsbscript/2" xmlns:other="http://apiscript.com/ns?v1">
...
<input name="Ship1" other:headerName="DynamicValuedHeader" />
<input name="Ship2" other:headerName="DynamicValuedHeader" />
</rsb:info>

<api:set attr="Header:Name#1"  value="StaticValuedHeader" />
<api:set attr="Header:Value#1" value="StaticValuedHeader__Value" />
Dynamische Header

Das folgende Beispiel zeigt, wie dynamische Header in die Schema eingefügt werden. Diese Header werden bei jedem Aufruf der Schema zur Anforderung hinzugefügt.

<rsb:script xmlns:rsb="http://apiscript.com/ns?v1" xmlns:xs="http://www.cdata.com/ns/rsbscript/2" xmlns:other="http://apiscript.com/ns?v1">
...
<input name="Ship1" other:headerName="DynamicValuedHeader" />
<input name="Ship2" other:headerName="DynamicValuedHeader" />
<input name="Ship3" other:headerName="DynamicValuedHeader2" />
</rsb:info>

<api:set attr="Header:Name#1"  value="DynamicValuedHeader" />
<api:set attr="Header:Value#1" value="[_input.Ship1] - [_input.Ship2]" />
SELECT * FROM [Tisch] WHERE`[Schiff1] `= "Value1" AND`[Schiff2] `= "Value2" AND`[DynamicValuedHeader2] `= "custom value"

Im obigen Beispiel wird das Werteformat von DynamicValuedHeader vom Treiber analysiert, für DynamicValuedHeader2 ist es jedoch identisch mit dem in der Abfrage angegebenen Wert.

Spaltendefinitionen

Die grundlegenden Attribute einer Spalte sind der Name der Spalte, der Datentyp, ob die Spalte ein Primärschlüssel ist, der relative Pfad und die Tiefe. Der Connector verwendet das Tiefenattribut, um Knoten aus hierarchischen Daten zu extrahieren.

Markieren Sie Spaltenattribute im Block der Schema. Sie können mit der Eigenschaft desc auch eine Beschreibung jedes Attributs angeben.

<rsb:script xmlns:rsb="http://apiscript.com/ns?v1" xmlns:xs="http://www.cdata.com/ns/rsbscript/2" xmlns:other="http://apiscript.com/ns?v1">
<rsb:info title="Labels" desc="Lists information about the different labels you can apply on an issue." other:possiblePaths="{'path':'/repository/labels/edges/node','Name':{'path':'/repository/label'}}" andere:paginationObjects="{'labels':{'cursorPath':'after','cursorType':'String','pageSizeArgumentPath':'first','pageSizeArgumentType':'Int','depth':'1','paginationType':'Cursor','isConnection':'True','pageInfo':['endCursor','hasNextPage','hasPreviousPage','startCursor']}}">
<attr   name="Id"               xs:type="string"     key="true"   other:relativePath="id"             desc="The ID of the label."                                                                                                                                                                                                                                                                                                                  />
<attr   name="RepositoryName"   xs:type="string"                            other:relativePath="name"           desc="The name of the repository."                                     other:filter="name:="    other:argumenttype="String!"    other:depth="1"                                           references="Repositories.Name"                                                                             />
<attr   name="UserLogin"        xs:type="string"                                                                          desc="The login name of the user."                                     other:filter="owner:="   other:argumenttype="String!"    other:depth="1"                                           references="Users.Login"         other:mirror="true"         other:canBeSliced="true"  />
<attr   name="Color"            xs:type="string"                            other:relativePath="color"          desc="Identifies the label color."                                                                                                                                                                                                                                                                                                           />
<attr   name="CreatedAt"        xs:type="datetime"                          other:relativePath="createdAt"      desc="Identifies the date and time when the label was created."                                                                                                                  other:orderby="CREATED_AT"                                                                                                                        />
<attr   name="Description"      xs:type="string"                            other:relativePath="description"    desc="A brief description of this label."                                                                                                                                                                                                                                                                                                    />
<attr   name="IsDefault"        xs:type="boolean"                           other:relativePath="isDefault"      desc="Indicates whether or not this is a default label."                                                                                                                                                                                                                                                                                     />
<attr   name="Name"             xs:type="string"                            other:relativePath="name"           desc="Identifies the label name."                                      other:filter="name:="    other:argumenttype="String!"                                 other:orderby="NAME"                                                    other:isPathFilter="true"                                       />
<attr   name="ResourcePath"     xs:type="string"                            other:relativePath="resourcePath"   desc="The HTTP path for this label."                                                                                                                                                                                                                                                                                                         />
<attr   name="UpdatedAt"        xs:type="datetime"                          other:relativePath="updatedAt"      desc="Identifies the date and time when the label was last updated."                                                                                                                                                                                                                                                                         />
<attr   name="Url"              xs:type="string"                            other:relativePath="url"            desc="The HTTP URL for this label."                                                                                                                                                                                                                                                                                                          />
</rsb:info>

<rsb:script method="GET">
<rsb:push op="graphqladoSelect" />
</rsb:script>

</rsb:script>

In den folgenden Abschnitten erfahren Sie mehr über die Verwendung von Pfaden zum Extrahieren von Spalten und Zeilen. Informationen zu den Spaltendefinitionen in einem vollständigen Schema finden Sie unter Anpassen von Schemas.

Ordnen Sie die SELECT-Projektion GraphQL Feldern zu.

Steuern Sie den Erstellungsprozess eines GraphQL Feldpfads mit den unten aufgeführten Eigenschaften:

  1. Die other:possiblePaths Die-Eigenschaft wird verwendet, um die Basispfade anzugeben, die den Wert der Spalte auswählen.

    Basispfade beginnen mit einem „/“ und enthalten den vollständigen Pfad zum letzten verschachtelten GraphQL Objekt.

      <rsb:info title="Labels" desc="Lists information about the different labels you can apply to an issue." other:possiblePaths="{'path':'/repository/labels/edges/node','Name':{'path':'/repository/label'}}" andere:paginationObjects="{'labels':{'cursorPath':'after','cursorType':'String','pageSizeArgumentPath':'first','pageSizeArgumentType':'Int','depth':'1''paginationType':'Cursor','isConnection':'True','pageInfo':['endCursor','hasNextPage','hasPreviousPage','startCursor']}}">
    

    Die folgende GraphQL Abfrage basiert auf dem obigen Script:

    { # base path=/repository/labels/edges/node
      repository {
        labels {
          edges {
            node {
              ...
            }
          }
        }
      }
    }
    
  2. Die other:relativePath Die Eigenschaft muss für jede Spalte angegeben werden. Diese Eigenschaft wird in Verbindung mit der Eigenschaft other:possiblePaths verwendet, um den GraphQL Feldpfad zu erstellen.

      <attr   name="Name"  xs:type="string"  other:relativePath="name"  desc="Identifies the label name."    />
    

    Basierend auf dem obigen Script erstellt der Connector die folgende GraphQL Abfrage:

    { # base path=/repository/labels/edges/node
      repository { # depth=1
        labels { # depth=2
          edges {
            node {
              name # path=base path + relative path.
            }
          }
        }
      }
    }
    
  3. Verwenden Sie die other:depth Eigenschaft zum Angeben eines Elements innerhalb eines bestimmten GraphQL Objekts. Die Indizes sind 1-basiert. Wenn dieses Attribut nicht angegeben ist, entspricht der Standardwert dem letzten verschachtelten GraphQL Objekt.

      <attr   name="RepositoryName"   xs:type="string"  other:relativePath="name"   desc="The name of the repository."  other:depth="1" />
    

    Die folgende GraphQL Abfrage wird aus dem obigen Script erstellt:

    { # base path=/repository/labels/edges/node
      repository { # depth=1
        name # This is mapped to the RepositoryName column
        labels { # depth=2
          edges {
            node {
              ...
            }
          }
        }
      }
    }
    
  4. Verwenden Sie die other:fragment Eigenschaft zum Angeben einer Gruppe von Feldern. Diese Eigenschaft kann verwendet werden, wenn der GraphQL Server ein Array von Objekten zurückgibt und der Connector diese Informationen möglicherweise als Aggregat übertragen muss.

      <attr   name="ColumnValues"   xs:type="string"  other:relativePath="column_values"   desc="Column values."  other:fragment="fragment ItemColumnValues on ColumnValue {  ID \r\n value }" />
    

    Basierend auf dem obigen Script erstellt der Connector die folgende GraphQL Abfrage:

    query {
        items {
            column_values {
                ...ItemColumnValues
            }
        }
    }
    fragment ItemColumnValues on ColumnValue {
        id
        value
    }
    
  5. Verwenden Sie die other:canbesliced Eigenschaft aktiviert Slicing-Verhalten im Connector

    Zum Beispiel:

    SELECT * FROM Table WHERE Col IN ('1','2','3')
    

    wird

    SELECT * FROM Table WHERE Col=1
    SELECT * FROM Table WHERE Col=2
    SELECT * FROM Table WHERE Col=3
    
  6. Verwenden Sie die other:mirror-Eigenschaft, um den in den Kriterien angegebenen Wert widerzuspiegeln. Verwenden Sie diese Eigenschaft für Spalten, die in der Serverantwort nicht angegeben sind.

    Beispiel:

    SELECT * FROM Table WHERE Col=X (If other:mirror=true the connector will artificially set the value of Col to X for every row.)
    
  7. Verwenden Sie references um auf die Schlüsselspalte der übergeordneten Tabelle zu verweisen. Beispiel: Wenn es zwei Tabellen „Orders“ und „OrderLineItems“ gibt und „OrderLineItems“ eine Spalte „OrderId“ hat, lautet das Referenzfeld für diese Spalte „Orders.Id“.

Hinweis

  • Pfade und Spaltennamen (wenn sie zur Pfadgenerierung verwendet werden) sind case-sensitiv.
  • Es muss mindestens ein möglicher Pfad angegeben werden.
  • Das other:relativePath Die Eigenschaft muss für jede Spalte angegeben werden. Andernfalls kann der Connector die SELECT-Spalte keinem GraphQL Feld zuordnen.

SELECT-Ausführung

Wenn eine SELECT Abfrage ausgegeben wird, führt der Connector die GET-Methode des Schema aus, die die integrierten Operationen des Connectors aufruft, um GraphQL zu verarbeiten. In der GET-Methode haben Sie Kontrolle über die Datenanforderung. Die folgenden Verfahren zeigen mehrere Möglichkeiten, dies zu verwenden: Durchsuchen Sie die Remote-Daten serverseitig mit SELECT WHERE oder implementieren Sie Paging.

Zuordnen von SELECT-Kriterien zu GraphQL -Argumenten

In den folgenden Abschnitten wird gezeigt, wie eine SELECT WHERE-Anweisung in eine GraphQL Abfrage an GraphQL APIs übersetzt wird. Das Verfahren verwendet die folgende Anweisung:

SELECT *
FROM <table>
WHERE ModifiedAt<'2019-10-30 05:05:36.001'

Wenn dieser Filter auf dem Server über Abfrage unterstützt wird, können Sie die Eigenschaft other:filter der Spaltendefinition api:info verwenden, um die gewünschte Zuordnung anzugeben. Für die obige Abfrage verwendet der Connector diese Eigenschaft, um den Filter modifiedAt < '<date>' dem Abfrage zuzuordnen, der Ergebnisse zurückgibt, die vor einem bestimmten Datum geändert wurden, und den Filter modifedAt > '<date>' dem Abfrage, der Ergebnisse filtert, die nach diesem Datum geändert wurden.

  • other:filter ist eine durch Semikolon getrennte Liste von <Parametername>:<Operatorliste>. <Parametername> ist der Name des Abfrage und <Operatorliste> ist eine durch Kommas getrennte Liste von Operatoren, die für die Zuordnung verwendet werden. Gültige Operatoren sind <, <=, =, > und >=.
  • other:argumentType ist eine erforderliche Zusatzinformation. Sie sollte den Typ des Arguments basierend auf der GraphQL Schema enthalten.

Um diese Zuordnung durchzuführen, würde der Connector die folgende Auszeichnung für die Spaltendefinition modifedAt verwenden:

<attr name="ModifiedAt" xs:type="datetime" other:relativePath="modifiedAt" other:argumentType="DateTime" description="When the vendor was last modified." other:filter="modifiedAtAfter:>;modifiedAtBefore:<" />

Diese Abfrage führt zu den folgenden Postdaten:

{
    "variables": {
        "ModifiedAt_modifiedAtBefore": "2019-10-30T09:05:36.001Z"
    },
    "query": "query($ModifiedAt_modifiedAtBefore:DateTime) {\r\nbusinesses {\r\nedges {\r\nnode {\r\ncustomers(modifiedAtBefore:$ModifiedAt_modifiedAtBefore) {\r\nedges {\r\nnode {\r\nid\r\nmodifiedAt\r\n}\r\n}\r\npageInfo {\r\ntotalPages\r\ncurrentPage\r\n}\r\n}\r\nid\r\n}\r\n}\r\npageInfo {\r\ntotalPages\r\ncurrentPage\r\n}\r\n}\r\n}\r\n"
}
Pfadfilter

Es gibt GraphQL Dienste, bei denen das GraphQL -Argument nicht ausreicht, um den Filter Servereport Suite ID (RSID) zu verarbeiten. Der Pfad sollte geändert werden. Um einen Pfadfilter korrekt zu verwenden, müssen Sie die folgenden Schritte ausführen:

  1. Fügen Sie den Pfad zum hinzu other:possiblePaths zusätzliche Informationen und ordnen Sie sie dem Spaltennamen zu, den Sie filtern möchten.

    Beispiel: other:possiblepaths="{'path':'/businesses/edges/node','id':{'path':'/business'}}"

  2. Set the Sonstiges:isPathFilter to TRUE in the column defintion.

    <attr name="Id" xs:type="string" key="true" other:relativePath="id" other:isPathFilter="true" other:filter="id:=" />
    

After completing these steps the following SQL query

SELECT Id,Name,CreatedAt FROM Unternehmen WHERE Id='QnVzaW5M6ZTY4ZDA2MmQtYzkzZS00MGZkLTk4YWUtNDg2YzcxMmExNzFl'

will be converted to the postdata:

{
    "Variablen": {
        „Id_id“: „QnVzaW5M6ZTY4ZDA2MmQtYzkzZS00MGZkLTk4YWUtNDg2YzcxMmExNzFl“
    },
    "Abfrage": "Abfrage($Id_id:ID) {\r\nGeschäft(id:$Id_id) {\r\nid\r\nName\r\nErstelltam\r\n}\r\n}\r\n"
}
Seitennummerierung

Der Treiber unterstützt zwei Paginierungsmodi.

  • Cursor

    other:paginationObjects = "{
        'labels': {
            'cursorPath': 'after',
            'cursorType': 'String',
            'pageSizeArgumentPath': 'first',
            'pageSizeArgumentType': 'Int',
        'depth':'1',
            'paginationType': 'Cursor',
            'isConnection': 'True',
            'pageInfo': ['endCursor', 'hasNextPage', 'hasPreviousPage', 'startCursor']
        }
    }"
    

    Nach der Verarbeitung der werden die folgenden Postdaten generiert other:paginationObjects Zusätzliche Tabelleninformationen wie oben angegeben:

    {
        "variables": {
            "UserLogin_owner": "testaccount71",
            "RepositoryName_name": "test",
            "first": <Pagesize>
        },
        "query": "query($UserLogin_owner:String!, $RepositoryName_name:String!, $first:Int) {\r\nrepository(owner:$UserLogin_owner, name:$RepositoryName_name) {\r\nlabels(first:$first) {\r\nedges {\r\nnode {\r\nid\r\ncolor\r\ncreatedAt\r\ndescription\r\nisDefault\r\nname\r\nresourcePath\r\nupdatedAt\r\nurl\r\n}\r\n}\r\npageInfo {\r\nendCursor\r\nhasNextPage\r\n}\r\n}\r\nname\r\n}\r\n}\r\n"
    }
    
  • Offset

    other:paginationObjects="{
        'businesses': {
            'offsetArgumentPath': 'page',
            'offsetArgumentType': 'Int',
            'pageSizeArgumentPath': 'pageSize',
            'pageSizeArgumentType': 'Int',
        'depth':'1',
            'paginationType': 'Offset',
            'isConnectionObject': 'True',
            'pageInfo': ['currentPage', 'totalPages', 'totalCount']
        }
    }"
    

    Nach der Verarbeitung der werden die folgenden Postdaten generiert other:paginationObjects Zusätzliche Tabelleninformationen wie oben angegeben:

    {
        "variables": {
            "pageSize_1": <Pagesize>
        },
        "query": "query($pageSize_1:Int) {\r\nbusinesses(pageSize:$pageSize_1) {\r\nedges {\r\nnode {\r\nid\r\n}\r\n}\r\npageInfo {\r\ntotalPages\r\ncurrentPage\r\n}\r\n}\r\n}\r\n"
    }
    

Notiz

Der Treiber unterstützt die Paginierung mit Eingabeobjekten als Argumente.

other:paginationObjects="{
    'businesses': {
        'offsetArgumentPath': 'query/pagination/page',
        'offsetArgumentType': 'custom_query',
        'pageSizeArgumentPath': 'query/pagination/pageSize',
        'pageSizeArgumentType': 'custom_query',
        'depth':'1',
        'paginationType': 'Offset',
        'isConnectionObject': 'True',
        'pageInfo': ['currentPage', 'totalPages', 'totalCount']
    }
}"

Nach der Verarbeitung der werden die folgenden Postdaten generiert other:paginationObjects Zusätzliche Tabelleninformationen wie oben angegeben:

{
    "variables": {
        "query": {
            "pagination": {
                "pageSize":<Pagesize>
            }
        }
    },
    "query": "query($query:custom_query) {\r\nbusinesses(query:$query) {\r\nedges {\r\nnode {\r\nid\r\n}\r\n}\r\npageInfo {\r\ntotalPages\r\ncurrentPage\r\n}\r\n}\r\n}\r\n"
}
Andere SELECT-Anweisungen serverseitig verarbeiten
BESTELLEN BIS

Sie können die Ergebnisse nach der Server-Report-Suite-ID (RSID) sortieren, wenn der GraphQL Dienst dies unterstützt, indem Sie die folgenden Eigenschaften angeben:

  • Der other:orderByFormat kann in der Tabellendefinition oder in der Spaltendefinition angegeben werden.

    <rsb:info title="Labels" desc="Lists information about the different labels you can apply on an issue." other:orderByFormat="{field: {orderByArgumentValue}, direction: {sortOrder}}">
    <attr name="ErstelltAm" xs:type="datetime" other:relativePath="erstelltAm" other:orderByFormat="{field: {orderByArgumentValue}, direction: {sortOrder}}" other:orderBy="orderBy:CREATED_AT" />
    
  • Das other:orderBy sollte nur in der Spaltendefinition angegeben werden. Das Format dieser Eigenschaft ist <orderByArgumentName>:<orderByArgumentValue>

    <attr name="CreatedAt" xs:type="datetime" other:relativePath="createdAt"  other:orderBy="orderBy:CREATED_AT" />
    

Nach Abschluss dieser Schritte die folgende SQL- Abfrage

SELECT ID FROM Labels ORDER BY CreatedAt ASC

wird in die Postdaten umgewandelt:

{
    "variables": {
        "first": <Pagesize>
    },
    "query": "query($first:Int) {\r\nrepository {\r\nlabels(sort:{field: CREATED_AT, direction: ASC}, first:$first) {\r\nedges {\r\nnode {\r\nid\r\n}\r\n}\r\npageInfo {\r\nendCursor\r\nhasNextPage\r\n}\r\n}\r\n}\r\n}\r\n"
}

Operationen

Der Connector verfügt über leistungsstarke Operationen zur Verarbeitung von GraphQL Datenquellen. Diese Operationen sind plattformneutral: Schemadateien, die diese Operationen aufrufen, können sowohl in .NET als auch in Java verwendet werden. Sie können den Connector auch mit Ihren eigenen Operationen erweitern, die in .NET oder Java geschrieben sind.

Der Connector verfügt über die folgenden Funktionen:

Operationsname Beschreibung
OAuthGetAccessToken Tauschen Sie für OAuth 1.0 ein Anforderungstoken gegen ein Zugriffstoken aus. Für OAuth 2.0 erhalten Sie ein Zugriffstoken oder holen Sie sich mit dem Aktualisierungstoken ein neues Zugriffstoken.
OAuthGetUserAuthorizationURL Generiert die Benutzerautorisierungs URL. OAuth 2.0 greift bei diesem Operation nicht auf das Netzwerk zu.
OAuthGetAccessToken

Der OAuthGetAccessToken Operation ist ein APIScript-Operation, der verwendet wird, um die OAuth-Authentifizierung und Aktualisierungsabläufe zu erleichtern.

Der Connector enthält gespeicherte Prozeduren, die diesen Operation aufrufen, um den OAuth-Austausch abzuschließen. Das folgende Schema listet kurz einige der normalerweise erforderlichen Eingaben auf, bevor sie in den folgenden Abschnitten ausführlicher erläutert werden.

Erstellen einer gespeicherten Prozedur „GetOAuthAccessToken“

Rufen Sie den OAuthGetAccessToken auf mit der gespeicherten Prozedur GetOAuthAccessToken. Die folgenden Eingaben sind für die meisten Datenquellen erforderlich und liefern Standardwerte für die gleichnamigen Verbindungseigenschaften.

<api:script xmlns:api="http://www.rssbus.com/ns/rsbscript/2">

  <api:info title="GetOAuthAccessToken"   description="Obtains the OAuth access token to be used for authentication with various APIs."                                                         >
    <input  name="AuthMode"               desc="The OAuth flow. APP or WEB."                                                                                                                    />
    <input  name="CallbackURL"            desc="The URL to be used as a trusted redirect URL, where the user will return with the token that verifies that they have granted your app access. " />
    <input  name="OAuthAccessToken"       desc="The request token. OAuth 1.0 only."                                                                                                             />
    <input  name="OAuthAccessTokenSecret" desc="The request token secret. OAuth 1.0 only."                                                                                                      />
    <input  name="Verifier"               desc="The verifier code obtained when the user grants permissions to your app."                                                                       />

    <output name="OAuthAccessToken"       desc="The access token."                                                                                                                              />
    <output name="OAuthTokenSecret"       desc="The access token secret."                                                                                                                       />
    <output name="OAuthRefreshToken"      desc="A token that may be used to obtain a new access token."                                                                                         />
 </api:info>

  <!-- Set OAuthVersion to 1.0 or 2.0. -->
  <api:set attr="OAuthVersion"                                                    value="MyOAuthVersion"                 />
  <!-- Set RequestTokenURL to the URL where the request for the request token is made. OAuth 1.0 only.-->
  <api:set attr="OAuthRequestTokenURL"                                            value="http://MyOAuthRequestTokenURL" />
  <!-- Set OAuthAuthorizationURL to the URL where the user logs into the service and grants permissions to the application. -->
  <api:set attr="OAuthAuthorizationURL"                                           value="http://MyOAuthAuthorizationURL" />
  <!-- Set OAuthAccessTokenURL to the URL where the request for the access token is made. -->
  <api:set attr="OAuthAccessTokenURL"                                             value="http://MyOAuthAccessTokenURL"   />
  <!-- Set GrantType to the authorization grant type. OAuth 2.0 only. -->
  <api:set attr="GrantType"                                                       value="CODE"                           />
  <!-- Set SignMethod to the signature method used to calculate the signature of the request. OAuth 1.0 only.-->
  <api:set attr="SignMethod"                                                      value="HMAC-SHA1"                      />
  <api:call op="oauthGetAccessToken">
    <api:push/>
  </api:call>

</api:script>
Schreiben der gespeicherten Prozedur „RefreshOAuthAccessToken“

Sie können auch OAuthGetAccessToken verwenden, um das Zugriffstoken zu aktualisieren, indem Sie die folgenden Eingaben machen:

<api:script xmlns:api="http://www.rssbus.com/ns/rsbscript/2">

  <api:info title="RefreshOAuthAccessToken" description="Refreshes the OAuth access token used for authentication." >
    <input  name="OAuthRefreshToken"        desc="A token that may be used to obtain a new access token."           />

    <output name="OAuthAccessToken"         desc="The authentication token returned."                               />
    <output name="OAuthTokenSecret"         desc="The authentication token secret returned. OAuth 1.0 only."        />
    <output name="OAuthRefreshToken"        desc="A token that may be used to obtain a new access token."           />
    <output name="ExpiresIn"                desc="The remaining lifetime on the access token."                      />

  </api:info>

  <!-- Set OAuthVersion to 1.0 or 2.0. -->
  <api:set attr="OAuthVersion"                                                    value="MyOAuthVersion"                 />
    <!-- Set GrantType to REFRESH. OAuth 2.0 only. -->
    <api:set attr="GrantType"            value="REFRESH" />
    <!-- Set SignMethod to the signature method used to calculate the signature of the request. OAuth 1.0 only.-->
    <api:set attr="SignMethod"           value="HMAC-SHA1" />
    <!-- Set OAuthAccessTokenURL to the URL where the request for the access token is made. -->
    <api:set attr="OAuthAccessTokenURL"  value="http://MyOAuthAccessTokenURL" />
    <!-- Set AuthMode to 'WEB' when calling RefreshOAuthAccessToken -->
    <api:set attr="AuthMode" value="WEB"/>
  <api:call op="oauthGetAccessToken">
    <api:push/>
  </api:call>

</api:script>
Eingabeparameter
  • OAuthVersion: Die OAuth-Version.

    Die zulässigen Werte sind 1.0, 2.0. Der Standardwert ist 1.0.

  • AuthMode: Der OAuth-Flow. Nur OAuth 2.0. Wenn Sie den App-Modus wählen, wird bei diesem Operation Ihr Browser gestartet und Sie werden aufgefordert, sich mit Ihren Kontoanmeldeinformationen zu authentifizieren. Setzen Sie diesen Parameter auf WEB, um eine Web-App zu authentifizieren oder wenn der Connector keinen Webbrowser öffnen darf. Der Standardwert ist APP.

  • OAuthRequestTokenURL: Die URL, unter der der Connector eine Anforderung für das Anforderungstoken stellt. Nur OAuth 1.0. Erforderlich für OAuth 1.0.

  • OAuthAuthorizationURL: Die URL, unter der sich der Benutzer beim Dienst anmeldet und der Anwendung Berechtigungen erteilt. In OAuth 1.0 wird das Anforderungstoken autorisiert, wenn Berechtigungen erteilt werden.

  • OAuthAccessTokenURL: Die URL, unter der die Anforderung des Zugriffstokens erfolgt. In OAuth 1.0 wird das autorisierte Anforderungstoken gegen das Zugriffstoken ausgetauscht.

  • CallbackURL: Die URL, die als vertrauenswürdige Umleitungs URL verwendet werden soll, zu der der Benutzer mit dem Token zurückkehrt, das bestätigt, dass er Ihrer App Zugriff gewährt hat. Dieser Wert muss mit der Rückruf-URL übereinstimmen, die Sie beim Registrieren einer App angeben. Beachten Sie, dass Ihre Datenquelle möglicherweise zusätzlich den Port benötigt.

  • OAuthClientId: Die Client-ID, die Sie erhalten, wenn Sie eine App registrieren. Wird auch Consumer Key genannt.

  • OAuthClientSecret: Das Client-Geheimnis, das Sie erhalten, wenn Sie eine App registrieren. Wird auch Consumer-Geheimnis genannt.

  • OAuthAccessToken: Das Anforderungstoken. Nur OAuth 1.0.

  • OAuthAccessTokenSecret: Das Anforderungstoken-Geheimnis. Nur OAuth 1.0.

  • OAuthRefreshToken: Ein Token, mit dem ein neues Zugriffstoken abgerufen werden kann.

  • GrantType: Autorisierungsgewährungstyp. Nur OAuth 2.0. Die zulässigen Werte sind CODE, PASSWORD, CLIENT, REFRESH. Der Standardwert ist CODE.

  • Verifier: Der Prüfcode, der abgerufen wird, wenn der Benutzer dem Connector Berechtigungen erteilt. Beim OAuth 2.0-Code-Erteilungstyp befindet sich der Prüfcode im Code-Abfrage der Rückruf URL. In OAuth 1.0 befindet sich der Prüfer im oauth_verifier-Abfrage der Rückruf URL.

  • SignMethod: Die Signaturmethode, die zur Berechnung der Signatur für OAuth 1.0 verwendet wird. Die zulässigen Werte sind HMAC-SHA1, PLAINTEXT. Der Standardwert ist HMAC-SHA1.

  • Cert: Pfad für die persönliche PFX-Zertifikatdatei. Nur OAuth 1.0.

  • CertPassword: Persönliches Zertifikatspasswort. Nur OAuth 1.0.

  • OtherOptions: Weitere Optionen zur Steuerung des Verhaltens von OAuth.

  • OAuthParam:\*: Andere Parameter.

  • PostData: Die HTTP-POST-Daten.

  • Timeout: Das Timeout in Sekunden, bis der Operation abgeschlossen ist. Null (0) bedeutet kein Timeout. Der Standardwert ist 60.

  • LogFile: Gibt eine Datei an, in der die Anfrage und die Antwort protokolliert werden.

  • Proxy_Auto: Ob der Proxy aus den Windows-Systemeinstellungen erkannt werden soll oder nicht. Dies hat Vorrang vor anderen Proxy-Einstellungen und ist in Java nicht verfügbar. Die zulässigen Werte sind TRUE und FALSE. Der Standardwert ist FALSE.

  • Proxy_Server: IP-Adresse oder Host des für die Anfrage verwendeten Proxyservers.

  • Proxy_Port: Die Port des Proxyservers.

  • Proxy_User: Die Benutzer-ID, die zur Authentifizierung beim Proxy-Server verwendet wird.

  • Proxy_Password: Das zur Authentifizierung beim Proxyserver verwendete Passwort.

  • Proxy_AuthScheme: Das Authentifizierungsschema des Proxyservers. Die zulässigen Werte sind BASIC, DIGEST, PROPRIETARY, NONE, NTLM. Der Standardwert ist BASIC.

  • Proxy_AuthToken: Das Proxy-Authentifizierungstoken.

  • Proxy_SSLType: Der SSL-Typ des Proxyservers. Die zulässigen Werte sind AUTO, ALWAYS, NEVER und TUNNEL. Der Standardwert ist AUTO.

  • Firewall_Type: Der Typ der Firewall. Die zulässigen Werte sind NONE, TUNNEL, SOCKS4, SOCKS5. Der Standardwert ist NONE.

  • Firewall_Server: Die IP-Adresse oder der Host der Firewall.

  • Firewall_Port: Die Port der Firewall.

  • Firewall_User: Die Benutzer-ID, die zur Authentifizierung bei der Firewall verwendet wird.

  • Firewall_Password: Das zur Authentifizierung bei der Firewall verwendete Passwort.

Ausgabeparameter
  • OAuthAccessToken: Der Zugriffstoken.
  • OAuthTokenSecret: Das Geheimnis des Zugriffstokens.
  • OAuthRefreshToken: Ein Token, der zum Erhalt eines neuen Zugriffstokens verwendet werden kann.
  • ExpiresIn: Die verbleibende Lebensdauer des Zugriffstokens.
  • OAuthParam:\*: Andere vom Server gesendete Parameter.
OAuthGetUserAuthorizationURL

Die OAuthGetUserAuthorizationURL ist ein APIScript Operation, der verwendet wird, um den OAuth-Authentifizierungsfluss für Web-Apps, Offline-Apps und in Situationen zu erleichtern, in denen der Connector keinen Webbrowser öffnen darf. Um die erforderlichen Eingaben an diesen Operation zu übergeben, definieren Sie die gespeicherte Prozedur GetOAuthAuthorizationURL. Der Connector kann diese intern aufrufen.

Definieren Sie gespeicherte Prozeduren in .rsb-Dateien mit demselben Dateinamen wie der Titel des Schemas. Das Schema listet kurz einige der normalerweise erforderlichen Eingaben auf, bevor sie in den folgenden Abschnitten ausführlicher erläutert werden.

Schreiben der gespeicherten Prozedur „GetOAuthAuthorizationURL“

Rufen Sie OAuthGetUserAuthorizationURL in der gespeicherten Prozedur GetOAuthAuthorizationURL.

<api:script xmlns:api="http://www.rssbus.com/ns/rsbscript/2">

  <api:info title="Get OAuth Authorization URL" description="Obtains the OAuth authorization URL used for authentication with various APIs."                                                          >
    <input  name="CallbackURL"                  desc="The URL to be used as a trusted redirect URL, where the user will return with the token that verifies that they have granted your app access. " />

    <output name="URL"                          desc="The URL where the user logs in and is prompted to grant permissions to the app. "                                                               />
    <output name="OAuthAccessToken"             desc="The request token. OAuth 1.0 only."                                                                                                             />
    <output name="OAuthTokenSecret"             desc="The request token secret. OAuth 1.0 only."                                                                                                      />
  </api:info>

  <!-- Set OAuthVersion to 1.0 or 2.0. -->
  <api:set attr="OAuthVersion"          value="MyOAuthVersion"                 />
  <!-- Set ResponseType to the desired authorization grant type. OAuth 2.0 only.-->
  <api:set attr="ResponseType"           value="code"                           />
  <!-- Set SignMethod to the signature method used to calculate the signature. OAuth 1.0 only.-->
  <api:set attr="SignMethod"            value="HMAC-SHA1"                      />
  <!-- Set OAuthAuthorizationURL to the URL where the user logs into the service and grants permissions to the application. -->
  <api:set attr="OAuthAuthorizationURL"  value="http://MyOAuthAuthorizationURL" />
  <!-- Set OAuthAccessTokenURL to the URL where the request for the access token is made. -->
  <api:set attr="OAuthAccessTokenURL"   value="http://MyOAuthAccessTokenURL"/>
  <!-- Set RequestTokenURL to the URL where the request for the request token is made. OAuth 1.0 only.-->
  <api:set attr="OAuthRequestTokenURL"   value="http://MyOAuthRequestTokenURL"       />
  <api:call op="oauthGetUserAuthorizationUrl">
    <api:push/>
  </api:call>

</api:script>

<p>
Eingabeparameter
  • OAuthVersion: Die OAuth-Version.

    Die zulässigen Werte sind 1.0, 2.0. Der Standardwert ist 1.0.

  • OAuthAuthorizationURL: Die URL, unter der sich der Benutzer beim Dienst anmeldet und der Anwendung Berechtigungen erteilt. In OAuth 1.0 wird das Anforderungstoken autorisiert, wenn Berechtigungen erteilt werden.

  • OAuthRequestTokenURL: Die URL, unter der der Connector eine Anforderung für das Anforderungstoken stellt. Nur OAuth 1.0. Erforderlich für OAuth 1.0.

  • CallbackURL: Die URL, die als vertrauenswürdige Umleitungs URL verwendet werden soll, zu der der Benutzer mit dem Token zurückkehrt, das bestätigt, dass er Ihrer App Zugriff gewährt hat. Dieser Wert muss mit der Rückruf-URL übereinstimmen, die Sie beim Registrieren einer App angeben. Beachten Sie, dass Ihre Datenquelle möglicherweise zusätzlich den Port benötigt. Der Standardwert ist http://127.0.0.1/.

  • OAuthClientId: Die Client-ID. Wird auch Consumer-Schlüssel genannt.

  • OAuthClientSecret: Das Client-Geheimnis. Wird auch Consumer-Geheimnis genannt.

  • ResponseType: Der gewünschte Autorisierungstyp. Nur OAuth 2.0. Die zulässigen Werte sind CODE und IMPLICIT. Der Standardwert ist CODE.

  • SignMethod: Die Signaturmethode, die zur Berechnung der Signatur für OAuth 1.0 verwendet wird. Die zulässigen Werte sind HMAC-SHA1, RSA-SHA1, PLAINTEXT. Der Standardwert ist HMAC-SHA1.

  • Cert: Pfad für die PFX-Datei des persönlichen Zertifikats. Nur OAuth 1.0.

  • CertPassword: Persönliches Zertifikatspasswort. Nur OAuth 1.0.

  • OtherOptions: Weitere Optionen zur Steuerung des Verhaltens von OAuth.

  • OAuthParam:\*: Andere Parameter. Nur OAuth 1.0.

  • Timeout: Das Timeout in Sekunden, bis der Operation abgeschlossen ist. Null (0) bedeutet kein Timeout. Der Standardwert ist 60.

  • Proxy_Auto: Ob der Proxy aus den Windows-Systemeinstellungen erkannt werden soll oder nicht. Dies hat Vorrang vor anderen Proxy-Einstellungen und ist in Java nicht verfügbar. Die zulässigen Werte sind TRUE und FALSE. Der Standardwert ist FALSE.

  • Proxy_Server: IP-Adresse oder Host des für die Anfrage verwendeten Proxyservers.

  • Proxy_Port: Die Port des Proxyservers.

  • Proxy_User: Die Benutzer-ID, die zur Authentifizierung beim Proxy-Server verwendet wird.

  • Proxy_Password: Das zur Authentifizierung beim Proxyserver verwendete Passwort.

  • Proxy_AuthScheme: Das Authentifizierungsschema des Proxyservers. Die zulässigen Werte sind BASIC, DIGEST, PROPRIETARY, NONE, NTLM. Der Standardwert ist BASIC.

  • Proxy_AuthToken: Das Proxy-Authentifizierungstoken.

  • Proxy_SSLType: Der SSL-Typ des Proxyservers. Die zulässigen Werte sind AUTO, ALWAYS, NEVER und TUNNEL. Der Standardwert ist AUTO.

  • Firewall_Type: Der Typ der Firewall. Die zulässigen Werte sind NONE, TUNNEL, SOCKS4, SOCKS5. Der Standardwert ist NONE.

  • Firewall_Server: Die IP-Adresse oder der Host der Firewall.

  • Firewall_Port: Die Port der Firewall.

  • Firewall_User: Die Benutzer-ID, die zur Authentifizierung bei der Firewall verwendet wird.

  • Firewall_Password: Das zur Authentifizierung bei der Firewall verwendete Passwort.

Ausgabeparameter
  • URL: Die URL, unter der sich der Benutzer anmeldet und aufgefordert wird, der App Berechtigungen zu erteilen. In OAuth 1.0 wird das Anforderungstoken autorisiert, wenn Berechtigungen erteilt werden.
  • OAuthAccessToken: Das Anforderungstoken. Nur OAuth 1.0.
  • OAuthTokenSecret: Das Geheimnis des Anforderungstokens. Nur OAuth 1.0.
  • OAuthParam:\*: Andere vom Server gesendete Parameter. Nur OAuth 1.0.

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 GraphQL zurück:

Datenquellentabellen

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

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

Abfrageinformationstabellen

Die folgende Tabelle gibt Abfrage für Datenänderungsabfragen zurück:

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

Sys_catalogs

Listet die verfügbaren Datenbanken auf.

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

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

Sys_schemas

Listet die verfügbaren Schemas auf.

Die folgende Abfrage ruft alle verfügbaren Schemata ab:

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

Sys_tables

Listet die verfügbaren Tabellen auf.

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

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

Sys_tablecolumns

Beschreibt die Spalten der verfügbaren Tabellen und Ansichten.

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

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

Sys_procedures

Listet die verfügbaren gespeicherten Prozeduren auf.

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

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

Sys_procedureparameters

Beschreibt Parameter gespeicherter Prozeduren.

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

SELECT * FROM sys_procedureparameters WHERE ProcedureName='SelectEntries' 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 „Benutzer“ ab:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Users'
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:graphql: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 Datenmodell 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.

Gespeicherte Prozeduren

Gespeicherte Prozeduren sind funktionsähnliche Schnittstellen, die die Funktionalität des Connectors über einfache SELECT-Operationen mit GraphQL hinaus erweitern.

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

Jitterbit-Konnektor für gespeicherte GraphQL Prozeduren

Name Beschreibung
CreateSchema Erstellt eine Schema für die angegebene Tabelle oder Ansicht.
GetOAuthAccessToken Ruft das OAuth-Zugriffstoken ab, das zur Authentifizierung bei Datenquellen unter Verwendung von OAuth verwendet werden soll.
GetOAuthAuthorizationURL Ruft die OAuth-Autorisierungs URL ab, die zur Authentifizierung bei Datenquellen unter Verwendung von OAuth verwendet wird.
RefreshOAuthAccessToken Tauscht ein Aktualisierungstoken gegen ein neues Zugriffstoken aus.

Schema erstellen

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

Schema erstellen

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

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

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

Eingang
Name Typ Beschreibung
TableName String Der Name der Tabelle oder Ansicht.
FileName String Der vollständige Dateipfad und Name des zu generierenden Schema. Beispiel: „C:\Benutzer\Benutzer\Desktop\ GraphQL\Businesses.rsd“
Ergebnissatzspalten
Name Typ Beschreibung
Result String Gibt „Erfolg“ oder „Fehler“ zurück.

GetOAuthAccessToken

Erhält den OAuth-Zugriffstoken, der zur Authentifizierung mit Datenquellen unter Verwendung von OAuth verwendet werden soll.

Eingang
Name Typ Beschreibung
Other_Options String Andere Optionen zur Steuerung des Verhaltens von OAuth.
Cert String Pfad für eine persönliche Zertifikatsdatei (.pfx). Nur für OAuth 1.0 verfügbar.
Cert_Password String Persönliches Zertifikatspasswort. Nur für OAuth 1.0 verfügbar.
AuthToken String Das von GetOAuthAuthorizationUrl zurückgegebene Anforderungstoken. Nur für OAuth 1.0 verfügbar.
AuthKey String Der von GetOAuthAuthorizationUrl zurückgegebene geheime Anforderungsschlüssel. Nur für OAuth 1.0 verfügbar.
AuthSecret String Der alte Name für AuthKey, aus Kompatibilitätsgründen aufgenommen.
Sign_Method String Die Signaturmethode, die zum Berechnen der Signatur für OAuth 1.0 verwendet wird. Die zulässigen Werte sind HMAC-SHA1, PLAINTEXT. Der Standardwert ist HMAC-SHA1.
GrantType String Autorisierungsgewährungstyp. Nur für OAuth 2.0 verfügbar. Die zulässigen Werte sind CODE, PASSWORD, CLIENT, REFRESH.
Post_Data String Die zu übermittelnden Beitragsdaten, sofern vorhanden.
AuthMode String Der zu verwendende Authentifizierungsmodustyp. Die zulässigen Werte sind APP, WEB. Der Standardwert ist WEB.
Verifier String Der von der Datenquelle zurückgegebene Prüfcode, nachdem die Verbindungsberechtigung für die App erteilt wurde. Nur WEB-Authentifizierungsmodus.
Scope String Der Umfang des Zugriffs auf die APIs. Standardmäßig wird der Zugriff auf alle von diesem Datenanbieter verwendeten APIs angegeben.
CallbackURL String Dieses Feld bestimmt, wohin die Antwort gesendet wird.
ApprovalPrompt String Dieses Feld gibt an, ob der Benutzer erneut zur Zustimmung aufgefordert werden soll. Die Standardeinstellung ist AUTO, d. h. ein bestimmter Benutzer sollte die Zustimmungsseite für einen bestimmten Satz von Bereichen nur beim ersten Durchlauf der Sequenz sehen. Wenn die Einstellung auf FORCE festgelegt ist, wird dem Benutzer eine Zustimmungsseite angezeigt, auch wenn er Ihrer Anwendung zuvor für einen bestimmten Satz von Bereichen zugestimmt hat.
AccessType String Dieses Feld gibt an, ob Ihre Anwendung auf eine Google API zugreifen muss, wenn der Benutzer nicht im Browser ist. Dieser Parameter ist standardmäßig auf ONLINE eingestellt. Wenn Ihre Anwendung Zugriffstoken aktualisieren muss, wenn der Benutzer nicht im Browser ist, verwenden Sie OFFLINE. Dies führt dazu, dass Ihre Anwendung ein Aktualisierungstoken erhält, wenn Ihre Anwendung zum ersten Mal einen Autorisierungscode für einen Benutzer austauscht.
State String Dieses Feld zeigt alle Zustände an, die für Ihre Anwendung nach Erhalt der Antwort nützlich sein können. Ihre Anwendung erhält denselben Wert, den sie gesendet hat, da dieser Parameter einen Hin- und Rückweg zum Google-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.
PKCEVerifier String Der von GetOAuthAuthorizationURL zurückgegebene PKCEVerifier. Nur erforderlich, wenn AuthScheme=OAuthPKCE.
Ergebnissatzspalten
Name Typ Beschreibung
OAuthAccessToken String Das von Google zurückgegebene Authentifizierungstoken. Dieses kann bei nachfolgenden Aufrufen anderer Vorgänge für diesen bestimmten Dienst verwendet werden.
OAuthAccessTokenSecret String Das Geheimnis des OAuth-Zugriffstokens.
OAuthRefreshToken String Ein Token, der zum Abrufen eines neuen Zugriffstokens verwendet werden kann.
ExpiresIn String Die verbleibende Lebensdauer des Zugriffstokens.
\* String Andere Ausgaben, die von der Datenquelle zurückgegeben werden können.

GetOAuthAuthorizationURL

Ruft die OAuth-Autorisierungs URL ab, die für die Authentifizierung bei Datenquellen unter Verwendung von OAuth verwendet wird.

Eingang
Name Typ Beschreibung
Cert String Pfad für eine persönliche Zertifikatsdatei (.pfx). Nur für OAuth 1.0 verfügbar.
Cert_Password String Persönliches Zertifikatspasswort. Nur für OAuth 1.0 verfügbar.
Sign_Method String Die Signaturmethode, die zum Berechnen der Signatur für OAuth 1.0 verwendet wird. Die zulässigen Werte sind HMAC-SHA1, PLAINTEXT. Der Standardwert ist HMAC-SHA1.
Scope String Der Umfang des Zugriffs auf die APIs. Standardmäßig wird der Zugriff auf alle von diesem Datenanbieter verwendeten APIs angegeben.
CallbackURL String Die URL, zu der der Benutzer nach der Autorisierung Ihrer Anwendung weitergeleitet wird.
ApprovalPrompt String Dieses Feld gibt an, ob der Benutzer erneut zur Zustimmung aufgefordert werden soll. Der Standardwert ist AUTO, sodass ein bestimmter Benutzer die Zustimmungsseite für einen bestimmten Satz von Bereichen nur beim ersten Durchlaufen der Sequenz sehen sollte. Wenn der Wert FORCE lautet, wird dem Benutzer eine Zustimmungsseite angezeigt, auch wenn er Ihrer Anwendung zuvor für einen bestimmten Satz von Bereichen zugestimmt hat.
AccessType String Dieses Feld gibt an, ob Ihre Anwendung auf eine Google API zugreifen muss, wenn der Benutzer nicht im Browser ist. Dieser Parameter ist standardmäßig auf ONLINE eingestellt. Wenn Ihre Anwendung Zugriffstoken aktualisieren muss, wenn der Benutzer nicht im Browser ist, verwenden Sie OFFLINE. Dies führt dazu, dass Ihre Anwendung ein Aktualisierungstoken erhält, wenn Ihre Anwendung zum ersten Mal einen Autorisierungscode für einen Benutzer austauscht.
State String Dieses Feld zeigt alle Zustände an, die für Ihre Anwendung nach Erhalt der Antwort nützlich sein können. Ihre Anwendung erhält denselben Wert, den sie gesendet hat, da dieser Parameter einen Hin- und Rückweg zum Google-Autorisierungsserver und zurück durchführt. Mögliche Verwendungen sind die Umleitung des Benutzers zur richtigen Ressource auf Ihrer Site, die Verwendung von Nonces und die Minderung von Cross-Site-Request-Forgery.
Other_Options String Weitere Optionen zur Steuerung des Verhaltens von OAuth.
Ergebnissatzspalten
Name Typ Beschreibung
AuthToken String Das Autorisierungstoken, das an die gespeicherte Prozedur „GetOAuthAccessToken“ übergeben wird.
AuthKey String Das geheime Autorisierungstoken, das an die gespeicherte Prozedur „GetOAuthAccessToken“ übergeben wird.
URL String Die URL zum Abschließen der Benutzerauthentifizierung.
PKCEVerifier String Ein zufälliger Wert, der als Eingabe für GetOAuthAccessToken verwendet wird. Wird nur bereitgestellt, wenn AuthScheme=OAuthPKCE.

Aktualisieren Sie das OAuthAccessToken

Tauscht ein Aktualisierungstoken gegen ein neues Zugriffstoken aus.

Eingang
Name Typ Beschreibung
OAuthRefreshToken String Das vom ursprünglichen Autorisierungscode-Austausch zurückgegebene Aktualisierungstoken.
Ergebnissatzspalten
Name Typ Beschreibung
OAuthAccessToken String Das von der Datenquelle zurückgegebene Authentifizierungstoken. Dieses kann in nachfolgenden Aufrufen anderer Vorgänge für diesen bestimmten Dienst verwendet werden.
OAuthAccessTokenSecret String Das neue, vom Dienst zurückgegebene OAuthAccessTokenSecret.
OAuthRefreshToken String Das von der Datenquelle zurückgegebene Authentifizierungstoken. Dieses kann in nachfolgenden Aufrufen anderer Vorgänge für diesen bestimmten Dienst verwendet werden.
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.

Authentifizierung

Eigenschaft Beschreibung
AuthScheme Der Authentifizierungstyp, der bei der Verbindung mit Remotediensten verwendet werden soll.
URL Die URL des GraphQL Dienstes.
User Das zur Authentifizierung verwendete GraphQL Benutzerkonto.
Password Das zur Authentifizierung des Benutzers verwendete Kennwort.

AWS-Authentifizierung

Eigenschaft Beschreibung
AWSCognitoRegion Die Hosting-Region für AWS Cognito.
AWSUserPoolId Die Benutzerpool-ID.
AWSUserPoolClientAppId Die Client-App-ID des Benutzerpools.
AWSUserPoolClientAppSecret Optional. Das Client-App-Geheimnis des Benutzerpools.

OAuth

Eigenschaft Beschreibung
InitiateOAuth Legen Sie diese Eigenschaft fest, um den Prozess zum Abrufen oder Aktualisieren des OAuth-Zugriffstokens beim Herstellen einer Verbindung zu starten.
OAuthVersion Die verwendete OAuth-Version.
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.
OAuthAccessTokenSecret Das geheime OAuth-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.
OAuthIncludeCallbackURL Ob die Rückruf URL in eine Zugriffstokenanforderung eingeschlossen werden soll.
OAuthAuthorizationURL Die Autorisierungs-URL für den OAuth-Dienst.
OAuthAccessTokenURL Die URL, von der das OAuth-Zugriffstoken abgerufen werden soll.
OAuthRefreshTokenURL Die URL, von der das OAuth-Token aktualisiert werden soll.
OAuthRequestTokenURL Die vom Dienst bereitgestellte URL zum Abrufen von Anforderungstoken. Dies ist in OAuth 1.0 erforderlich.
OAuthVerifier Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode.
PKCEVerifier Der PKCE-Code-Verifizierer, der durch Ausführen der gespeicherten Prozedur GetOAuthAuthorizationUrl für PKCE-Authentifizierungsschemata generiert wird.
AuthToken Das Authentifizierungstoken, das zum Anfordern und Abrufen des OAuth-Zugriffstokens verwendet wird.
AuthKey Das Authentifizierungsgeheimnis, das zum Anfordern und Abrufen des OAuth-Zugriffstokens verwendet wird.
OAuthParams Eine durch Kommas getrennte Liste anderer Parameter, die in der Anforderung des OAuth-Zugriffstokens im Format Parametername=Wert übermittelt werden sollen.
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.

JWT OAuth

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.

SSL

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.

Schema

Eigenschaft Beschreibung
Location Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren.
BrowsableSchemas Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA, TabelleB, TabelleC.
Views Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA, AnsichtB, AnsichtC.
ExpandArgumentsDepth Mit dieser Eigenschaft wird festgelegt, wie weit der Provider innerhalb der Argumente vom Typ INPUT_OBJECT nach Spalten suchen soll.
ExpandTablesDepth Mit dieser Eigenschaft wird die Tiefe der untergeordneten Tabellen bestimmt.
ExpandTemporaryTablesDepth Mit dieser Eigenschaft wird die Tiefe der untergeordneten temporären Tabellen bestimmt. Funktioniert nur, wenn ExposeDynamicProcedures auf „true“ gesetzt ist.
ExpandColumnsDepth Mit dieser Eigenschaft wird bestimmt, wie weit der Anbieter innerhalb der GraphQL Objekte nach Spalten suchen soll.
IncludeDeprecatedMetadata Mit dieser Eigenschaft wird festgelegt, ob der Anbieter veraltete Tabellen und Spalten verfügbar machen soll oder nicht.
ExposeDynamicProcedures Mit dieser Eigenschaft wird bestimmt, ob der Anbieter Mutationen als dynamische Prozeduren verfügbar machen soll oder nicht.
ExposeObjectTables Mit dieser Eigenschaft wird bestimmt, in welchem Umfang der Anbieter Felder des GraphQL Objekttyps als Tabellen verfügbar macht.

Verschiedenes

Eigenschaft Beschreibung
CustomHeaders Andere Header nach Wahl des Benutzers (optional).
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.
Other Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet.
Pagesize Die maximale Anzahl der Ergebnisse, die pro Seite von GraphQL zurückgegeben werden sollen.
PseudoColumns Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht.
Timeout Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird.
UserDefinedViews Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält.

Authentifizierung

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

Eigenschaft Beschreibung
AuthScheme Der Authentifizierungstyp, der bei der Verbindung mit Remotediensten verwendet werden soll.
URL Die URL des GraphQL Dienstes.
User Das zur Authentifizierung verwendete GraphQL Benutzerkonto.
Password Das zur Authentifizierung des Benutzers verwendete Kennwort.

AuthScheme

Die Art der Authentifizierung, die bei der Verbindung mit Remote-Diensten verwendet werden soll.

Mögliche Werte

AwsCognitoSrp, None, AwsCognitoBasic, Basic, OAuth, OAuthPKCE

Datentyp

string

Standardwert

None

Hinweise
Allgemein

Die folgenden Optionen sind grundsätzlich für alle Verbindungen verfügbar:

  • Keine: Verwendet keine Authentifizierung.
  • Einfach: Verwendet die einfache Authentifizierung mit Benutzer und Passwort.
  • OAuth: Verwendet entweder OAuth1 oder OAuth2, wobei der spezifische Ablauf durch den OAuthGrantType bestimmt wird. OAuthVersion muss festgelegt werden, um zu bestimmen, welche Version von OAuth verwendet wird.
  • OAuthPKCE: Verwendet OAuth2 mit dem Autorisierungscode-Grant-Typ und der PKCE-Erweiterung. OAuthClientId ist die Anmeldeinformation.
  • AwsCognitoSrp: Auf Cognito-basierte Authentifizierung einstellen. Dies wird gegenüber AwsCognitoBasic empfohlen, da diese Option das Passwort NICHT zur Authentifizierung an den Server sendet, sondern stattdessen das SRP-Protokoll verwendet.
  • AwsCognitoBasic: Auf Cognito-basierte Authentifizierung einstellen.

URL

Die URL des GraphQL Dienstes.

Datentyp

string

Standardwert

""

Hinweise

Die URL des GraphQL Dienstes.

Benutzer

Das zur Authentifizierung verwendete GraphQL -Benutzerkonto.

Datentyp

string

Standardwert

""

Hinweise

Zusammen mit Passwort, wird dieses Feld zur Authentifizierung gegenüber dem GraphQL Server verwendet.

Passwort

Das zur Authentifizierung des Benutzers verwendete Passwort.

Datentyp

string

Standardwert

""

Hinweise

Der Benutzer Und Password werden zusammen zur Authentifizierung beim Server verwendet.

AWS-Authentifizierung

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

Eigenschaft Beschreibung
AWSCognitoRegion Die Hosting-Region für AWS Cognito.
AWSUserPoolId Die Benutzerpool-ID.
AWSUserPoolClientAppId Die Client-App-ID des Benutzerpools.
AWSUserPoolClientAppSecret Optional. Das Client-App-Geheimnis des Benutzerpools.

AWSCognitoRegion

Die Hostingregion für AWS Cognito.

Mögliche Werte

OHIO, NORTHERNVIRGINIA, NORTHERNCALIFORNIA, OREGON, CAPETOWN, HONGKONG, HYDERABAD, JAKARTA, MELBOURNE, MUMBAI, OSAKA, SEOUL, SINGAPORE, SYDNEY, TOKYO, CENTRAL, CALGARY, BEIJING, NINGXIA, FRANKFURT, IRELAND, LONDON, MILAN, PARIS, SPAIN, STOCKHOLM, ZURICH, TELAVIV, BAHRAIN, UAE, SAOPAULO, GOVCLOUDEAST, GOVCLOUDWEST, ISOLATEDUSEAST, ISOLATEDUSEASTB, ISOLATEDUSWEST

Datentyp

string

Standardwert

NORTHERNVIRGINIA

Hinweise

Die Hosting-Region für AWS Cognito. Verfügbare Werte sind OHIO, NORTHERNVIRGINIA, NORTHERNCALIFORNIA, OREGON, CAPETOWN, HONGKONG, HYDERABAD, JAKARTA, MELBOURNE, MUMBAI, OSAKA, SEOUL, SINGAPUR, SYDNEY, TOKIO, CENTRAL, CALGARY, PEKING, NINGXIA, FRANKFURT, IRLAND, LONDON, MAILAND, PARIS, SPANIEN, STOCKHOLM, ZÜRICH, TELAVIV, BAHRAIN, VAE, SAOPAULO, GOVCLOUDEAST, GOVCLOUDWEST, ISOLATEDUSEAST, ISOLATEDUSEASTB und ISOLATEDUSWEST.

AWSUserPoolId

Die Benutzerpool-ID.

Datentyp

string

Standardwert

""

Hinweise

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

AWSUserPoolClientAppId

Die Client-App-ID des Benutzerpools.

Datentyp

string

Standardwert

""

Hinweise

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

AWSUserPoolClientAppSecret

Optional. Das Benutzerpool-Client-App-Geheimnis.

Datentyp

string

Standardwert

""

Hinweise

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

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.
OAuthVersion Die verwendete OAuth-Version.
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.
OAuthAccessTokenSecret Das geheime OAuth-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.
OAuthIncludeCallbackURL Ob die Rückruf URL in eine Zugriffstokenanforderung eingeschlossen werden soll.
OAuthAuthorizationURL Die Autorisierungs-URL für den OAuth-Dienst.
OAuthAccessTokenURL Die URL, von der das OAuth-Zugriffstoken abgerufen werden soll.
OAuthRefreshTokenURL Die URL, von der das OAuth-Token aktualisiert werden soll.
OAuthRequestTokenURL Die vom Dienst bereitgestellte URL zum Abrufen von Anforderungstoken. Dies ist in OAuth 1.0 erforderlich.
OAuthVerifier Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode.
PKCEVerifier Der PKCE-Code-Verifizierer, der durch Ausführen der gespeicherten Prozedur GetOAuthAuthorizationUrl für PKCE-Authentifizierungsschemata generiert wird.
AuthToken Das Authentifizierungstoken, das zum Anfordern und Abrufen des OAuth-Zugriffstokens verwendet wird.
AuthKey Das Authentifizierungsgeheimnis, das zum Anfordern und Abrufen des OAuth-Zugriffstokens verwendet wird.
OAuthParams Eine durch Kommas getrennte Liste anderer Parameter, die in der Anforderung des OAuth-Zugriffstokens im Format Parametername=Wert übermittelt werden sollen.
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:

  1. OFF: Gibt an, dass der OAuth-Flow vollständig vom Benutzer gehandhabt wird. Zur Authentifizierung ist ein OAuthAccessToken erforderlich.
  2. 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.
  3. 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.

OAuthVersion

Die verwendete OAuth-Version.

Mögliche Werte

Disabled, 1.0, 2.0

Datentyp

string

Standardwert

Disabled

Hinweise

Die verwendete OAuth-Version. Folgende Optionen sind verfügbar: Deaktiviert, 1.0, 2.0

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.

OAuthAccessTokenSecret

Das OAuth-Zugriffstoken-Geheimnis für die Verbindung über OAuth.

Datentyp

string

Standardwert

""

Hinweise

Der OAuthAccessTokenSecret Eigenschaft wird für die Verbindung und Authentifizierung mit OAuth verwendet. Die OAuthAccessTokenSecret wird im Rahmen des Authentifizierungsprozesses vom OAuth-Server abgerufen. Es wird mit dem OAuthAccessToken verwendet und kann für mehrere Anfragen verwendet werden, bis die Zeit abläuft.

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%\CData\Acumatica Data Provider\OAuthSettings.txt

Hinweise

Wenn InitiateOAuth ist auf gesetzt GETANDREFRESH oder REFRESH, der Treiber 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 auch den Speicherort angeben. Speicherorte werden durch einen Wert angegeben, der mit '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 die 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_propsSystemtabelle. Wenn mehrere Verbindungen mit denselben Anmeldeinformationen bestehen, werden die Eigenschaften aus der zuvor geschlossenen Verbindung gelesen.

Der Standardspeicherort ist „%APPDATA%\CData\ Acumatica Data Provider\OAuthSettings.txt“ mit %APPDATA% auf das Konfigurationsverzeichnis des Benutzers gesetzt. Die Standardwerte sind

  • Windows: "register://%DSN"
  • Unix: "%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
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

OAuthIncludeCallbackURL

Ob die Rückruf-URL in eine Zugriffstokenanforderung aufgenommen werden soll.

Datentyp

bool

Standardwert

true

Hinweise

Dies ist standardmäßig auf „true“ eingestellt, da standardkonforme OAuth-Dienste den Parameter „redirect_uri“ für Berechtigungstypen wie CLIENT oder PASSWORD ignorieren, die ihn nicht erfordern.

Diese Option sollte nur für OAuth-Dienste aktiviert werden, die Fehler melden, wenn „redirect_uri“ enthalten ist.

OAuthAuthorizationURL

Die Autorisierungs URL für den OAuth-Dienst.

Datentyp

string

Standardwert

""

Hinweise

Die Autorisierungs-URL für den OAuth-Dienst. Unter dieser URL meldet sich der Benutzer beim Server an und erteilt der Anwendung Berechtigungen. In OAuth 1.0 wird das Anforderungstoken autorisiert, wenn Berechtigungen erteilt werden.

OAuth-ZugriffstokenURL

Die URL, von der das OAuth-Zugriffstoken abgerufen werden soll.

Datentyp

string

Standardwert

""

Hinweise

Die URL, von der das OAuth-Zugriffstoken abgerufen werden soll. In OAuth 1.0 wird das autorisierte Anforderungstoken unter dieser URL gegen das Zugriffstoken ausgetauscht.

OAuthRefreshTokenURL

Die URL, von der das OAuth-Token aktualisiert werden soll.

Datentyp

string

Standardwert

""

Hinweise

Die URL, von der aus das OAuth-Token aktualisiert werden soll. In OAuth 2.0 wird unter dieser URL das Aktualisierungstoken gegen ein neues Zugriffstoken ausgetauscht, wenn das alte Zugriffstoken abläuft.

OAuthRequestTokenURL

Die vom Dienst bereitgestellte URL zum Abrufen von Anforderungstoken. Dies ist in OAuth 1.0 erforderlich.

Datentyp

string

Standardwert

""

Hinweise

Die vom Dienst bereitgestellte URL zum Abrufen von Anforderungstoken. Dies ist in OAuth 1.0 erforderlich. In OAuth 1.0 ist dies die URL, unter der die App eine Anforderung für das Anforderungstoken stellt.

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.

PKCEVerifier

Der PKCE-Code-Verifizierer, der durch Ausführen der gespeicherten Prozedur GetOAuthAuthorizationUrl für PKCE-Authentifizierungsschemata generiert wird.

Datentyp

string

Standardwert

""

Hinweise

Der Proof Key für den Code Exchange-Codeprüfer, der durch Ausführen der gespeicherten Prozedur GetOAuthAuthorizationUrl für PKCE-Authentifizierungsschemata generiert wird. Dies 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 PKCEVerifier Wert.

OAuthSettingsLocation festlegen zusammen mit OAuthVerifier Und PKCEVerifier. Wenn Sie eine Verbindung herstellen, tauscht der Connector den OAuthVerifier Und PKCEVerifier 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 OAuthVerifier entfernen Und PKCEVerifier 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.

AuthToken

Das Authentifizierungstoken, das zum Anfordern und Abrufen des OAuth-Zugriffstokens verwendet wird.

Datentyp

string

Standardwert

""

Hinweise

Diese Eigenschaft ist nur erforderlich, wenn eine Headless-Authentifizierung in OAuth 1.0 durchgeführt wird. Sie kann aus der gespeicherten Prozedur GetOAuthAuthorizationUrl abgerufen werden.

Sie kann zusammen mit dem AuthKey bereitgestellt werden in der gespeicherten Prozedur GetOAuthAccessToken, um den OAuthAccessToken abzurufen.

AuthKey

Das Authentifizierungsgeheimnis, das zum Anfordern und Abrufen des OAuth-Zugriffstokens verwendet wird.

Datentyp

string

Standardwert

""

Hinweise

Diese Eigenschaft ist nur erforderlich, wenn eine Headless-Authentifizierung in OAuth 1.0 durchgeführt wird. Sie kann aus der gespeicherten Prozedur GetOAuthAuthorizationUrl abgerufen werden.

Sie kann zusammen mit dem AuthToken bereitgestellt werden in der gespeicherten Prozedur GetOAuthAccessToken, um den OAuthAccessToken abzurufen.

OAuthParams

Eine durch Kommas getrennte Liste weiterer Parameter, die in der Anfrage für das OAuth-Zugriffstoken im Format Parametername=Wert übermittelt werden sollen.

Datentyp

string

Standardwert

""

Hinweise

Eine durch Kommas getrennte Liste weiterer Parameter, die in der Anfrage für das OAuth-Zugriffstoken im Format Parametername=Wert übermittelt werden sollen.

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.
ExpandArgumentsDepth Mit dieser Eigenschaft wird festgelegt, wie weit der Provider innerhalb der Argumente vom Typ INPUT_OBJECT nach Spalten suchen soll.
ExpandTablesDepth Mit dieser Eigenschaft wird die Tiefe der untergeordneten Tabellen bestimmt.
ExpandTemporaryTablesDepth Mit dieser Eigenschaft wird die Tiefe der untergeordneten temporären Tabellen bestimmt. Funktioniert nur, wenn ExposeDynamicProcedures auf „true“ gesetzt ist.
ExpandColumnsDepth Mit dieser Eigenschaft wird bestimmt, wie weit der Anbieter innerhalb der GraphQL Objekte nach Spalten suchen soll.
IncludeDeprecatedMetadata Mit dieser Eigenschaft wird festgelegt, ob der Anbieter veraltete Tabellen und Spalten verfügbar machen soll oder nicht.
ExposeDynamicProcedures Mit dieser Eigenschaft wird bestimmt, ob der Anbieter Mutationen als dynamische Prozeduren verfügbar machen soll oder nicht.
ExposeObjectTables Mit dieser Eigenschaft wird bestimmt, in welchem Umfang der Anbieter Felder des GraphQL Objekttyps als Tabellen verfügbar macht.

Standort

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

Datentyp

string

Standardwert

%APPDATA%\GraphQL 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 Die Eigenschaft wird nur benötigt, wenn Sie Definitionen anpassen (z. B. einen Spaltennamen ändern, eine Spalte ignorieren usw.) oder das Datenmodell mit neuen Tabellen, Ansichten oder gespeicherten Prozeduren erweitern möchten.

Wenn nichts angegeben wird, ist der Standardspeicherort „%APPDATA%\ GraphQL 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.

Argumente erweiternTiefe

Mit dieser Eigenschaft wird bestimmt, wie weit der Anbieter nach Spalten innerhalb der Argumente vom Typ INPUT_OBJECT suchen soll.

Datentyp

int

Standardwert

2

Hinweise

Mit dieser Eigenschaft wird festgelegt, wie weit der Connector nach Spalten innerhalb der Argumente vom Typ suchen soll INPUT_OBJECT. Zum Beispiel:

{
    "variables": {
        "input": {
            "filters": {
                "type": "SUPPLIER"
            }
        }
    },
    "query": "query($input:FilteredCompaniesInput!) {\r\nfilteredCompanies(input:$input) {\r\nid:id\r\nvalue:value\r\n}\r\n}\r\n"
}

für die SQL Abfrage:

SELECT id,value FROM filteredCompanies WHERE type='SUPPLIER'

In diesem Fall ist der verschachtelte „FilteredCompaniesInput“ selbst vom Typ INPUT_OBJECT.&nbps;Bei einer Spaltensuche steuert die Eigenschaft ExpandColumnsDepth, wie viele verschachtelte Ebenen vom Typ INPUT_OBJECT durchsucht werden.

ErweiternTabellenTiefe

Mit dieser Eigenschaft wird die Tiefe der untergeordneten Tabellen bestimmt.

Datentyp

int

Standardwert

2

Hinweise

Mit dieser Eigenschaft wird die Tiefe der untergeordneten Tabellen bestimmt.

ExpandTemporaryTablesDepth

Diese Eigenschaft wird verwendet, um die Tiefe der untergeordneten temporären Tabellen zu bestimmen. Funktioniert nur, wenn ExposeDynamicProcedures auf „true“ gesetzt ist.

Datentyp

int

Standardwert

5

Hinweise

Diese Eigenschaft wird verwendet, um die Tiefe der untergeordneten temporären Tabellen zu bestimmen. Funktioniert nur, wenn ExposeDynamicProcedures ist auf true gesetzt.

Spaltentiefe erweitern

Mit dieser Eigenschaft wird bestimmt, wie weit der Anbieter innerhalb der GraphQL Objekte nach Spalten suchen soll.

Datentyp

int

Standardwert

2

Hinweise

Mit dieser Eigenschaft wird bestimmt, wie weit der Connector innerhalb der GraphQL Objekte nach Spalten suchen soll.

IncludeDeprecatedMetadata

Mit dieser Eigenschaft wird bestimmt, ob der Anbieter veraltete Tabellen und Spalten verfügbar machen soll oder nicht.

Datentyp

bool

Standardwert

false

Hinweise

Mit dieser Eigenschaft wird bestimmt, ob der Connector veraltete Tabellen und Spalten anzeigen soll oder nicht.

Dynamische Prozeduren offenlegen

Mit dieser Eigenschaft wird bestimmt, ob der Anbieter Mutationen als dynamische Prozeduren verfügbar machen soll oder nicht.

Datentyp

bool

Standardwert

true

Hinweise

Mit dieser Eigenschaft wird bestimmt, ob der Connector Mutationen als dynamische Prozeduren verfügbar machen soll oder nicht.

Verschiedenes

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

Eigenschaft Beschreibung
CustomHeaders Andere Header nach Wahl des Benutzers (optional).
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.
Other Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet.
Pagesize Die maximale Anzahl der Ergebnisse, die pro Seite von GraphQL zurückgegeben werden sollen.
PseudoColumns Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht.
Timeout Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird.
UserDefinedViews Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält.

BenutzerdefinierteHeader

Andere Header nach Wahl des Benutzers (optional).

Datentyp

string

Standardwert

""

Hinweise

Diese Eigenschaft kann auf eine Zeichenfolge mit Headern festgelegt werden, die an die aus anderen Eigenschaften (wie „ContentType“, „From“ usw.) erstellten HTTP-Anforderungsheader angehängt werden.

Die Header müssen das Format „Header:Wert“ aufweisen, wie in den HTTP-Spezifikationen beschrieben. Headerzeilen sollten durch die Zeichen für Wagenrücklauf und Zeilenvorschub (CRLF) getrennt sein.

Verwenden Sie diese Eigenschaft mit Vorsicht. Wenn diese Eigenschaft ungültige Header enthält, können HTTP-Anforderungen fehlschlagen.

Diese Eigenschaft ist nützlich, um die Funktionalität des Connectors für die Integration mit spezialisierten oder nicht standardmäßigen APIs zu optimieren.

Schemadateien generieren

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

Mögliche Werte

Never, OnUse, OnStart, OnCreate

Datentyp

string

Standardwert

Never

Hinweise

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

Die folgenden Einstellungen sind verfügbar:

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

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

Generieren von Schemas mit SQL

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

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

Schemas bei Verbindung generieren

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

MaxRows

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

Datentyp

int

Standardwert

-1

Hinweise

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

Andere

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

Datentyp

string

Standardwert

""

Hinweise

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

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

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

Seitengröße

Die maximale Anzahl der Ergebnisse, die pro Seite von GraphQL zurückgegeben werden sollen.

Datentyp

string

Standardwert

""

Hinweise

Der Pagesize Die Eigenschaft beeinflusst die maximale Anzahl von Ergebnissen, die pro Seite von GraphQL zurückgegeben werden. Das Festlegen eines höheren Wertes kann zu einer besseren Leistung führen, allerdings auf Kosten des zusätzlichen Speicherverbrauchs pro verbrauchter Seite. Die Seitengröße ist proportional zu den GraphQL Abfrage.

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. „*=*“.

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.

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 Users WHERE MyColumn = 'value'"
    },
    "MyView2": {
        "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
    }
}

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

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

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