Details zur Google Cloud Storage Verbindung
Einführung
Connector-Version
Diese Dokumentation basiert auf Version 23.0.8804 des Connectors.
Erste Schritte
Versionsunterstützung für Google Cloud Storage
Der Connector nutzt V1 der Google Cloud Storage JSON API, um einen bidirektionalen Zugriff auf Ihre Google Cloud Storage Daten zu ermöglichen.
Herstellen einer Verbindung
Mit Google Cloud Storage verbinden
Geben Sie die folgenden Verbindungseigenschaften an, bevor Sie die Authentifizierungseigenschaften hinzufügen.
ProjectId
: Setzen Sie hier die ID des Projekts, mit dem Sie sich verbinden möchten.
Authentifizieren bei Google Cloud Storage
Der Connector unterstützt die Verwendung von Benutzerkonten, Dienstkonten und GCP-Instanzkonten zur Authentifizierung.
In den folgenden Abschnitten werden die verfügbaren Authentifizierungsschemata für Google Cloud Storage erläutert:
- Benutzerkonten (OAuth)
- Dienstkonto (OAuthJWT)
- GCP-Instanzkonto
Benutzerkonten (OAuth)
AuthScheme
muss auf gesetzt werden OAuth
in allen Benutzerkonto-Flows.
Desktop-Anwendungen
Es wird eine eingebettete OAuth-Anwendung bereitgestellt, die die OAuth-Desktop-Authentifizierung vereinfacht. Alternativ können Sie eine benutzerdefinierte OAuth-Anwendung erstellen. Siehe Erstellen einer benutzerdefinierten OAuth-App für Informationen zum Erstellen benutzerdefinierter Anwendungen und Gründe dafür.
Der einzige Unterschied zwischen den beiden Methoden zur Authentifizierung besteht darin, dass Sie bei Verwendung benutzerdefinierter OAuth-Anwendungen zwei zusätzliche Verbindungseigenschaften festlegen müssen.
Nachdem Sie die folgenden Verbindungseigenschaften festgelegt haben, können Sie eine Verbindung herstellen:
InitiateOAuth
: Setzen Sie dies aufGETANDREFRESH
, das den Connector anweist, automatisch zu versuchen, das OAuth-Zugriffstoken abzurufen und zu aktualisieren.OAuthClientId
: (nur benutzerdefinierte Anwendungen) Legen Sie dies in den Einstellungen Ihrer benutzerdefinierten OAuth-Anwendung auf die Client-ID fest.OAuthClientSecret
: (nur benutzerdefinierte Anwendungen) Legen Sie dies in den benutzerdefinierten OAuth-Anwendungseinstellungen auf das Client-Geheimnis fest.
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 wie folgt ab:
- Extrahiert den Zugriffstoken aus der Rückruf URL.
- Erhält einen neuen Zugriffstoken, wenn der alte abläuft.
- Speichert OAuth-Werte in
OAuthSettingsLocation
die über Verbindungen hinweg bestehen bleiben.
Webanwendungen
Wenn Sie eine Verbindung über eine Webanwendung herstellen, müssen Sie eine benutzerdefinierte OAuth-Anwendung erstellen und bei Google Cloud Storage registrieren. Anschließend können Sie den Connector verwenden, um die OAuth-Tokenwerte abzurufen und zu verwalten. Siehe Erstellen einer benutzerdefinierten OAuth-App für weitere Informationen zu benutzerdefinierten Anwendungen.
OAuth-Zugriffstoken abrufen
Legen Sie die folgenden Verbindungseigenschaften fest, um das zu erhalten OAuthAccessToken
:
OAuthClientId
: Legen Sie dies in Ihren Anwendungseinstellungen auf die Client-ID fest.OAuthClientSecret
: Legen Sie dies in Ihren Anwendungseinstellungen auf das Client-Geheimnis fest.
Rufen Sie dann gespeicherte Prozeduren auf, um den OAuth-Austausch abzuschließen:
- Rufen Sie GetOAuthAuthorizationURL auf gespeicherte Prozedur. Legen Sie die CallbackURL-Eingabe auf die Callback URL fest, die Sie in Ihren Anwendungseinstellungen angegeben haben. Die gespeicherte Prozedur gibt die URL an den OAuth-Endpoint zurück.
- Navigieren Sie zu der URL, die die gespeicherte Prozedur in Schritt 1 zurückgegeben hat. Melden Sie sich bei der benutzerdefinierten OAuth-Anwendung an und autorisieren Sie die Webanwendung. Nach der Authentifizierung leitet Sie der Browser zur Rückruf-URL weiter.
- Rufen Sie den GetOAuthAccessToken gespeicherte Prozedur. Setzen Sie AuthMode auf
WEB
und den Verifier-Eingang für den Parameter „Code“ in der Abfrage der Rückruf URL.
Sobald Sie die Zugriffs- und Aktualisierungstoken erhalten haben, können Sie eine Verbindung zu Daten herstellen und das OAuth-Zugriffstoken entweder automatisch oder manuell aktualisieren.
Automatische Aktualisierung des OAuth-Zugriffstokens
Damit der Treiber den OAuth-Zugriffstoken automatisch aktualisiert, legen Sie bei der ersten Datenverbindung Folgendes fest:
InitiateOAuth
: Setzen Sie dies aufREFRESH
.OAuthClientId
: Stellen Sie dies in Ihren Anwendungseinstellungen auf die Client-ID ein.OAuthClientSecret
: Legen Sie dies in Ihren Anwendungseinstellungen auf das Client-Geheimnis fest.OAuthAccessToken
: Setzen Sie dies auf den von GetOAuthAccessToken zurückgegebenen Zugriffstoken.OAuthRefreshToken
: Setzen Sie dies auf das von GetOAuthAccessToken zurückgegebene Aktualisierungstoken.OAuthSettingsLocation
: Legen Sie hier den Speicherort fest, an dem der Connector die OAuth-Tokenwerte speichert, die über Verbindungen hinweg bestehen bleiben.
Bei nachfolgenden Datenverbindungen werden die Werte für OAuthAccessToken und OAuthRefreshToken von übernommen OAuthSettingsLocation
.
Manuelle Aktualisierung des OAuth-Zugriffstokens
Der einzige Wert, der zum manuellen Aktualisieren des OAuth-Zugriffstokens bei der Verbindung mit Daten benötigt wird, ist das OAuth-Aktualisierungstoken.
Verwenden Sie das RefreshOAuthAccessToken gespeicherte Prozedur zum manuellen Aktualisieren der OAuthAccessToken
nach dem von GetOAuthAccessToken zurückgegebenen ExpiresIn-Parameterwert abgelaufen ist, legen Sie die folgenden Verbindungseigenschaften fest:
OAuthClientId
: Legen Sie dies in Ihren Anwendungseinstellungen auf die Client-ID fest.OAuthClientSecret
: Legen Sie dies in Ihren Anwendungseinstellungen auf das Client-Geheimnis fest.
Rufen Sie dann RefreshOAuthAccessToken auf mit OAuthRefreshToken
gesetzt auf das von GetOAuthAccessToken zurückgegebene OAuth-Aktualisierungstoken. Nachdem die neuen Token abgerufen wurden, öffnen Sie eine neue Verbindung, indem Sie die Eigenschaft OAuthAccessToken auf den von RefreshOAuthAccessToken zurückgegebenen Wert setzen.
Speichern Sie abschließend das OAuth-Aktualisierungstoken, damit Sie es nach Ablauf des OAuth-Zugriffstokens manuell aktualisieren können.
Kopflose Maschinen
Um den Treiber für die Verwendung von OAuth mit einem Benutzerkonto auf einem Headless-Computer zu konfigurieren, müssen Sie sich auf einem anderen Gerät authentifizieren, das über einen Internetbrowser verfügt.
- Wählen Sie eine von zwei Optionen:
- Option 1: Erhalten Sie die
OAuthVerifier
Wert wie unten unter „Erhalten und Umtauschen eines Prüfcodes“ 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.
- Option 1: Erhalten Sie die
- Konfigurieren Sie dann den Connector so, dass der Zugriffstoken auf der Headless-Maschine automatisch aktualisiert wird.
Option 1: Einen Verifier-Code erhalten und umtauschen
Um einen Prüfcode zu erhalten, müssen Sie sich bei der OAuth-Autorisierungs URL authentifizieren.
Befolgen Sie die nachstehenden Schritte, um sich vom Computer aus mit einem Internetbrowser zu authentifizieren und die OAuthVerifier
Verbindungseigenschaft.
-
Wählen Sie eine dieser Optionen:
-
Wenn Sie die eingebettete OAuth-Anwendung verwenden, klicken Sie auf Google Cloud Storage OAuth-Endpoint, um den Endpoint in Ihrem Browser zu öffnen.
-
Wenn Sie eine benutzerdefinierte OAuth-Anwendung verwenden, erstellen Sie die Autorisierungs-URL, indem Sie die folgenden Eigenschaften festlegen:
InitiateOAuth
: Auf setzenOFF
.OAuthClientId
: Auf die Client-ID eingestellt, die Ihnen bei der Registrierung Ihrer Anwendung zugewiesen wurde.OAuthClientSecret
: Auf das Client-Geheimnis setzen, das Ihnen bei der Registrierung Ihrer Anwendung zugewiesen wurde.
Rufen Sie dann GetOAuthAuthorizationURL auf gespeicherte Prozedur mit der entsprechenden CallbackURL. Öffnen Sie die von der gespeicherten Prozedur zurückgegebene URL in einem Browser. 2. Melden Sie sich an und erteilen Sie dem Connector die entsprechenden Berechtigungen. Sie werden dann zur Callback-URL weitergeleitet, die den Prüfcode enthält. 3. Speichern Sie den Wert des Prüfcodes. Später setzen Sie diesen in
OAuthVerifier
Verbindungseigenschaft.
-
Als Nächstes müssen Sie den OAuth-Verifiziercode gegen OAuth-Aktualisierungs- und Zugriffstoken austauschen. Legen Sie die folgenden Eigenschaften fest:
Legen Sie auf der Headless-Maschine die folgenden Verbindungseigenschaften fest, um die OAuth-Authentifizierungswerte zu erhalten:
InitiateOAuth
: Setzen Sie dies aufREFRESH
.OAuthVerifier
: Setzen Sie dies auf den Prüfcode.OAuthClientId
: (nur benutzerdefinierte Anwendungen) Legen Sie dies in den Einstellungen Ihrer benutzerdefinierten OAuth-Anwendung auf die Client-ID fest.OAuthClientSecret
: (nur benutzerdefinierte Anwendungen) Legen Sie dies in den benutzerdefinierten OAuth-Anwendungseinstellungen auf das Client-Geheimnis fest.OAuthSettingsLocation
: Legen Sie dies fest, um die verschlüsselten OAuth-Authentifizierungswerte am angegebenen Speicherort beizubehalten.
Nachdem die OAuth-Einstellungsdatei generiert wurde, müssen Sie die folgenden Eigenschaften neu festlegen, um eine Verbindung herzustellen:
InitiateOAuth
: Setzen Sie dies aufREFRESH
.OAuthClientId
: (nur benutzerdefinierte Anwendungen) Legen Sie hier die Client-ID fest, die Ihnen bei der Registrierung Ihrer Anwendung zugewiesen wurde.OAuthClientSecret
: (nur benutzerdefinierte Anwendungen) Legen Sie hier das Client-Geheimnis fest, das Ihnen bei der Registrierung Ihrer Anwendung zugewiesen wurde.OAuthSettingsLocation
: Legen Sie dies auf den Speicherort fest, der die verschlüsselten OAuth-Authentifizierungswerte enthält. Stellen Sie sicher, dass dieser Speicherort dem Connector Lese- und Schreibberechtigungen erteilt, um die automatische Aktualisierung des Zugriffstokens zu ermöglichen.
Option 2: OAuth-Einstellungen übertragen
Bevor Sie eine Verbindung auf einem Headless-Computer herstellen, müssen Sie eine Verbindung mit dem Treiber auf einem Gerät herstellen und installieren, das einen Internetbrowser unterstützt. Legen Sie die Verbindungseigenschaften wie oben unter „Desktop-Anwendungen“ beschrieben fest.
Nach Abschluss der Anweisungen unter „Desktopanwendungen“ werden die resultierenden Authentifizierungswerte verschlüsselt und an den durch angegebenen Speicherort geschrieben OAuthSettingsLocation
. Der Standarddateiname ist OAuthSettings.txt
.
Nachdem Sie die Verbindung erfolgreich getestet haben, kopieren Sie die OAuth-Einstellungsdatei auf Ihren Headless-Rechner.
Legen Sie auf dem Headless-Rechner die folgenden Verbindungseigenschaften fest, um eine Verbindung zu Daten herzustellen:
InitiateOAuth
: Setzen Sie dies aufREFRESH
.OAuthClientId
: (nur benutzerdefinierte Anwendungen) Legen Sie hier die Client-ID fest, die Ihnen bei der Registrierung Ihrer Anwendung zugewiesen wurde.OAuthClientSecret
: (nur benutzerdefinierte Anwendungen) Legen Sie hier das Client-Geheimnis fest, das Ihnen bei der Registrierung Ihrer Anwendung zugewiesen wurde.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.
Dienstkonten (OAuthJWT)
Um sich mit einem Dienstkonto zu authentifizieren, müssen Sie ein neues Dienstkonto erstellen und über eine Kopie des Kontozertifikats verfügen. Wenn Sie noch kein Dienstkonto haben, können Sie eines erstellen, indem Sie dem Verfahren unter Erstellen einer benutzerdefinierten OAuth-App folgen.
Legen Sie für eine JSON-Datei diese Eigenschaften fest:
AuthScheme
: Setzen Sie dies aufOAuthJWT
.InitiateOAuth
: Setzen Sie dies aufGETANDREFRESH
.OAuthJWTCertType
: Setzen Sie dies aufGOOGLEJSON
.OAuthJWTCert
: Setzen Sie hier den Pfad zum.json
Datei bereitgestellt von Google.OAuthJWTSubject
: (optional) Legen Sie diesen Wert nur fest, wenn das Dienstkonto Teil einer GSuite-Domäne ist und Sie die Delegation aktivieren möchten. Der Wert dieser Eigenschaft sollte die Email-Adresse des Benutzers sein, auf dessen Daten Sie zugreifen möchten.
Legen Sie für eine PFX-Datei stattdessen diese Eigenschaften fest:
AuthScheme
: Setzen Sie dies aufOAuthJWT
.InitiateOAuth
: Setzen Sie dies aufGETANDREFRESH
.OAuthJWTCertType
: Setzen Sie dies aufPFXFILE
.OAuthJWTCert
: Setzen Sie hier den Pfad zum.pfx
Datei bereitgestellt von Google.OAuthJWTCertPassword
: (optional) Setzen Sie dies auf.pfx
Dateikennwort. In den meisten Fällen müssen Sie dies angeben, da Google PFX-Zertifikate verschlüsselt.OAuthJWTCertSubject
: (optional) Legen Sie dies nur fest, wenn Sie ein verwendenOAuthJWTCertType
speichert mehrere Zertifikate. Sollte nicht für von Google generierte PFX-Zertifikate festgelegt werden.OAuthJWTIssuer
: Setzen Sie hier die Email-Adresse des Dienstkontos. Diese Adresse enthält normalerweise die Domäneiam.gserviceaccount.com
.OAuthJWTSubject
: (optional) Legen Sie diesen Wert nur fest, wenn das Dienstkonto Teil einer GSuite-Domäne ist und Sie die Delegation aktivieren möchten. Der Wert dieser Eigenschaft sollte die Email-Adresse des Benutzers sein, auf dessen Daten Sie zugreifen möchten.
GCP-Instanzkonten
Wenn der Connector auf einer virtuellen GCP-Maschine ausgeführt wird, kann er sich mithilfe eines an die virtuelle Maschine gebundenen Dienstkontos authentifizieren. Um diesen Modus zu verwenden, setzen Sie AuthScheme
Zu GCPInstanceAccount
.
Erstellen einer benutzerdefinierten OAuth-App
Erstellen einer benutzerdefinierten OAuth-Anwendung
bettet OAuth-Anwendungsanmeldeinformationen mit Branding ein, die beim Herstellen einer Verbindung mit Google Cloud Storage über eine Desktopanwendung oder eine Headless-Maschine verwendet werden können.
(Informationen zum Abrufen und Festlegen der OAuthAccessToken
und andere Konfigurationsparameter finden Sie im Abschnitt Desktop-Authentifizierung unter „Herstellen einer Verbindung mit Google Cloud Storage“.)
Sie müssen jedoch eine benutzerdefinierte OAuth-Anwendung erstellen, um über das Web eine Verbindung zu Google Cloud Storage herzustellen. Und da benutzerdefinierte OAuth-Anwendungen alle drei häufig verwendeten Authentifizierungsabläufe nahtlos unterstützen, möchten Sie für diese Authentifizierungsabläufe möglicherweise ohnehin benutzerdefinierte OAuth-Anwendungen erstellen (verwenden Sie Ihre eigenen OAuth-Anwendungsanmeldeinformationen).
Benutzerdefinierte OAuth-Anwendungen sind nützlich, wenn Sie:
- Steuerung des Brandings des Authentifizierungsdialogs
- Kontrollieren Sie die Umleitungs-URI, zu der die Anwendung den Benutzer nach der Authentifizierung umleitet.
- Passen Sie die Berechtigungen an, die Sie vom Benutzer anfordern
In den folgenden Abschnitten wird beschrieben, wie Sie die Directory-API aktivieren und benutzerdefinierte OAuth-Anwendungen für Benutzerkonten (OAuth) und Dienstkonten (OAuth/JWT) erstellen.
Aktivieren Sie die Cloud Storage API
Befolgen Sie diese Schritte, um die Cloud Storage API zu aktivieren:
- Navigieren Sie zur Google Cloud Console.
- Wählen Sie
Library
aus dem linken Navigationsmenü. Dies öffnet dasLibrary
Seite. - Geben Sie im Suchfeld „Cloud Storage API“ ein und wählen Sie
Cloud Storage API
aus den Suchergebnissen. - Auf der
Cloud Storage API
Seite, klickENABLE
.
Erstellen einer OAuth-Anwendung
Um benutzerdefinierte OAuth-Anwendungen zu erstellen, die die erforderlichen OAuth-Verbindungseigenschaften abrufen, befolgen Sie diese Verfahren.
Benutzerkonten (OAuth)
Für Benutzer, deren AuthScheme
Ist OAuth
und die sich über eine Webanwendung authentifizieren müssen, müssen Sie immer eine benutzerdefinierte OAuth-Anwendung erstellen. (Für Desktop- und Headless-Flows ist das Erstellen einer benutzerdefinierten OAuth-Anwendung optional.)
Gehen Sie folgendermaßen vor:
- Navigieren Sie zur Google Cloud Console.
- Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes Projekt aus.
- Wählen Sie im linken Navigationsmenü
Credentials
. - Wenn für dieses Projekt noch kein Zustimmungsbildschirm konfiguriert ist, klicken Sie auf
CONFIGURE CONSENT SCREEN
um eines zu erstellen. Wenn Sie kein Google Workspace-Konto verwenden, können Sie nur einen externen Zustimmungsbildschirm erstellen, für den Sie eine Support-Email und eine Email für den Entwickler angeben müssen. Weitere Informationen sind optional. - Auf der
Credentials
Seite, auswählenCreate Credentials > OAuth Client ID
. - Im
Application Type
Menü, auswählenWeb application
. - Geben Sie einen Namen für Ihre benutzerdefinierte OAuth-Anwendung an.
- Unter
Authorized redirect URIs
, klickADD URI
und geben Sie eine Umleitungs-URI ein. - Klicken Sie auf
Enter
, DannCREATE
. Die Cloud Console führt Sie zurück zurCredentials
Seite.
Es öffnet sich ein Fenster, in dem Ihre Client-ID und Ihr Client-Geheimnis angezeigt werden. - Notieren Sie die Client-ID und das Client-Geheimnis zur späteren Verwendung als
OAuthClientId
UndOAuthClientSecret
Verbindungseigenschaften.
Hinweis
Das Client-Geheimnis bleibt über die Google Cloud Console zugänglich.
Dienstkonten (OAuthJWT)
Dienstkonten (AuthScheme
OAuthJWT
) kann in einem OAuth-Flow verwendet werden, um auf Google APIs zuzugreifen im Namen von
Benutzer in einer Domäne. Ein Domänenadministrator kann domänenweiten Zugriff auf das Dienstkonto delegieren.
So erstellen Sie ein neues Dienstkonto:
- Navigieren Sie zur Google Cloud Console.
- Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes Projekt aus.
- Wählen Sie im linken Navigationsmenü
Credentials
. - Auswählen
Create Credentials > Service account
. - Auf der
Create service account
Seite, geben Sie den Dienstkontonamen, die Dienstkonto-ID und optional eine Beschreibung ein. - Klicken Sie auf
DONE
. Die Cloud Console zeigt erneut dieCredentials
Seite. - Im
Service Accounts
Abschnitt, wählen Sie das Servicekonto aus, das Sie gerade erstellt haben. - Klicken Sie auf
KEYS
Tab. - Klicken Sie auf
ADD KEY > Create new key
. - Wählen Sie einen unterstützten Schlüsseltyp aus (siehe
OAuthJWTCert
UndOAuthJWTCertType
). - Klicken Sie auf
CREATE
. Der Schlüssel wird automatisch auf Ihr Gerät heruntergeladen und alle weiteren, für den Schlüssel spezifischen Informationen werden angezeigt. - Notieren Sie die zusätzlichen Informationen zur zukünftigen Verwendung.
Um den Servicekonto-Flow abzuschließen, generieren Sie einen privaten Schlüssel in der Google Cloud Console. Im Servicekonto-Flow tauscht der Treiber ein JSON Web Token (JWT) gegen das OAuthAccessToken
. Der private Schlüssel ist zum Signieren des JWT erforderlich. Der Treiber verfügt über dieselben Berechtigungen wie das Dienstkonto.
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.
Erweiterte Funktionen
In diesem Abschnitt wird eine Auswahl erweiterter Funktionen des Google Cloud Storage Connectors beschrieben.
Benutzerdefinierte Ansichten
Der Connector ermöglicht Ihnen die Definition virtueller Tabellen, sogenannter benutzerdefinierter Ansichten, deren Inhalt durch eine vorkonfigurierte Abfrage bestimmt wird. Diese Ansichten sind nützlich, wenn Sie die an die Treiber gesendeten Abfragen nicht direkt steuern können. Siehe Benutzerdefinierte Ansichten für einen Überblick über das Erstellen und Konfigurieren benutzerdefinierter Ansichten.
SSL-Konfiguration
Verwenden Sie SSL-Konfiguration, um anzupassen, wie der Connector TLS/SSL-Zertifikatsverhandlungen handhabt. Sie können aus verschiedenen Zertifikatsformaten wählen; siehe SSLServerCert
-Eigenschaft unter „Verbindungszeichenfolgenoptionen“ für weitere Informationen.
Proxy
So konfigurieren Sie den Connector mit privaten Agent-Proxy-Einstellungen, wählen Sie die Use Proxy Settings
Kontrollkästchen auf dem Verbindungskonfigurationsbildschirm.
Abfrageverarbeitung
Der Connector verlagert einen möglichst großen Teil der Verarbeitung der SELECT-Anweisung auf Google Cloud Storage und verarbeitet den Rest der Abfrage dann im Speicher (clientseitig).
Benutzerdefinierte Ansichten
Mit dem Google Cloud Storage Connector können Sie eine virtuelle Tabelle definieren, deren Inhalt durch eine vorkonfigurierte Abfrage bestimmt wird. Diese werden als benutzerdefinierte Ansichten bezeichnet und sind in Situationen nützlich, in denen Sie die an den Treiber gesendete Abfrage nicht direkt steuern können, z. B. wenn Sie den Treiber von Jitterbit verwenden. Die benutzerdefinierten Ansichten können verwendet werden, um Prädikate zu definieren, die immer angewendet werden. Wenn Sie in der Abfrage an die Ansicht zusätzliche Prädikate angeben, werden diese mit der bereits als Teil der Ansicht definierten Abfrage kombiniert.
Es gibt zwei Möglichkeiten, benutzerdefinierte Ansichten zu erstellen:
- Erstellen Sie eine Konfigurationsdatei im JSON-Format, die die gewünschten Ansichten definiert.
- DDL-Anweisungen.
Definieren von Ansichten mithilfe einer Konfigurationsdatei
Benutzerdefinierte Ansichten werden in einer JSON-formatierten Konfigurationsdatei namens UserDefinedViews.json
. Der Connector erkennt die in dieser Datei angegebenen Ansichten automatisch.
Sie können auch mehrere Ansichtsdefinitionen haben und diese mit steuern UserDefinedViews
Verbindungseigenschaft. Wenn Sie diese Eigenschaft verwenden, werden vom Connector nur die angegebenen Ansichten angezeigt.
Diese Konfigurationsdatei für benutzerdefinierte Ansichten ist wie folgt formatiert:
- Jedes Stammelement definiert den Namen einer Ansicht.
- Jedes Stammelement enthält ein untergeordnetes Element namens
query
, das die benutzerdefinierte SQL- Abfrage für die Ansicht enthält.
Zum Beispiel:
{
"MyView": {
"query": "SELECT * FROM Buckets WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
Verwenden Sie die UserDefinedViews
Verbindungseigenschaft, um den Speicherort Ihrer JSON-Konfigurationsdatei anzugeben. Beispiel:
"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"
Definieren von Ansichten mit DDL-Anweisungen
Der Connector kann das Schema auch über DDL-Anweisungen wie CREATE LOCAL VIEW, ALTER LOCAL VIEW und DROP LOCAL VIEW erstellen und ändern.
Erstellen einer Ansicht
Um eine neue Ansicht mit DDL-Anweisungen zu erstellen, geben Sie den Ansichtsnamen und die Abfrage wie folgt an:
CREATE LOCAL VIEW`[MeinAnsichtsname] `AS SELECT * FROM Customers LIMIT 20;
Wenn keine JSON-Datei vorhanden ist, erstellt der obige Code eine. Die Ansicht wird dann in der JSON-Konfigurationsdatei erstellt und ist nun erkennbar. Der Speicherort der JSON-Datei wird durch angegeben UserDefinedViews
Verbindungseigenschaft.
Ändern einer Ansicht
Um eine vorhandene Ansicht zu ändern, geben Sie den Namen der vorhandenen Ansicht zusammen mit der neuen Abfrage an, die Sie stattdessen verwenden möchten:
ALTER LOCAL VIEW`[MeinAnsichtsname] `AS SELECT * FROM Customers WHERE TimeModified > '3/1/2020';
Die Ansicht wird dann in der JSON-Konfigurationsdatei aktualisiert.
Löschen einer Ansicht
Um eine vorhandene Ansicht zu löschen, geben Sie den Namen eines vorhandenen Schema neben der neuen Abfrage an, die Sie stattdessen verwenden möchten.
DROP LOCAL VIEW [MyViewName]
Dadurch wird die Ansicht aus der JSON-Konfigurationsdatei entfernt. Sie kann nicht mehr abgefragt werden.
Schema für benutzerdefinierte Ansichten
Benutzerdefinierte Ansichten werden im angezeigt UserViews
Schema standardmäßig. Dies geschieht, um zu vermeiden, dass der Name der Ansicht mit einer tatsächlichen Entität im Datenmodell kollidiert. Sie können den Namen des für UserViews verwendeten Schema ändern, indem Sie festlegen UserViewsSchemaName
Eigentum.
Arbeiten mit benutzerdefinierten Ansichten
Beispielsweise eine SQL-Anweisung mit einer benutzerdefinierten Ansicht namens UserViews.RCustomers
listet nur Kunden in Raleigh auf:
SELECT * FROM Customers WHERE City = 'Raleigh';
Ein Beispiel für eine Abfrage an den Treiber:
SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';
Daraus ergibt sich die effektive Abfrage an die Quelle:
SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';
Dies ist ein sehr einfaches Beispiel für eine Abfrage an eine benutzerdefinierte Ansicht, die tatsächlich eine Kombination aus der Abfrage und der Ansichtsdefinition ist. Es ist möglich, diese Abfragen in viel komplexeren Mustern zusammenzustellen. Alle SQL-Operationen sind in beiden Abfragen zulässig und werden bei Bedarf kombiniert.
SSL-Konfiguration
Anpassen der SSL-Konfiguration
Standardmäßig versucht der Connector, SSL/TLS auszuhandeln, indem er das Zertifikat des Servers mit dem vertrauenswürdigen Zertifikatspeicher des Systems vergleicht.
Um ein anderes Zertifikat anzugeben, siehe SSLServerCert
Eigenschaft für die verfügbaren Formate, um dies zu tun.
Datenmodell
In diesem Abschnitt wird beschrieben, wie der Connector die Google Cloud Storage API als relationale Ansichten und gespeicherte Prozeduren modelliert.
Hauptmerkmale
- Der Connector modelliert Google Cloud Storage Buckets, Bucket-Informationen und Objekte als relationale Ansichten, sodass Sie SQL schreiben können, um Google Cloud Storage Daten Abfrage.
- Mit gespeicherten Prozeduren können Sie Vorgänge in Google Cloud Storage ausführen, einschließlich des Herunterladens und Hochladens von Objekten.
- Die Live-Konnektivität zu diesen Objekten bedeutet, dass alle Änderungen an Ihrem Google Cloud Storage Konto bei Verwendung des Connectors sofort berücksichtigt werden.
Ansichten
Vordefinierte Ansichten sind für den schreibgeschützten Zugriff auf Daten aus Google Cloud Storage verfügbar, einschließlich Buckets, Bucket-Informationen und Objekten.
Gespeicherte Prozeduren
Mit gespeicherten Prozeduren können Sie Vorgänge in Google Cloud Storage ausführen, einschließlich des Herunterladens und Hochladens von Objekten.
Systemtabellen
Systemtabellen enthält Informationen zu den Objekten und Ressourcen, die zu Ihrer Datenbank gehören.
Ansichten
Ansichten ähneln Tabellen in der Art und Weise, wie Daten dargestellt werden; Ansichten sind jedoch schreibgeschützt.
Abfragen können für eine Ansicht ausgeführt werden, als wäre sie eine normale Tabelle.
Google Cloud Storage Connector-Ansichten
Name | Beschreibung |
---|---|
BucketACLs | Gibt Informationen zu ACLs eines bestimmten Buckets zurück. |
BucketCORS | Gibt Informationen für CORS eines bestimmten Buckets zurück. |
BucketLifecycle | Gibt Informationen zum Lebenszyklus eines bestimmten Buckets zurück. |
Buckets | Gibt Informationen für Buckets zurück. Buckets werden zum Speichern von Objekten verwendet, die aus Daten und deren Metadaten bestehen. |
ObjectACLs | Gibt Informationen zu ACLs eines bestimmten Objekts zurück. |
Objects | Gibt Informationen zu Objekten innerhalb eines bestimmten Buckets zurück. |
ObjectVersions | Gibt Informationen zu Objektversionen innerhalb eines bestimmten Buckets zurück. |
BucketACLs
Gibt Informationen zu ACLs eines bestimmten Buckets zurück.
Tabellenspezifische Informationen
Wählen
Der Connector verwendet die Google Cloud Storage API, um WHERE-Klauselbedingungen zu verarbeiten, die mit der folgenden Spalte und dem folgenden Operator erstellt wurden. Der Rest des Filters wird clientseitig innerhalb des Connectors ausgeführt.
Bucket
unterstützt die Vergleiche '=,LIKE'.
Beispielsweise werden die folgenden Abfragen serverseitig verarbeitet:
SELECT * FROM BucketACLs WHERE Bucket = 'TestBucket'
Spalten
Name | Typ | Beschreibung |
---|---|---|
Id [KEY] | String | Die ID des Zugriffskontrolleintrags. |
Entity | String | Die Entität, die die Berechtigung besitzt. |
Role | String | Die Zugriffsberechtigung für die Entität. |
Email | String | Die mit der Entität verknüpfte Email Adresse (sofern vorhanden). |
EntityId | String | Die ID für die Entität, sofern vorhanden. |
Domain | String | Die mit der Entität verknüpfte Domäne (sofern vorhanden). |
ProjectTeamNumber | String | Die Projektnummer. |
ProjectTeamType | String | Der Teamtyp. |
ETag | String | HTTP 1.1-Entity-Tag für den Zugriffskontrolleintrag. |
Bucket | String | Der Name des Buckets. |
EimerCORS
Gibt Informationen für CORS eines bestimmten Buckets zurück.
Tabellenspezifische Informationen
Wählen
Der Connector verwendet die Google Cloud Storage API, um WHERE-Klauselbedingungen zu verarbeiten, die mit der folgenden Spalte und dem folgenden Operator erstellt wurden. Der Rest des Filters wird clientseitig innerhalb des Connectors ausgeführt.
Bucket
unterstützt die Vergleiche '=,LIKE'.
Beispielsweise werden die folgenden Abfragen serverseitig verarbeitet:
SELECT * FROM BucketCORS WHERE Bucket = 'TestBucket'
Spalten
Name | Typ | Beschreibung |
---|---|---|
Origin | String | Die Liste der Ursprünge, die zum Empfang von CORS-Antwortheadern berechtigt sind. |
Method | String | Die Liste der HTTP-Methoden, in die CORS-Antwortheader (GET, OPTIONS, POST usw.) einbezogen werden sollen. |
ResponseHeader | String | Die Liste der HTTP-Header (mit Ausnahme der einfachen Antwortheader), um dem Benutzeragenten die Berechtigung zur domänenübergreifenden Freigabe zu erteilen. |
MaxAgeSeconds | Integer | Der Wert in Sekunden, der im Access-Control-Max-Age Header zurückgegeben werden soll, der in Preflight-Antworten verwendet wird. |
Bucket | String | Name des Buckets. |
BucketLebenszyklus
Gibt Informationen zum Lebenszyklus eines bestimmten Buckets zurück.
Tabellenspezifische Informationen
Wählen
Der Connector verwendet die Google Cloud Storage API, um WHERE-Klauselbedingungen zu verarbeiten, die mit der folgenden Spalte und dem folgenden Operator erstellt wurden. Der Rest des Filters wird clientseitig innerhalb des Connectors ausgeführt.
Bucket
unterstützt die Vergleiche '=,LIKE'.
Beispielsweise werden die folgenden Abfragen serverseitig verarbeitet:
SELECT * FROM BucketLifecycle WHERE Bucket = 'TestBucket'
Spalten
Name | Typ | Beschreibung |
---|---|---|
ActionType | String | Art der Aktion. Derzeit werden Delete und SetStorageClass unterstützt. |
ActionStorageClass | String | Die neue Speicherklasse, wenn action.type SetStorageClass ist. Eine Tabelle der unterstützten Speicherklassenübergänge finden Sie unter Lebenszyklusaktionen. |
Age | Integer | Alter eines Objekts (in Tagen). Diese Bedingung ist erfüllt, wenn ein Objekt das angegebene Alter erreicht. |
CreatedBefore | Date | Ein Datum im RFC 3339-Format, das nur den Datumsteil enthält. |
IsLive | Boolean | Nur für versionierte Objekte relevant. Wenn der Wert „true“ ist, entspricht diese Bedingung der Live-Version von Objekten. Wenn der Wert „false“ ist, entspricht sie nicht aktuellen Versionen von Objekten. |
MatchesStorageClass | String | Objekte mit einer der in dieser Bedingung angegebenen Speicherklassen werden abgeglichen. Mögliche Werte sind STANDARD, NEARLINE, COLDLINE, ARCHIVE, MULTI_REGIONAL, REGIONAL und DURABLE_REDUCED_AVAILABILITY. |
NumberOfNewerVersions | Integer | Nur für versionierte Objekte relevant. Wenn der Wert N ist, ist diese Bedingung erfüllt, wenn es mindestens N Versionen (einschließlich der Live-Version) gibt, die neuer sind als diese Version des Objekts. |
CustomTimeBefore | Date | Ein Datum im RFC 3339-Format JJJJ-MM-TT. Diese Bedingung ist erfüllt, wenn die customTime-Metadaten für das Objekt auf ein früheres Datum als das in dieser Lebenszyklusbedingung verwendete Datum festgelegt sind. |
NoncurrentTimeBefore | Date | Nur für versionierte Objekte relevant. Ein Datum im RFC 3339-Format JJJJ-MM-TT. Diese Bedingung ist für Objekte erfüllt, die an einem Datum vor dem in dieser Bedingung angegebenen Datum nicht mehr aktuell waren. |
DaysSinceNoncurrentTime | Integer | Nur für versionierte Objekte relevant. Diese Bedingung ist erfüllt, wenn ein Objekt länger als die angegebene Anzahl von Tagen nicht aktuell war. |
DaysSinceCustomTime | Integer | Tage seit dem in den customTime-Metadaten für das Objekt festgelegten Datum. Diese Bedingung ist erfüllt, wenn das aktuelle Datum und die aktuelle Uhrzeit mindestens die angegebene Anzahl von Tagen nach der customTime liegen. |
Bucket | String | Name des Buckets. |
Eimer
Gibt Informationen für Buckets zurück. Buckets werden zum Speichern von Objekten verwendet, die aus Daten und deren Metadaten bestehen.
Tabellenspezifische Informationen
Wählen
Der Connector verwendet die Google Cloud Storage API, um WHERE-Klauselbedingungen zu verarbeiten, die mit der folgenden Spalte und dem folgenden Operator erstellt wurden. Der Rest des Filters wird clientseitig innerhalb des Connectors ausgeführt.
Name
unterstützt die Vergleiche '=,LIKE'.
Beispielsweise werden die folgenden Abfragen serverseitig verarbeitet:
SELECT * FROM Buckets WHERE Name = 'TestBucket'
Spalten
Name | Typ | Beschreibung |
---|---|---|
Id [KEY] | String | Die ID des Buckets. Für Buckets sind die Eigenschaften „ID“ und „Name“ identisch. |
Name | String | Der Name des Buckets. |
ProjectNumber | String | Die Projektnummer des Projekts, zu dem der Bucket gehört. |
MetaGeneration | String | Die Metadatengenerierung dieses Buckets. |
Location | String | Der Standort des Buckets. Objektdaten für Objekte im Bucket befinden sich im physischen Speicher innerhalb dieser Region. |
StorageClass | String | Die Standardspeicherklasse des Buckets, die verwendet wird, wenn für ein neu erstelltes Objekt keine Speicherklasse angegeben ist. |
ETag | String | HTTP 1.1-Entity-Tag für den Bucket. |
DefaultEventBasedHold | Boolean | Ob auf neue Objekte, die zum Bucket hinzugefügt werden, automatisch ein eventBasedHold angewendet werden soll oder nicht. |
TimeCreated | Datetime | Die Erstellungszeit des Buckets im RFC 3339-Format. |
Updated | Datetime | Die Änderungszeit des Buckets im RFC 3339-Format. |
BucketPolicyOnlyEnabled | Boolean | Ob der Bucket einheitlichen Zugriff auf Bucket-Ebene verwendet oder nicht. Wenn diese Option festgelegt ist, verwenden Zugriffsprüfungen nur IAM-Richtlinien auf Bucket-Ebene oder höher. |
UniformBucketLevelAccessEnabled | String | Ob der Bucket einheitlichen Zugriff auf Bucket-Ebene verwendet oder nicht. Wenn diese Option festgelegt ist, verwenden Zugriffsprüfungen nur IAM-Richtlinien auf Bucket-Ebene oder höher. |
LocationType | String | Der Typ des Standorts, an dem sich der Bucket befindet, wie durch die Standorteigenschaft bestimmt. |
RetentionPolicyPeriod | String | Der Zeitraum in Sekunden, in dem Objekte im Bucket beibehalten werden müssen und nicht gelöscht, überschrieben oder als nicht aktuell markiert werden können. Der Wert muss größer als 0 Sekunden und kleiner als 3.155.760.000 Sekunden sein. |
RetentionPolicyEffectiveTime | Datetime | Der Zeitpunkt, ab dem die Aufbewahrungsrichtlinie wirksam war, im RFC 3339-Format. |
RetentionPolicyIsLocked | Boolean | Ob die Aufbewahrungsrichtlinie gesperrt ist oder nicht. Wenn „true“, kann die Aufbewahrungsrichtlinie nicht entfernt und die Aufbewahrungsfrist nicht verkürzt werden. |
EncryptionDefaultKmsKeyName | String | Ein Cloud KMS-Schlüssel, der zum verschlüsseln von in diesen Bucket eingefügten Objekten verwendet wird, wenn keine Verschlüsselung angegeben ist. |
OwnerEntity | String | Die Entität in der Form Projektbesitzer-Projekt-ID. |
OwnerEntityId | String | Die ID für die Entität. |
WebsiteMainPageSuffix | String | Wenn der angeforderte Objektpfad fehlt, stellt der Dienst sicher, dass der Pfad mit einem '/' endet, hängt dieses Suffix an und versucht, das resultierende Objekt abzurufen. Dadurch können index.html-Objekte zur Darstellung von Verzeichnisseiten erstellt werden. |
WebsiteNotFoundPage | String | Wenn der angeforderte Objektpfad fehlt und ggf. ein mainPageSuffix-Objekt fehlt, gibt der Dienst das benannte Objekt aus diesem Bucket als Inhalt für ein 404-Ergebnis „Nicht gefunden“ zurück. |
LogBucket | String | Der Ziel-Bucket, in dem die Protokolle des aktuellen Buckets abgelegt werden sollen. |
LogObjectPrefix | String | Ein Präfix für Protokollobjektnamen. Das Standardpräfix ist der Bucket-Name. |
VersioningEnabled | Boolean | Wenn der Wert auf „true“ gesetzt ist, ist die Versionierung für diesen Bucket vollständig aktiviert. |
BillingRequesterPays | Boolean | Wenn der Wert auf „true“ gesetzt ist, ist „Requester Pays“ für diesen Bucket aktiviert. |
Objekt-ACLs
Gibt Informationen zu ACLs eines bestimmten Objekts zurück.
Tabellenspezifische Informationen
Wählen
Der Connector verwendet die Google Cloud Storage API, um WHERE-Klauselbedingungen zu verarbeiten, die mit der folgenden Spalte und dem folgenden Operator erstellt wurden. Der Rest des Filters wird clientseitig innerhalb des Connectors ausgeführt.
Object
unterstützt die '=,LIKE'-Vergleiche.Bucket
unterstützt den '='-Vergleich.
Beispielsweise werden die folgenden Abfragen serverseitig verarbeitet:
SELECT * FROM ObjectACLs WHERE Object = 'TestObject'
SELECT * FROM ObjectACLs WHERE Bucket = 'TestBucket'
SELECT * FROM ObjectACLs WHERE Object = 'TestObject' AND Bucket = 'TestBucket'
Spalten
Name | Typ | Beschreibung |
---|---|---|
Id [KEY] | String | Die ID des Zugriffskontrolleintrags. |
Entity | String | Die Entität, die die Berechtigung besitzt. |
Role | String | Die Zugriffsberechtigung für die Entität. |
Email | String | Die mit der Entität verknüpfte Email Adresse (sofern vorhanden). |
EntityId | String | Die ID für die Entität, sofern vorhanden. |
Domain | String | Die mit der Entität verknüpfte Domäne (sofern vorhanden). |
ProjectTeamNumber | String | Die Projektnummer. |
ProjectTeamType | String | Der Teamtyp. |
ETag | String | HTTP 1.1-Entity-Tag für den Zugriffskontrolleintrag. |
Bucket | String | Der Name des Buckets. |
Object | String | Der Name des Objekts. |
Objekte
Gibt Informationen zu Objekten innerhalb eines bestimmten Buckets zurück.
Tabellenspezifische Informationen
Wählen
Der Connector verwendet die Google Cloud Storage API, um WHERE-Klauselbedingungen zu verarbeiten, die mit der folgenden Spalte und dem folgenden Operator erstellt wurden. Der Rest des Filters wird clientseitig innerhalb des Connectors ausgeführt.
Name
unterstützt die '=,LIKE'-Vergleiche.Bucket
unterstützt den '='-Vergleich.
Beispielsweise werden die folgenden Abfragen serverseitig verarbeitet:
SELECT * FROM Objects WHERE Name = 'TestObject'
SELECT * FROM Objects WHERE Bucket = 'TestBucket'
SELECT * FROM Objects WHERE Name LIKE 'Test%' AND Bucket = 'TestBucket'
Spalten
Name | Typ | Beschreibung |
---|---|---|
Id [KEY] | String | Die ID des Objekts, einschließlich Bucket-Name, Objektname und Generationsnummer. |
Name | String | Der Name des Objekts. Erforderlich, wenn nicht durch den URL Parameter angegeben. |
Bucket | String | Der Name des Buckets, der dieses Objekt enthält. |
Generation | String | Die Inhaltsgenerierung dieses Objekts. Wird für die Objektversionierung verwendet. |
MetaGeneration | String | Die Version der Metadaten für dieses Objekt in dieser Generation. Wird für Vorbedingungen und zum Erkennen von Änderungen in Metadaten verwendet. Eine Metagenerationsnummer ist nur im Kontext einer bestimmten Generation eines bestimmten Objekts von Bedeutung. |
ContentType | String | Inhaltstyp der Objektdaten. Wenn ein Objekt ohne Inhaltstyp gespeichert ist, wird es als Anwendungs-/Oktett-Stream bereitgestellt. |
TimeCreated | Datetime | Die Erstellungszeit des Objekts im RFC 3339-Format. |
Updated | Datetime | Die Änderungszeit der Objektmetadaten im RFC 3339-Format. |
TimeDeleted | Datetime | Der Löschzeitpunkt des Objekts im RFC 3339-Format. Wird genau dann zurückgegeben, wenn diese Version des Objekts keine Live-Version mehr ist, sondern als nicht aktuelle Version im Bucket verbleibt. |
TemporaryHold | Boolean | Ob das Objekt einer vorübergehenden Sperre unterliegt oder nicht. |
EventBasedHold | Boolean | Ob das Objekt einer ereignisbasierten Sperre unterliegt oder nicht. |
RetentionExpirationTime | Datetime | Der früheste Zeitpunkt, zu dem das Objekt basierend auf der Aufbewahrungsrichtlinie eines Buckets gelöscht werden kann, im RFC 3339-Format. |
StorageClass | String | Speicherklasse des Objekts. |
TimeStorageClassUpdated | Datetime | Der Zeitpunkt, zu dem die Speicherklasse des Objekts zum letzten Mal geändert wurde. Wenn das Objekt ursprünglich erstellt wird, wird es auf timeCreated gesetzt. |
Size | String | Inhaltslänge der Daten in Bytes. |
Md5Hash | String | MD5-Hash der Daten; codiert mit Base64. Weitere Informationen zur Verwendung des MD5-Hashs finden Sie unter Hashes und ETags: Best Practices. |
MediaLink | String | Link zum Herunterladen der Medien. |
ContentEncoding | String | Inhaltskodierung der Objektdaten. |
ContentDisposition | String | Inhaltsdisposition der Objektdaten. |
ContentLanguage | String | Inhaltssprache der Objektdaten. |
CacheControl | String | Cache-Control-Direktive für die Objektdaten. Wenn sie weggelassen wird und das Objekt für alle anonymen Benutzer zugänglich ist, ist der Standardwert „public“, max-age=3600. |
OwnerEntity | String | Die Entität im Format Benutzer-E-Mail-Adresse. |
OwnerEntityId | String | Die ID für die Entität. |
Crc32c | String | CRC32c-Prüfsumme, wie in RFC 4960, Anhang B, beschrieben; codiert mit Base64 in Big-Endian-Bytereihenfolge. Weitere Informationen zur Verwendung der CRC32c-Prüfsumme finden Sie unter Hashes und ETags: Best Practices. |
ComponentCount | Integer | Anzahl der zugrunde liegenden Komponenten, aus denen ein zusammengesetztes Objekt besteht. Komponenten werden durch Kompositionsvorgänge akkumuliert, wobei 1 für jedes nicht zusammengesetzte Quellobjekt und componentCount für jedes zusammengesetzte Quellobjekt gezählt wird. Hinweis: componentCount ist nur in den Metadaten für zusammengesetzte Objekte enthalten. |
Etag | String | HTTP 1.1-Entity-Tag für das Objekt. |
CustomerEncryptionAlgorithm | String | Der Verschlüsselung. |
CustomerEncryptionKeySha256 | String | SHA256-Hashwert des Verschlüsselung. |
KmsKeyName | String | Cloud-KMS-Schlüssel, der zum verschlüsseln dieses Objekts verwendet wird, sofern das Objekt mit einem solchen Schlüssel verschlüsselt ist. |
CustomTime | Datetime | Vom CA-Benutzer angegebener Zeitstempel für das Objekt im RFC 3339-Format. |
Objektversionen
Gibt Informationen zu Objektversionen innerhalb eines bestimmten Buckets zurück.
Tabellenspezifische Informationen
Wählen
Der Connector verwendet die Google Cloud Storage API, um WHERE-Klauselbedingungen zu verarbeiten, die mit der folgenden Spalte und dem folgenden Operator erstellt wurden. Der Rest des Filters wird clientseitig innerhalb des Connectors ausgeführt.
Bucket
unterstützt den '='-Vergleich.Name
unterstützt den '='-Vergleich.
Beispielsweise werden die folgenden Abfragen serverseitig verarbeitet:
SELECT * FROM ObjectVersions WHERE Name = 'TestName'
SELECT * FROM ObjectVersions WHERE Bucket = 'TestBucket'
Spalten
Name | Typ | Beschreibung |
---|---|---|
Id | String | Die ID des Objekts, einschließlich Bucket-Name, Objektname und Generationsnummer. |
Name [KEY] | String | Der Name des Objekts. Erforderlich, wenn nicht durch den URL Parameter angegeben. |
Bucket | String | Der Name des Buckets, der dieses Objekt enthält. |
Generation | String | Die Inhaltsgenerierung dieses Objekts. Wird für die Objektversionierung verwendet. |
MetaGeneration | String | Die Version der Metadaten für dieses Objekt in dieser Generation. Wird für Vorbedingungen und zum Erkennen von Änderungen in Metadaten verwendet. Eine Metagenerationsnummer ist nur im Kontext einer bestimmten Generation eines bestimmten Objekts von Bedeutung. |
ContentType | String | Inhaltstyp der Objektdaten. Wenn ein Objekt ohne Inhaltstyp gespeichert ist, wird es als Anwendungs-/Oktett-Stream bereitgestellt. |
TimeCreated | Datetime | Die Erstellungszeit des Objekts im RFC 3339-Format. |
Updated | Datetime | Die Änderungszeit der Objektmetadaten im RFC 3339-Format. |
TimeDeleted | Datetime | Der Löschzeitpunkt des Objekts im RFC 3339-Format. Wird genau dann zurückgegeben, wenn diese Version des Objekts keine Live-Version mehr ist, sondern als nicht aktuelle Version im Bucket verbleibt. |
TemporaryHold | Boolean | Ob das Objekt einer vorübergehenden Sperre unterliegt oder nicht. |
EventBasedHold | Boolean | Ob das Objekt einer ereignisbasierten Sperre unterliegt oder nicht. |
RetentionExpirationTime | Datetime | Der früheste Zeitpunkt, zu dem das Objekt basierend auf der Aufbewahrungsrichtlinie eines Buckets gelöscht werden kann, im RFC 3339-Format. |
StorageClass | String | Speicherklasse des Objekts. |
TimeStorageClassUpdated | Datetime | Der Zeitpunkt, zu dem die Speicherklasse des Objekts zum letzten Mal geändert wurde. Wenn das Objekt ursprünglich erstellt wird, wird es auf timeCreated gesetzt. |
Size | String | Inhaltslänge der Daten in Bytes. |
Md5Hash | String | MD5-Hash der Daten; codiert mit Base64. Weitere Informationen zur Verwendung des MD5-Hashes finden Sie unter Hashes und ETags: Best Practices. |
MediaLink | String | Link zum Herunterladen der Medien. |
ContentEncoding | String | Inhaltskodierung der Objektdaten. |
ContentDisposition | String | Inhaltsdisposition der Objektdaten. |
ContentLanguage | String | Inhaltssprache der Objektdaten. |
CacheControl | String | Cache-Control-Direktive für die Objektdaten. Wenn sie weggelassen wird und das Objekt für alle anonymen Benutzer zugänglich ist, ist der Standardwert „public“, max-age=3600. |
OwnerEntity | String | Die Entität im Format Benutzer-E-Mail-Adresse. |
OwnerEntityId | String | Die ID für die Entität. |
Crc32c | String | CRC32c-Prüfsumme, wie in RFC 4960, Anhang B, beschrieben; codiert mit Base64 in Big-Endian-Bytereihenfolge. Weitere Informationen zur Verwendung der CRC32c-Prüfsumme finden Sie unter Hashes und ETags: Best Practices. |
ComponentCount | Integer | Anzahl der zugrunde liegenden Komponenten, aus denen ein zusammengesetztes Objekt besteht. Komponenten werden durch Kompositionsvorgänge akkumuliert, wobei 1 für jedes nicht zusammengesetzte Quellobjekt und componentCount für jedes zusammengesetzte Quellobjekt gezählt wird. Hinweis: componentCount ist nur in den Metadaten für zusammengesetzte Objekte enthalten. |
Etag | String | HTTP 1.1-Entity-Tag für das Objekt. |
CustomerEncryptionAlgorithm | String | Der Verschlüsselung. |
CustomerEncryptionKeySha256 | String | SHA256-Hashwert des Verschlüsselung. |
KmsKeyName | String | Cloud-KMS-Schlüssel, der zum verschlüsseln dieses Objekts verwendet wird, sofern das Objekt mit einem solchen Schlüssel verschlüsselt ist. |
CustomTime | Datetime | Vom CA-Benutzer angegebener Zeitstempel für das Objekt im RFC 3339-Format. |
Gespeicherte Prozeduren
Gespeicherte Prozeduren sind funktionsähnliche Schnittstellen, die die Funktionalität des Connectors über einfache SELECT-Operationen mit Google Cloud Storage hinaus erweitern.
Gespeicherte Prozeduren akzeptieren eine Liste von Parametern, führen ihre beabsichtigte Funktion aus und geben dann alle relevanten Antwortdaten aus Google Cloud Storage zurück, zusammen mit einer Angabe, ob die Prozedur erfolgreich war oder fehlgeschlagen ist.
Gespeicherte Prozeduren im Google Cloud Storage Connector
Name | Beschreibung |
---|---|
CopyObject | Kopiert ein Objekt von einem Bucket in einen anderen. |
CreateBucket | Erstellt einen Bucket. Der authentifizierte Benutzer muss über die IAM-Berechtigung storage.buckets.create verfügen, um diese StoredProcedure verwenden zu können. |
DeleteObject | Löscht ein Objekt aus einem Bucket. |
DownloadObject | Übergibt den Namen eines Buckets und eines Objekts zum Herunterladen. |
EnableVersioning | Aktiviert die Objektversionierung in einem bestimmten Bucket. |
GetOAuthAccessToken | Ruft den OAuth-Zugriffstoken ab, der zur Authentifizierung bei verschiedenen Google-Diensten verwendet werden soll. |
GetOAuthAuthorizationURL | Ruft die OAuth-Autorisierungs URL ab, die für die Authentifizierung bei verschiedenen Google-Diensten verwendet wird. |
MoveObject | Verschiebt ein Objekt von einem Bucket in einen anderen. |
RefreshOAuthAccessToken | Ruft den OAuth-Zugriffstoken ab, der zur Authentifizierung bei verschiedenen Google-Diensten verwendet werden soll. |
SignURL | Lädt Objekte in einem einzigen Operation hoch. Verwenden Sie die Verbindungseigenschaft SimpleUploadLimit, um den Schwellenwert in Bytes anzupassen, damit ein mehrteiliger Upload durchgeführt werden kann. |
UploadObject | Lädt Objekte in einem einzigen Operation hoch. Verwenden Sie die Verbindungseigenschaft SimpleUploadLimit, um den Schwellenwert in Bytes anzupassen, damit ein mehrteiliger Upload durchgeführt werden kann. |
Objekt kopieren
Kopiert ein Objekt von einem Bucket in einen anderen.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
BucketSource | String | True | Bucket-Name, in dem sich das zu kopierende Objekt befindet. |
ObjectSource | String | True | Objektname des Objekts, das kopiert wird. |
BucketDestination | String | True | Bucket-Name, in den das Objekt kopiert wird. |
ObjectDestination | String | Falsch | Neuer Name des Objekts im neuen Bucket. Wenn nicht angegeben, bleibt der Name derselbe. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
Success | String | Anzeige, ob die gespeicherte Prozedur erfolgreich war oder nicht. |
Eimer erstellen
Erstellt einen Bucket. Der authentifizierte Benutzer muss über die IAM-Berechtigung storage.buckets.create verfügen, um diese StoredProcedure verwenden zu können.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
Name | String | True | Der Name des neuen Buckets |
PredefinedAcl | String | Falsch | Wenden Sie einen vordefinierten Satz von Zugriffskontrollen auf diesen Bucket an. Die zulässigen Werte sind authenticatedRead, private, projectPrivate, publicRead, publicReadWrite. |
PredefinedDefaultObjectAcl | String | Falsch | Wenden Sie einen vordefinierten Satz standardmäßiger Objektzugriffskontrollen auf diesen Bucket an. Die zulässigen Werte sind authenticatedRead, bucketOwnerFullControl, bucketOwnerRead, private, projectPrivate, publicRead. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
Success | String | Anzeige, ob die gespeicherte Prozedur erfolgreich war oder nicht. |
Id | String | Die ID des erstellten Buckets. |
Objekt löschen
Löscht ein Objekt aus einem Bucket.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
BucketSource | String | True | Bucket-Name, in dem sich das zu löschende Objekt befindet. |
ObjectSource | String | True | Objektname des Objekts, das gelöscht wird. |
Generation | Long | Falsch | Falls vorhanden, wird eine bestimmte Revision dieses Objekts dauerhaft gelöscht (im Gegensatz zur neuesten Version, der Standardeinstellung). |
IfGenerationMatch | Long | Falsch | Macht den Operation davon abhängig, ob die aktuelle Generation des Objekts mit dem angegebenen Wert übereinstimmt. Wenn der Wert auf 0 gesetzt wird, ist der Operation nur erfolgreich, wenn keine Live-Versionen des Objekts vorhanden sind. |
IfGenerationNotMatch | Long | Falsch | Macht den Operation davon abhängig, ob die aktuelle Generation des Objekts nicht mit dem angegebenen Wert übereinstimmt. Wenn kein Live-Objekt vorhanden ist, schlägt die Vorbedingung fehl. Wenn der Wert auf 0 gesetzt wird, ist der Operation nur erfolgreich, wenn eine Live-Version des Objekts vorhanden ist. |
IfMetagenerationMatch | Long | Falsch | Macht den Operation davon abhängig, ob die aktuelle Metageneration des Objekts mit dem angegebenen Wert übereinstimmt. |
IfMetagenerationNotMatch | Long | Falsch | Macht den Operation davon abhängig, ob die aktuelle Metageneration des Objekts mit dem angegebenen Wert übereinstimmt. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
Success | String | Anzeige, ob die gespeicherte Prozedur erfolgreich war oder nicht. |
Objekt herunterladen
Gibt den Namen eines Buckets und eines herunterzuladenden Objekts weiter.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
Bucket | String | True | Bucket-Name, in dem sich das Objekt befindet. |
Object | String | Falsch | Objektname für das Objekt, das abgerufen werden soll. Wenn nicht angegeben, werden alle Objekte aus dem angegebenen Bucket abgerufen. |
LocalFolderPath | String | Falsch | Der Pfad oder die URI zur Datei, die die Daten des Objekts erhält. |
UpdatedStartDate | Datetime | Falsch | Der Beginn des Datumsbereichs zum Herunterladen von Objekten. Wenn nicht angegeben, werden Objekte vom Beginn der Zeit bis zum UpdatedEndDate heruntergeladen. |
UpdatedEndDate | Datetime | Falsch | Das Ende des Datumsbereichs zum Herunterladen von Objekten. Wenn nicht angegeben, werden Objekte vom angegebenen UpdatedStartDate bis zum aktuellen Tag heruntergeladen. |
Encoding | String | Falsch | Wenn der LocalFile-Eingang leer gelassen wird, werden die Daten in der angegebenen Kodierung in FileData ausgegeben. Die zulässigen Werte sind NONE, BASE64. Der Standardwert ist BASE64. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
Object | String | Objektname für das Objekt, das heruntergeladen wird. |
FileData | String | Die base64-codierte Objektdatenausgabe, wenn die Eingabe OutputFolderPath leer ist. |
Success | String | Anzeige, ob die gespeicherte Prozedur erfolgreich war oder nicht. |
Versionierung aktivieren
Aktiviert die Objektversionierung in einem bestimmten Bucket.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
Bucket | String | True | Bucket-Name, in dem die Versionierung aktiviert wird. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
Success | String | Anzeige, ob die gespeicherte Prozedur erfolgreich war oder nicht. |
GetOAuthAccessToken
Erhält den OAuth-Zugriffstoken, der zur Authentifizierung bei verschiedenen Google-Diensten verwendet werden soll.
Hinweis
Wenn nach dem Ausführen dieser gespeicherten Prozedur das OAuthRefreshToken nicht als Teil des Ergebnissatzes zurückgegeben wurde, ändern Sie den Eingabeaufforderungswert in CONSENT und führen Sie die Prozedur erneut aus. Dadurch wird die App gezwungen, sich erneut zu authentifizieren und neue Token-Informationen zu senden.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
AuthMode | String | True | Der zu verwendende Authentifizierungsmodustyp. Die zulässigen Werte sind APP, WEB. Der Standardwert ist WEB. |
Verifier | String | Falsch | Der von Google zurückgegebene Prüfcode, nachdem die Verbindungserlaubnis für die App erteilt wurde. Nur WEB-Authentifizierungsmodus. |
Scope | String | True | Der Umfang des Zugriffs auf Google APIs. Standardmäßig wird der Zugriff auf alle von diesem Datenanbieter verwendeten APIs angegeben. Der Standardwert ist * https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/devstorage.read_only*. |
CallbackURL | String | Falsch | Dieses Feld bestimmt, wohin die Antwort gesendet wird. Der Wert dieses Parameters muss genau mit einem der in der APIs Konsole registrierten Werte übereinstimmen, einschließlich der HTTP- oder HTTPS-Schemata, der Groß- und Kleinschreibung und des abschließenden Schrägstrichs ('/'). |
Prompt | String | True | Dieses Feld gibt die Eingabeaufforderung an, die dem Benutzer angezeigt werden soll. Es akzeptiert einen der folgenden Werte: NONE, CONSENT, SELECT ACCOUNT. Der Standardwert ist SELECT_ACCOUNT, sodass ein bestimmter Benutzer aufgefordert wird, das Konto auszuwählen, mit dem eine Verbindung hergestellt werden soll. Wenn es auf CONSENT eingestellt ist, wird dem Benutzer jedes Mal eine Zustimmungsseite angezeigt, auch wenn er der Anwendung zuvor für einen bestimmten Satz von Bereichen zugestimmt hat. Wenn es auf NONE eingestellt ist, werden dem Benutzer keine Authentifizierungs- oder Zustimmungsbildschirme angezeigt. Der Standardwert ist SELECT_ACCOUNT. |
AccessType | String | True | 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 OFFLINE 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. Die zulässigen Werte sind ONLINE, OFFLINE. Der Standardwert ist OFFLINE. |
State | String | Falsch | 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. |
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. |
OAuthRefreshToken | String | Ein Token, der zum Abrufen eines neuen Zugriffstokens verwendet werden kann. |
ExpiresIn | String | Die verbleibende Lebensdauer des Zugriffstokens. |
GetOAuthAuthorizationURL
Ruft die OAuth-Autorisierungs URL ab, die für die Authentifizierung bei verschiedenen Google-Diensten verwendet wird.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
Scope | String | True | Der Umfang des Zugriffs auf Google APIs. Standardmäßig wird der Zugriff auf alle von diesem Datenanbieter verwendeten APIs angegeben. Der Standardwert ist * https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/devstorage.read_only*. |
CallbackURL | String | Falsch | Dieses Feld bestimmt, wohin die Antwort gesendet wird. Der Wert dieses Parameters muss genau mit einem der in der APIs Konsole registrierten Werte übereinstimmen, einschließlich der HTTP- oder HTTPS-Schemata, Groß-/Kleinschreibung und des abschließenden Schrägstrichs ('/'). |
Prompt | String | True | Dieses Feld gibt die Eingabeaufforderung an, die dem Benutzer angezeigt werden soll. Es akzeptiert einen der folgenden Werte: NONE, CONSENT, SELECT ACCOUNT. Der Standardwert ist SELECT_ACCOUNT, sodass ein bestimmter Benutzer aufgefordert wird, das Konto auszuwählen, mit dem eine Verbindung hergestellt werden soll. Wenn es auf CONSENT eingestellt ist, wird dem Benutzer jedes Mal eine Zustimmungsseite angezeigt, auch wenn er der Anwendung zuvor für einen bestimmten Satz von Bereichen zugestimmt hat. Wenn es auf NONE eingestellt ist, werden dem Benutzer keine Authentifizierungs- oder Zustimmungsbildschirme angezeigt. Der Standardwert ist SELECT_ACCOUNT. |
AccessType | String | True | 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 OFFLINE 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. Die zulässigen Werte sind ONLINE, OFFLINE. Der Standardwert ist OFFLINE. |
State | String | Falsch | 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. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
URL | String | Die URL zum Abschließen der Benutzerauthentifizierung. |
Objekt verschieben
Verschiebt ein Objekt von einem Bucket in einen anderen.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
BucketSource | String | True | Bucket-Name, in dem sich das zu verschiebende Objekt befindet. |
ObjectSource | String | True | Objektname des Objekts, das verschoben wird. |
BucketDestination | String | True | Bucket-Name, in den das Objekt verschoben wird. |
ObjectDestination | String | Falsch | Neuer Name des Objekts im neuen Bucket. Wenn nicht angegeben, bleibt der Name derselbe. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
Success | String | Anzeige, ob die gespeicherte Prozedur erfolgreich war oder nicht. |
Aktualisieren Sie das OAuthAccessToken
Erhält den OAuth-Zugriffstoken, der zur Authentifizierung bei verschiedenen Google-Diensten verwendet werden soll.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
OAuthRefreshToken | String | True | Das vom ursprünglichen Autorisierungscode-Austausch zurückgegebene Aktualisierungstoken. |
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. |
OAuthRefreshToken | String | Das von Google zurückgegebene Authentifizierungstoken. Dieses kann bei nachfolgenden Aufrufen anderer Vorgänge für diesen bestimmten Dienst verwendet werden. |
ExpiresIn | String | Die verbleibende Lebensdauer des Zugriffstokens. |
URL unterzeichnen
Lädt Objekte in einem einzigen Operation hoch. Verwenden Sie die Verbindungseigenschaft SimpleUploadLimit, um den Schwellenwert in Bytes anzupassen und einen mehrteiligen Upload durchzuführen.
Hinweis
Sie benötigen die folgenden IAM-Rollen, um diese gespeicherte Prozedur zu nutzen:
- storage.objects.create (ermöglicht Ihnen, eine signierte URL zum Hochladen eines Objekts zu erstellen)
- storage.objects.get (ermöglicht Ihnen, eine signierte URL zum Herunterladen des Objekts zu erstellen)
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
Bucket | String | True | Der Name des Buckets, in dem sich das Objekt befindet. |
Object | String | True | Der Name des Objekts, für das die SignedURL generiert werden soll. |
RequestMethod | String | Falsch | Die Methode, die die signierte Anfrage verwenden wird. Der Standardwert ist GET. |
Location | String | Falsch | Speicherort des angegebenen Buckets. Der Standardwert ist auto. |
ActiveDateTime | String | Falsch | Das Datum und die Uhrzeit, zu der die signierte URL aktiv wird. Wenn nicht angegeben, wird das aktuelle Datum und die aktuelle Uhrzeit verwendet. |
Query | String | Falsch | Die Abfrage, die bei Verwendung der SignedURL enthalten sein muss. Wenn sie nicht angegeben wird, wird keine Abfrage verwendet. |
CustomHeaders | String | Falsch | Eine durch Kommas getrennte Liste von Name=Wert der mit der SignedURL zu verwendenden Header. Wenn nicht angegeben, werden nicht benutzerdefinierte Header verwendet. |
ExpiresIn | String | True | Die Ablaufzeit für die SignedURL sollte das Format 1d2h3m4s haben, der Maximalwert beträgt 7d0h0m0s |
HmacAccessKey | String | Falsch | Der Hmac-Zugriffsschlüssel. |
HmacSecret | String | Falsch | Das Hmac-Geheimnis. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
Success | String | Anzeige, ob die gespeicherte Prozedur erfolgreich war oder nicht. |
SignedURL | String | Gibt eine signierte URL zurück, die zum Herunterladen der Ressource verwendet werden kann. |
Objekt hochladen
Lädt Objekte in einem einzigen Operation hoch. Verwenden Sie die Verbindungseigenschaft SimpleUploadLimit, um den Schwellenwert in Bytes anzupassen und einen mehrteiligen Upload durchzuführen.
Ausführen
Der Treiber verwendet #TEMP-Tabellen als Felder für die eingegebenen aggregierten Informationen
Ihre Abfrage muss Folgendes enthalten:
INSERT INTO ObjectInformationAggregate#TEMP (LocalFilePath) VALUES ('C:/amazons3/test/testfile.txt')
Wenn Sie eine Liste von Dateien angeben, können Sie zusätzlich den Wert von ContentType festlegen:
INSERT INTO ObjectInformationAggregate#TEMP (LocalFilePath, ContentType) VALUES ('C:/amazons3/test/testfile.txt', 'text/plain')
Anschließend führen Sie die Prozedur aus, indem Sie den Wert von ObjectInformationAggregate mit dem Namen der verwendeten #TEMP-Tabelle ObjectInformationAggregate#TEMP angeben.
EXEC UploadObject ObjectInformationAggregate = 'ObjectInformationAggregate#TEMP'
Hinweis
Wenn Sie den GetSignedUrl-Eingang auf true setzen, müssen Sie sich mit einem Dienstkonto authentifizieren, das über das storage.objects.get
IAM- Rolle.
Eingang
Name | Typ | Erforderlich | Akzeptiert Eingabeströme | Beschreibung |
---|---|---|---|---|
Bucket | String | True | False | Bucket-Name, in den das Objekt hochgeladen wird. |
ContentStream | String | Falsch | Wahr | Der Inhalt als InputStream, der hochgeladen werden soll, wenn LocalFilePath oder ObjectInformationAggregate nicht angegeben ist. |
ObjectName | String | Falsch | Falsch | Der Name des hochgeladenen Objekts. Er sollte nur angegeben werden, wenn der Inhalt als InputStream hochgeladen wird. |
FolderPath | String | Falsch | Falsch | Der Pfad zum Ordner, der die Daten des Objekts erhält. |
LocalFilePath | String | Falsch | Falsch | Der Pfad zur Datei, die in den Bucket hochgeladen wird. Wenn dies ein Pfad zu einem Ordner ist, werden alle Dateien im Ordner in den Bucket hochgeladen. |
ContentType | String | Falsch | Falsch | Inhaltstyp der Objektdaten. |
ObjectInformationAggregate | String | Falsch | Falsch | Ein Aggregat, das die Objektinformationen darstellt. Kann in Form von XML, JSON oder einer #TEMP-Tabelle vorliegen. |
GetSignedUrl | Boolean | Falsch | Falsch | Gibt an, ob eine signierte URL zurückgegeben werden soll. Nur verfügbar, wenn OAuthJWTCert festgelegt ist. Der Standardwert ist falsch. |
ExpiresIn | String | Falsch | Falsch | Die Ablaufzeit für die SignedURL sollte das Format 1d2h3m4s haben, der Maximalwert ist 7d0h0m0s |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
Object | String | Objektname für das Objekt, das hochgeladen wird. |
Success | String | Anzeige, ob die gespeicherte Prozedur erfolgreich war oder nicht. |
SignedURL | String | Gibt eine signierte URL zurück, die zum Herunterladen der Ressource verwendet werden kann. |
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 Google Cloud Storage zurück:
- sys_catalogs: Listet die verfügbaren Datenbanken auf.
- sys_schemas: Listet die verfügbaren Schemata auf.
- sys_tables: Listet die verfügbaren Tabellen und Ansichten auf.
- sys_tablecolumns: Beschreibt die Spalten der verfügbaren Tabellen und Ansichten.
- sys_procedures: Beschreibt die verfügbaren gespeicherten Prozeduren.
- sys_procedureparameters: Beschreibt Parameter gespeicherter Prozeduren.
- sys_keycolumns: Beschreibt die Primär- und Fremdschlüssel.
- sys_indexes: Beschreibt die verfügbaren Indizes.
Datenquellentabellen
Die folgenden Tabellen enthalten Informationen dazu, wie eine Verbindung zur Datenquelle hergestellt und diese Abfrage wird:
- sys_connection_props: Gibt Informationen zu den verfügbaren Verbindungseigenschaften zurück.
- sys_sqlinfo: Beschreibt die SELECT-Abfragen, die der Connector an die Datenquelle auslagern kann.
Abfrageinformationstabellen
Die folgende Tabelle gibt Abfrage für Datenänderungsabfragen zurück:
- Systemidentität: Gibt Informationen zu Charge oder einzelnen Updates zurück.
Sys_catalogs
Listet die verfügbaren Datenbanken auf.
Die folgende Abfrage ruft alle durch die Verbindungszeichenfolge ermittelten Datenbanken ab:
SELECT * FROM sys_catalogs
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Der Datenbankname. |
Sys_schemas
Listet die verfügbaren Schemas auf.
Die folgende Abfrage ruft alle verfügbaren Schemas ab:
SELECT * FROM sys_schemas
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Der Datenbankname. |
SchemaName | String | Der Schema. |
Sys_tables
Listet die verfügbaren Tabellen auf.
Die folgende Abfrage ruft die verfügbaren Tabellen und Ansichten ab:
SELECT * FROM sys_tables
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Die Datenbank, die die Tabelle oder Ansicht enthält. |
SchemaName | String | Das Schema, das die Tabelle oder Ansicht enthält. |
TableName | String | Der Name der Tabelle oder Ansicht. |
TableType | String | Der Tabellentyp (Tabelle oder Ansicht). |
Description | String | Eine Beschreibung der Tabelle oder Ansicht. |
IsUpdateable | Boolean | Ob die Tabelle aktualisiert werden kann. |
Sys_tablecolumns
Beschreibt die Spalten der verfügbaren Tabellen und Ansichten.
Die folgende Abfrage gibt die Spalten und Datentypen für die Buckets-Tabelle zurück:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Buckets'
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 DownloadObject zurück:
SELECT * FROM sys_procedureparameters WHERE ProcedureName='DownloadObject' 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 Buckets-Tabelle ab:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Buckets'
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:googlecloudstorage: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 Verbindung erforderlich ist. |
Category | String | Die Kategorie der Verbindungseigenschaft. |
IsSessionProperty | String | Ob die Eigenschaft eine Sitzungseigenschaft ist, die zum Speichern von Informationen zur aktuellen Verbindung verwendet wird. |
Sensitivity | String | Die Vertraulichkeitsstufe der Eigenschaft. Diese gibt Aufschluss darüber, ob die Eigenschaft in Protokollierungs- und Authentifizierungsformularen verschleiert wird. |
PropertyName | String | Eine verkürzte Form des Verbindungseigenschaftsnamens in Camel-Case-Schreibweise. |
Ordinal | Int32 | Der Index des Parameters. |
CatOrdinal | Int32 | Der Index der Parameterkategorie. |
Hierarchy | String | Zeigt zugehörige abhängige Eigenschaften an, die zusammen mit dieser festgelegt werden müssen. |
Visible | Boolean | Informiert, ob die Eigenschaft in der Verbindungs-Benutzeroberfläche sichtbar ist. |
ETC | String | Verschiedene sonstige Informationen zum Objekt. |
Sys_sqlinfo
Beschreibt die SELECT- Abfrage, die der Connector an die Datenquelle auslagern kann.
Entdecken der SELECT-Funktionen der Datenquelle
Nachfolgend sehen Sie einen Beispieldatensatz mit SQL-Funktionen. Einige Aspekte der SELECT-Funktionalität werden in einer durch Kommas getrennten Liste zurückgegeben, sofern sie unterstützt werden. Andernfalls enthält die Spalte NO.
Name | Beschreibung | Mögliche Werte |
---|---|---|
AGGREGATE_FUNCTIONS | Unterstützte Aggregatfunktionen. | AVG , COUNT , MAX , MIN , SUM , DISTINCT |
COUNT | Ob die COUNT-Funktion unterstützt wird. | YES , NO |
IDENTIFIER_QUOTE_OPEN_CHAR | Das öffnende Zeichen, das zum Escapen eines Bezeichners verwendet wird. | [ |
IDENTIFIER_QUOTE_CLOSE_CHAR | Das abschließende Zeichen, das zum Escapen eines Bezeichners verwendet wird. | ] |
SUPPORTED_OPERATORS | Eine Liste unterstützter SQL-Operatoren. | = , > , < , >= , <= , <> , != , LIKE , NOT LIKE , IN , NOT IN , IS NULL , IS NOT NULL , AND , OR |
GROUP_BY | Ob GROUP BY unterstützt wird und wenn ja, in welchem Umfang. | NO , NO_RELATION , EQUALS_SELECT , SQL_GB_COLLATE |
STRING_FUNCTIONS | Unterstützte String-Funktionen. | LENGTH , CHAR , LOCATE , REPLACE , SUBSTRING , RTRIM , LTRIM , RIGHT , LEFT , UCASE , SPACE , SOUNDEX , LCASE , CONCAT , ASCII , REPEAT , OCTET , BIT , POSITION , INSERT , TRIM , UPPER , REGEXP , LOWER , DIFFERENCE , CHARACTER , SUBSTR , STR , REVERSE , PLAN , UUIDTOSTR , TRANSLATE , TRAILING , TO , STUFF , STRTOUUID , STRING , SPLIT , SORTKEY , SIMILAR , REPLICATE , PATINDEX , LPAD , LEN , LEADING , KEY , INSTR , INSERTSTR , HTML , GRAPHICAL , CONVERT , COLLATION , CHARINDEX , BYTE |
NUMERIC_FUNCTIONS | Unterstützte numerische Funktionen. | ABS , ACOS , ASIN , ATAN , ATAN2 , CEILING , COS , COT , EXP , FLOOR , LOG , MOD , SIGN , SIN , SQRT , TAN , PI , RAND , DEGREES , LOG10 , POWER , RADIANS , ROUND , TRUNCATE |
TIMEDATE_FUNCTIONS | Unterstützte Datums-/Uhrzeitfunktionen. | NOW , CURDATE , DAYOFMONTH , DAYOFWEEK , DAYOFYEAR , MONTH , QUARTER , WEEK , YEAR , CURTIME , HOUR , MINUTE , SECOND , TIMESTAMPADD , TIMESTAMPDIFF , DAYNAME , MONTHNAME , CURRENT_DATE , CURRENT_TIME , CURRENT_TIMESTAMP , EXTRACT |
REPLICATION_SKIP_TABLES | Zeigt an, dass während der Replikation Tabellen übersprungen wurden. | |
REPLICATION_TIMECHECK_COLUMNS | Ein Zeichenfolgenarray mit einer Liste von Spalten, die (in der angegebenen Reihenfolge) zur Überprüfung verwendet werden, ob sie während der Replikation als geänderte Spalte verwendet werden sollen. | |
IDENTIFIER_PATTERN | Zeichenfolgenwert, der angibt, welche Zeichenfolge für einen Bezeichner gültig ist. | |
SUPPORT_TRANSACTION | Gibt an, ob der Anbieter Transaktionen wie Commit und Rollback unterstützt. | YES , NO |
DIALECT | Gibt den zu verwendenden SQL-Dialekt an. | |
KEY_PROPERTIES | Gibt die Eigenschaften an, die die einheitliche Datenbank identifizieren. | |
SUPPORTS_MULTIPLE_SCHEMAS | Gibt an, ob für den Anbieter mehrere Schemas vorhanden sein können. | YES , NO |
SUPPORTS_MULTIPLE_CATALOGS | Gibt an, ob für den Anbieter mehrere Kataloge vorhanden sein können. | YES , NO |
DATASYNCVERSION | Die für den Zugriff auf diesen Treiber erforderliche Data Sync-Version. | Standard , Starter , Professional , Enterprise |
DATASYNCCATEGORY | Die Kategorie „Datensynchronisierung“ dieses Treiber. | Source , Destination , Cloud Destination |
SUPPORTSENHANCEDSQL | Ob erweiterte SQL-Funktionen über das hinaus, was die API bietet, unterstützt werden. | TRUE , FALSE |
SUPPORTS_BATCH_OPERATIONS | Ob Charge Operationen unterstützt werden. | YES , NO |
SQL_CAP | Alle unterstützten SQL-Funktionen für diesen Treiber. | SELECT , INSERT , DELETE , UPDATE , TRANSACTIONS , ORDERBY , OAUTH , ASSIGNEDID , LIMIT , LIKE , BULKINSERT , COUNT , BULKDELETE , BULKUPDATE , GROUPBY , HAVING , AGGS , OFFSET , REPLICATE , COUNTDISTINCT , JOINS , DROP , CREATE , DISTINCT , INNERJOINS , SUBQUERIES , ALTER , MULTIPLESCHEMAS , GROUPBYNORELATION , OUTERJOINS , UNIONALL , UNION , UPSERT , GETDELETED , CROSSJOINS , GROUPBYCOLLATE , MULTIPLECATS , FULLOUTERJOIN , MERGE , JSONEXTRACT , BULKUPSERT , SUM , SUBQUERIESFULL , MIN , MAX , JOINSFULL , XMLEXTRACT , AVG , MULTISTATEMENTS , FOREIGNKEYS , CASE , LEFTJOINS , COMMAJOINS , WITH , LITERALS , RENAME , NESTEDTABLES , EXECUTE , BATCH , BASIC , INDEX |
PREFERRED_CACHE_OPTIONS | Ein Zeichenfolgenwert gibt die bevorzugten Cacheoptionen an. | |
ENABLE_EF_ADVANCED_QUERY | Gibt an, ob der Treiber erweiterte Abfragen aus dem Entity Framework direkt unterstützt. Wenn nicht, werden die Abfragen clientseitig verarbeitet. | YES , NO |
PSEUDO_COLUMNS | Ein Zeichenfolgenarray, das die verfügbaren Pseudospalten angibt. | |
MERGE_ALWAYS | Wenn der Wert „true“ ist, wird der Merge-Modus in der Datensynchronisierung zwangsweise ausgeführt. | TRUE , FALSE |
REPLICATION_MIN_DATE_QUERY | Eine Abfrage zum Zurückgeben des Startdatums und der Startzeit der Replikation. | |
REPLICATION_MIN_FUNCTION | Ermöglicht einem Anbieter, den Formelnamen anzugeben, der zum Ausführen eines serverseitigen Minimums verwendet werden soll. | |
REPLICATION_START_DATE | Ermöglicht einem Anbieter, ein Replikationsstartdatum anzugeben. | |
REPLICATION_MAX_DATE_QUERY | Eine Abfrage zum Zurückgeben des Enddatums und der Endzeit der Replikation. | |
REPLICATION_MAX_FUNCTION | Ermöglicht einem Anbieter, den Formelnamen anzugeben, der zur Ausführung eines serverseitigen Max. verwendet werden soll. | |
IGNORE_INTERVALS_ON_INITIAL_REPLICATE | Eine Liste von Tabellen, bei denen das Aufteilen der Replikation in Blöcke bei der ersten Replikation übersprungen wird. | |
CHECKCACHE_USE_PARENTID | Gibt an, ob die CheckCache-Anweisung für die übergeordnete Schlüsselspalte ausgeführt werden soll. | TRUE , FALSE |
CREATE_SCHEMA_PROCEDURES | Gibt gespeicherte Prozeduren an, die zum Generieren von Schema verwendet werden können. |
Die folgende Abfrage ruft die Operatoren ab, die in der WHERE-Klausel verwendet werden können:
SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
Beachten Sie, dass einzelne Tabellen unterschiedliche Einschränkungen oder Anforderungen an die WHERE-Klausel haben können; siehe 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. |
Erweiterte Konfigurationseigenschaften
Die erweiterten Konfigurationseigenschaften sind die verschiedenen Optionen, die zum Herstellen einer Verbindung verwendet werden können. Dieser Abschnitt enthält eine vollständige Liste der Optionen, die Sie konfigurieren können. Klicken Sie auf die Links, um weitere Einzelheiten zu erfahren.
Eigenschaft | Beschreibung |
---|---|
AuthScheme | Der zu verwendende Authentifizierungstyp bei der Verbindung mit Google Cloud Storage. |
ProjectId | Die ID des Projekts, in dem sich Ihre Google Cloud Storage Instanz befindet. |
Eigenschaft | Beschreibung |
---|---|
InitiateOAuth | Legen Sie diese Eigenschaft fest, um den Prozess zum Abrufen oder Aktualisieren des OAuth-Zugriffstokens beim Herstellen einer Verbindung zu starten. |
OAuthClientId | Die Client-ID, die zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren. |
OAuthClientSecret | Das Client-Geheimnis, das zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren. |
OAuthAccessToken | Der Zugriffstoken für die Verbindung mittels OAuth. |
OAuthSettingsLocation | Der Speicherort der Einstellungsdatei, in der OAuth-Werte gespeichert werden, wenn InitiateOAuth auf GETANDREFRESH oder REFRESH gesetzt ist. Alternativ können Sie diesen Speicherort im Speicher halten, indem Sie einen Wert angeben, der mit beginnt 'memory://' . |
CallbackURL | Die OAuth-Rückruf URL, zu der bei der Authentifizierung zurückgekehrt werden soll. Dieser Wert muss mit der Rückruf-URL übereinstimmen, die Sie in Ihren App-Einstellungen angeben. |
OAuthVerifier | Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode. |
OAuthRefreshToken | Das OAuth-Aktualisierungstoken für das entsprechende OAuth-Zugriffstoken. |
OAuthExpiresIn | Die Lebensdauer des OAuth AccessToken in Sekunden. |
OAuthTokenTimestamp | Der Unix-Epochenzeitstempel in Millisekunden, als das aktuelle Zugriffstoken erstellt wurde. |
Eigenschaft | Beschreibung |
---|---|
OAuthJWTCert | Der JWT-Zertifikatspeicher. |
OAuthJWTCertType | Der Typ des Schlüsselspeichers, der das JWT-Zertifikat enthält. |
OAuthJWTCertPassword | Das Passwort für das OAuth JWT-Zertifikat. |
OAuthJWTCertSubject | Der Betreff des OAuth-JWT-Zertifikats. |
OAuthJWTIssuer | Der Herausgeber des Java Web Token. |
OAuthJWTSubject | Das Benutzersubjekt, für das die Anwendung delegierten Zugriff anfordert. |
Eigenschaft | Beschreibung |
---|---|
SSLServerCert | Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL. |
Eigenschaft | Beschreibung |
---|---|
Location | Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren. |
BrowsableSchemas | Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA, SchemaB, SchemaC. |
Tables | Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA, TabelleB, TabelleC. |
Views | Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA, AnsichtB, AnsichtC. |
Eigenschaft | Beschreibung |
---|---|
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. |
PseudoColumns | Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht. |
SimpleUploadLimit | Diese Einstellung gibt den Schwellenwert in Bytes an, oberhalb dessen der Anbieter einen mehrteiligen Upload durchführt, anstatt alles in einer Anfrage hochzuladen. |
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 zu verwendende Authentifizierungstyp bei der Verbindung mit Google Cloud Storage. |
ProjectId | Die ID des Projekts, in dem sich Ihre Google Cloud Storage Instanz befindet. |
AuthScheme
Der Authentifizierungstyp, der bei der Verbindung mit Google Cloud Storage verwendet werden soll.
Mögliche Werte
Auto
, OAuth
, OAuthJWT
, GCPInstanceAccount
Datentyp
string
Standardwert
Auto
Hinweise
- Automatisch: Lässt den Treiber automatisch basierend auf den anderen von Ihnen festgelegten Verbindungseigenschaften entscheiden.
- OAuth: Legen Sie diese Option fest, um die OAuth-Authentifizierung mit einem Standardbenutzerkonto durchzuführen.
- OAuthJWT: Legen Sie dies fest, um die OAuth-Authentifizierung mit einem OAuth-Dienstkonto durchzuführen.
- GCPInstanceAccount: Legen Sie dies fest, um einen Zugriffstoken von der Google Cloud Platform-Instanz zu erhalten.
ProjektID
Die ID des Projekts, in dem sich Ihre Google Cloud Storage Instanz befindet.
Datentyp
string
Standardwert
""
Hinweise
Die ID des Projekts, in dem sich Ihre Google Cloud Storage Instanz befindet. Sie finden diesen Wert, indem Sie zur Google Cloud Console gehen und oben links auf dem Bildschirm auf den Projektnamen klicken. Die Projekt-ID wird in der ID-Spalte des entsprechenden Projekts angezeigt.
OAuth
Dieser Abschnitt enthält eine vollständige Liste der OAuth-Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
InitiateOAuth | Legen Sie diese Eigenschaft fest, um den Prozess zum Abrufen oder Aktualisieren des OAuth-Zugriffstokens beim Herstellen einer Verbindung zu starten. |
OAuthClientId | Die Client-ID, die zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren. |
OAuthClientSecret | Das Client-Geheimnis, das zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren. |
OAuthAccessToken | Der Zugriffstoken für die Verbindung mittels OAuth. |
OAuthSettingsLocation | Der Speicherort der Einstellungsdatei, in der OAuth-Werte gespeichert werden, wenn InitiateOAuth auf GETANDREFRESH oder REFRESH gesetzt ist. Alternativ können Sie diesen Speicherort im Speicher halten, indem Sie einen Wert angeben, der mit beginnt 'memory://' . |
CallbackURL | Die OAuth-Rückruf URL, zu der bei der Authentifizierung zurückgekehrt werden soll. Dieser Wert muss mit der Rückruf-URL übereinstimmen, die Sie in Ihren App-Einstellungen angeben. |
OAuthVerifier | Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode. |
OAuthRefreshToken | Das OAuth-Aktualisierungstoken für das entsprechende OAuth-Zugriffstoken. |
OAuthExpiresIn | Die Lebensdauer des OAuth AccessToken in Sekunden. |
OAuthTokenTimestamp | Der Unix-Epochenzeitstempel in Millisekunden, als das aktuelle Zugriffstoken erstellt wurde. |
OAuth initiieren
Legen Sie diese Eigenschaft fest, um den Prozess zum Abrufen oder Aktualisieren des OAuth-Zugriffstokens beim Herstellen einer Verbindung zu starten.
Mögliche Werte
OFF
, GETANDREFRESH
, REFRESH
Datentyp
string
Standardwert
OFF
Hinweise
Folgende Optionen stehen zur Verfügung:
OFF
: Gibt an, dass der OAuth-Flow vollständig vom Benutzer gehandhabt wird. Zur Authentifizierung ist ein OAuthAccessToken erforderlich.GETANDREFRESH
: Gibt an, dass der gesamte OAuth-Flow vom Connector verarbeitet wird. Wenn derzeit kein Token vorhanden ist, wird es durch eine entsprechende Aufforderung an den Benutzer über den Browser abgerufen. Wenn ein Token vorhanden ist, wird es bei Bedarf aktualisiert.REFRESH
: Gibt an, dass der Connector nur das Aktualisieren des OAuthAccessToken übernimmt. Der Benutzer wird vom Connector nie aufgefordert, sich über den Browser zu authentifizieren. Der Benutzer muss zunächst das Abrufen des OAuthAccessToken und des OAuthRefreshToken übernehmen.
OAuthClientId
Die Client-ID, die zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren.
Datentyp
string
Standardwert
""
Hinweise
Im Rahmen der Registrierung einer OAuth-Anwendung erhalten Sie die OAuthClientId
-Wert, manchmal auch Consumer-Schlüssel genannt, und ein Client-Geheimnis, das OAuthClientSecret.
OAuthClientSecret
Das Client-Geheimnis, das zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren.
Datentyp
string
Standardwert
""
Hinweise
Im Rahmen der Registrierung einer OAuth-Anwendung erhalten Sie die OAuthClientId, auch Consumer-Schlüssel genannt. Sie erhalten außerdem ein Client-Geheimnis, auch Consumer-Geheimnis genannt. Legen Sie das Client-Geheimnis im OAuthClientSecret
Eigentum.
OAuth-Zugriffstoken
Der Zugriffstoken für die Verbindung per OAuth.
Datentyp
string
Standardwert
""
Hinweise
Der OAuthAccessToken
Eigenschaft wird für die Verbindung über OAuth verwendet. Die OAuthAccessToken
wird im Rahmen des Authentifizierungsprozesses vom OAuth-Server abgerufen. Es hat ein serverabhängiges Timeout und kann zwischen Anfragen wiederverwendet werden.
Das Zugriffstoken wird anstelle Ihres Benutzernamens und Passworts verwendet. Das Zugriffstoken schützt Ihre Anmeldeinformationen, indem es sie auf dem Server speichert.
OAuthSettingsLocation
Der Speicherort der Einstellungsdatei, in der OAuth-Werte gespeichert werden, wenn InitiateOAuth auf GETANDREFRESH oder REFRESH eingestellt ist. Alternativ können Sie diesen Speicherort im Speicher halten, indem Sie einen Wert angeben, der mit beginnt 'memory://'
.
Datentyp
string
Standardwert
%APPDATA%\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 Anmeldeinformationen außerhalb des aktuellen Prozesses beizubehalten, müssen Sie die Anmeldeinformationen vor dem Schließen der Verbindung manuell speichern. Auf diese Weise können Sie sie in der Verbindung festlegen, wenn der Prozess erneut gestartet wird. Sie können OAuth-Eigenschaftswerte mit einer Abfrage an abrufen sys_connection_props
Systemtabelle. Wenn mehrere Verbindungen mit denselben Anmeldeinformationen bestehen, werden die Eigenschaften aus der zuvor geschlossenen Verbindung gelesen.
Der Standardspeicherort ist „%APPDATA%\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
http://127.0.0.1/
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.
OAuthVerifier
Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode.
Datentyp
string
Standardwert
""
Hinweise
Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode. Dieser kann auf Systemen verwendet werden, auf denen kein Browser gestartet werden kann, z. B. auf Headless-Systemen.
Authentifizierung auf Headless-Maschinen
Siehe, um die zu erhalten OAuthVerifier
Wert.
OAuthSettingsLocation festlegen zusammen mit OAuthVerifier
. Beim Verbinden tauscht der Connector die OAuthVerifier
für die OAuth-Authentifizierungstoken und speichert sie verschlüsselt am angegebenen Speicherort. Setzen Sie InitiateOAuth zu GETANDREFRESH, um den Austausch zu automatisieren.
Sobald die OAuth-Einstellungsdatei generiert wurde, können Sie entfernen OAuthVerifier
aus den Verbindungseigenschaften und verbinden Sie sich mit OAuthSettingsLocation festgelegt.
Um die OAuth-Tokenwerte automatisch zu aktualisieren, legen Sie OAuthSettingsLocation fest und setzen Sie zusätzlich InitiateOAuth zum AKTUALISIEREN.
OAuthRefreshToken
Das OAuth-Aktualisierungstoken für das entsprechende OAuth-Zugriffstoken.
Datentyp
string
Standardwert
""
Hinweise
Der OAuthRefreshToken
Eigenschaft wird verwendet, um den OAuthAccessToken zu aktualisieren bei Verwendung der OAuth-Authentifizierung.
OAuthLäuftAbIn
Die Lebensdauer des OAuth AccessToken in Sekunden.
Datentyp
string
Standardwert
""
Hinweise
Mit OAuthTokenTimestamp kombinieren, um zu bestimmen, wann der AccessToken abläuft.
OAuthTokenTimestamp
Der Unix-Epochenzeitstempel in Millisekunden, als das aktuelle Zugriffstoken erstellt wurde.
Datentyp
string
Standardwert
""
Hinweise
Kombinieren Sie es mit OAuthExpiresIn, um zu bestimmen, wann das AccessToken abläuft.
JWT OAuth
Dieser Abschnitt enthält eine vollständige Liste der JWT OAuth-Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
OAuthJWTCert | Der JWT-Zertifikatspeicher. |
OAuthJWTCertType | Der Typ des Schlüsselspeichers, der das JWT-Zertifikat enthält. |
OAuthJWTCertPassword | Das Passwort für das OAuth JWT-Zertifikat. |
OAuthJWTCertSubject | Der Betreff des OAuth-JWT-Zertifikats. |
OAuthJWTIssuer | Der Herausgeber des Java Web Token. |
OAuthJWTSubject | Das Benutzersubjekt, für das die Anwendung delegierten Zugriff anfordert. |
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.
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. |
GOOGLEJSON | Der Zertifikatsspeicher ist der Name einer JSON-Datei, die die Dienstkontoinformationen enthält. Nur gültig bei Verbindung mit einem Google-Dienst. |
GOOGLEJSONBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge, die das JSON des Dienstkontos enthält. Nur gültig bei Verbindung mit einem Google-Dienst. |
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.
Dies ist nicht erforderlich, wenn GOOGLEJSON OAuthJWTCertType verwendet wird. Google JSON-Schlüssel sind nicht verschlüsselt.
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.
OAuthJWTIssuisse
Der Herausgeber des Java Web Token.
Datentyp
string
Standardwert
""
Hinweise
Der Aussteller des Java Web Token. Geben Sie den Wert der Email Adresse eines delegierten Benutzers ein.
Dies ist bei Verwendung des GOOGLEJSON OAuthJWTCertType nicht erforderlich. Google JSON-Schlüssel enthalten eine Kopie des Ausstellerkontos.
Der Aussteller des Java Web Token. Geben Sie den Wert der Email Adresse eines delegierten Benutzers ein.
Dies ist bei Verwendung des GOOGLEJSON OAuthJWTCertType nicht erforderlich. Google JSON-Schlüssel enthalten eine Kopie des Ausstellerkontos.
OAuthJWT-Betreff
Das Benutzersubjekt, für das die Anwendung delegierten Zugriff anfordert.
Datentyp
string
Standardwert
""
Hinweise
Der Benutzer, für den die Anwendung delegierten Zugriff anfordert. Geben Sie den Wert der Email Adresse des Dienstkontos ein.
Der Benutzer, für den die Anwendung delegierten Zugriff anfordert. Geben Sie den Wert der Email Adresse des Dienstkontos ein.
SSL
Dieser Abschnitt enthält eine vollständige Liste der SSL-Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
SSLServerCert | Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL. |
SSLServerCert
Das vom Server zu akzeptierende Zertifikat bei einer Verbindung 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. |
Standort
Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren.
Datentyp
string
Standardwert
%APPDATA%\Google Cloud Storage 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%\ Google Cloud Storage Data Provider\Schema" mit %APPDATA%
wird auf das Konfigurationsverzeichnis des Benutzers eingestellt:
Plattform | %APPDATA% |
---|---|
Windows | Der Wert der Umfeld APPDATA |
Mac | ~/Bibliothek/Anwendungsunterstützung |
Linux | ~/.config |
DurchsuchbareSchemas
Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Datentyp
string
Standardwert
""
Hinweise
Das Auflisten der Schemata aus Datenbanken kann aufwändig sein. Die Bereitstellung einer Liste von Schemata in der Verbindungszeichenfolge verbessert die Leistung.
Tabellen
Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA,TabelleB,TabelleC.
Datentyp
string
Standardwert
""
Hinweise
Das Auflisten der Tabellen aus einigen Datenbanken kann teuer sein. Die Bereitstellung einer Liste von Tabellen in der Verbindungszeichenfolge verbessert die Leistung des Connectors.
Diese Eigenschaft kann auch als Alternative zum automatischen Auflisten von Ansichten verwendet werden, wenn Sie bereits wissen, mit welchen Sie arbeiten möchten, und es sonst zu viele wären.
Geben Sie die gewünschten Tabellen in einer durch Kommas getrennten Liste an. Jede Tabelle sollte ein gültiger SQL-Bezeichner sein, wobei alle Sonderzeichen mit eckigen Klammern, Anführungszeichen oder Backticks maskiert werden. Beispiel: Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Beachten Sie, dass Sie beim Herstellen einer Verbindung zu einer Datenquelle mit mehreren Schemata oder Katalogen den vollqualifizierten Namen der Tabelle in dieser Eigenschaft angeben müssen, wie im letzten Beispiel hier, um Mehrdeutigkeiten zwischen Tabellen zu vermeiden, die in mehreren Katalogen oder Schemata vorhanden sind.
Ansichten
Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA,AnsichtB,AnsichtC.
Datentyp
string
Standardwert
""
Hinweise
Das Auflisten der Ansichten aus einigen Datenbanken kann teuer sein. Die Bereitstellung einer Liste von Ansichten in der Verbindungszeichenfolge verbessert die Leistung des Connectors.
Diese Eigenschaft kann auch als Alternative zum automatischen Auflisten von Ansichten verwendet werden, wenn Sie bereits wissen, mit welchen Sie arbeiten möchten, und es sonst zu viele wären.
Geben Sie die gewünschten Ansichten in einer durch Kommas getrennten Liste an. Jede Ansicht sollte ein gültiger SQL-Bezeichner sein, wobei alle Sonderzeichen mit eckigen Klammern, Anführungszeichen oder Backticks maskiert werden. Beispiel: Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Beachten Sie, dass Sie beim Herstellen einer Verbindung zu einer Datenquelle mit mehreren Schemata oder Katalogen den vollqualifizierten Namen der Tabelle in dieser Eigenschaft angeben müssen, wie im letzten Beispiel hier, um Mehrdeutigkeiten zwischen Tabellen zu vermeiden, die in mehreren Katalogen oder Schemata vorhanden sind.
Verschiedenes
Dieser Abschnitt enthält eine vollständige Liste verschiedener Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
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. |
PseudoColumns | Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht. |
SimpleUploadLimit | Diese Einstellung gibt den Schwellenwert in Bytes an, oberhalb dessen der Anbieter einen mehrteiligen Upload durchführt, anstatt alles in einer Anfrage hochzuladen. |
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. |
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. |
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. „*=*“.
SimpleUploadLimit
Diese Einstellung gibt den Schwellenwert in Bytes an, oberhalb dessen der Anbieter einen mehrteiligen Upload durchführt, anstatt alles in einer Anfrage hochzuladen.
Datentyp
string
Standardwert
5242880
Hinweise
Der Standardwert beträgt 5242880 Bytes. Der Mindestwert für diese Eigenschaft beträgt 262144 Bytes.
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 Buckets WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
Verwenden Sie UserDefinedViews
Verbindungseigenschaft, um den Speicherort Ihrer JSON-Konfigurationsdatei anzugeben. Beispiel:
"UserDefinedViews", C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json
Beachten Sie, dass der angegebene Pfad nicht in Anführungszeichen steht.