Übersicht der Node.js-Optionen¶
Beim Erstellen eines neuen Connection
-Objekts übergeben Sie ein JavaScript-Objekt, das die Optionen für die Verbindung angibt (z. B. Ihren Kontobezeichner, Ihren Benutzernamen usw.). In den folgenden Abschnitten werden die Optionen beschrieben, die Sie einstellen können. Um eine Option einzustellen, geben Sie den Optionsnamen als Eigenschaftsnamen im JavaScript-Objekte an.
Konnektivitätsoptionen
Andere Optionen
Erforderliche Verbindungsoptionen¶
account
Ihr Kontobezeichner.
region
(Veraltet)ID der Region, in der sich Ihr Konto befindet.
Bemerkung
Diese Option ist veraltet und wird hier nur noch aus Gründen der Abwärtskompatibilität verwendet. Snowflake empfiehlt den Übergang zur Einbettung der Region in den Kontobezeichner, wie unter Verwenden eines Konto-Locators als Bezeichner beschrieben, etwa wie folgt.
var connection = snowflake.createConnection({ account: "myaccount.us-east-2", username: "myusername", password: "mypassword" });
Zusätzlich müssen Sie die Optionen für die Authentifizierung am Server angeben.
Authentifizierungsoptionen¶
application
Gibt den Namen der Clientanwendung an, die eine Verbindung zu Snowflake herstellt.
authenticator
Gibt den Authentifikator an, der für die Überprüfung der Anmeldeinformationen des Benutzers verwendet werden soll. Sie können dies auf einen der folgenden Werte einstellen:
Wert
Beschreibung
SNOWFLAKE
Verwenden des internen Snowflake-Authentifikators. Sie müssen auch die Option
password
einstellen.EXTERNALBROWSER
Verwenden Sie Ihren Webbrowser zur Authentifizierung mit Okta, AD FS oder einem anderen SAML 2.0-kompatiblen Identitätsanbieter (IdP), der für Ihr Konto definiert ist.
https://<Name_des_Okta-Kontos>.okta.com
OAUTH
Verwenden Sie OAuth für die Authentifizierung. Sie müssen auch die Option
token
auf das OAuth-Token setzen (siehe unten).SNOWFLAKE_JWT
Verwenden der Schlüsselpaar-Authentifizierung Siehe Verwenden von Schlüsselpaar-Authentifizierung und Schlüsselpaar-Rotation.
Der Standardwert ist
SNOWFLAKE
.Weitere Informationen zur Authentifizierung finden Sie unter Verwenden und Verwalten der Verbundauthentifizierung und Clients, Treiber und Konnektoren.
username
Der Anmeldename für Ihren Snowflake-Benutzer oder Ihren Identitätsanbieter (z. B. Ihr Anmeldename für Okta). Legen Sie diese Option fest, wenn Sie die Option
authenticator
aufSNOWFLAKE
,SNOWFLAKE_JWT
oder auf den Okta-URL-Endpunkt Ihres Okta-Kontos (z. B.https://<Name_des_Okta-Kontos>.okta.com
) gesetzt haben. Wenn Sie die Optionauthenticator
nicht gesetzt haben, müssen Sie diesen Wert festlegen.password
Kennwort für den Benutzer. Legen Sie diese Option fest, wenn Sie die Option
authenticator
aufSNOWFLAKE
oder auf den Okta-URL-Endpunkt Ihres Okta-Kontos (z. B.https://<Name_des_Okta-Kontos>.okta.com
) gesetzt haben oder wenn Sie die Optionauthenticator
nicht gesetzt haben.
token
Gibt das OAuth-Token an, das für die Authentifizierung verwendet werden soll. Legen Sie diese Option fest, wenn Sie die Option
authenticator
aufOAUTH
gesetzt haben.privateKey
Privater Schlüssel (im PEM-Format) für die Schlüsselpaar-Authentifizierung. Weitere Details dazu finden Sie unter Verwenden von Schlüsselpaar-Authentifizierung und Schlüsselpaar-Rotation.
privateKeyPath
Gibt den lokalen Pfad zu der erstellten Datei mit dem privaten Schlüssel an (z. B
rsa_key.p8
). Weitere Details dazu finden Sie unter Verwenden von Schlüsselpaar-Authentifizierung und Schlüsselpaar-Rotation.privateKeyPass
Gibt die Kennung zum Entschlüsseln der privaten Schlüsseldatei an, wenn die Datei verschlüsselt ist. Weitere Details dazu finden Sie unter Verwenden von Schlüsselpaar-Authentifizierung und Schlüsselpaar-Rotation.
Zusätzliche Verbindungsoptionen¶
accessUrl
Gibt einen vollqualifizierten Endpunkt für die Verbindung mit Snowflake an.
accessUrl
enthält das vollständige Schema und den Host sowie eine optionale Portnummer, ähnlich wie beihttps://myaccount.us-east-1.snowflakecomputing.com
.Bemerkung
Wenn Sie die Option
accessUrl
verwenden, wird der in der Optionaccount
angegebene Wert nicht verwendet.browserActionTimeout
Gibt die Timeouts in Millisekunden für Browser-Aktivitäten im Zusammenhang mit der SSO-Authentifizierung an. Der Standardwert ist 120.000 (Millisekunden).
clientSessionKeepAlive
Standardmäßig kommt es bei Clientverbindungen ca. 3–4 Stunden nach der Ausführung der letzten Abfrage zu einem Timeout.
Wenn die Option
clientSessionKeepAlive
auftrue
gesetzt ist, bleibt die Verbindung des Clients zum Server auf unbestimmte Zeit bestehen, auch wenn keine Abfragen ausgeführt werden.Die Standardeinstellung dieser Option ist
false
.Wenn Sie die Option auf
true
setzen, müssen Sie sicherstellen, dass Ihr Programm die Verbindung zum Server explizit trennt, sobald das Programm abgeschlossen ist. Trennen Sie erst die Verbindung, bevor Sie das Programm beenden.clientSessionKeepAliveHeartbeatFrequency
(Gilt nur, wenn
clientSessionKeepAlive
den Wert „true“ hat)Gibt die Frequenz (das Wiederholungsintervall in Sekunden) von Taktmeldungen an.
Sie können sich die Taktmeldung einer Verbindung wie einen Ersatz für eine Abfrage mit Neustart des Timeout-Countdowns der Verbindung vorstellen. Anders ausgedrückt: Wenn die Verbindung nach mindestens 4 Stunden Inaktivität abbrechen würde, setzt der Takt den Timer zurück, sodass das Timeout frühestens 4 Stunden nach dem letzten Takt (oder der letzten Abfrage) stattfindet.
Der Standardwert ist 3.600 Sekunden (eine Stunde). Der gültige Wertebereich liegt zwischen 900 und 3.600. Da Timeouts normalerweise nach frühestens 4 Stunden auftreten, reicht normalerweise ein Takt von einmal pro Stunde, damit die Verbindung aufrechterhalten bleibt. Taktintervalle von weniger als 3.600 Sekunden sind selten notwendig oder nützlich.
database
Die Standarddatenbank, die nach dem Verbinden für die Sitzung verwendet werden soll.
host
Host-Adresse, mit der sich der Treiber verbinden soll.
keepAlive
Gibt an, ob unmittelbar nach dem Empfang einer neuen Verbindungsanforderung auf dem Socket die Funktionalität zum Aufrechterhalten der Verbindung (Keep alive) aktiviert werden soll.
Standardmäßig erstellt das HTTP-Protokoll für jede Anfrage eine neue TCP-Verbindung. Wenn dieser Parameter aktiviert ist, kann der Treiber Verbindungen für mehrere Anfragen wiederverwenden, anstatt für jede Anfrage eine neue Verbindung zu erstellen.
Der Standardwert ist
true
.noProxy
Gibt die Listen der Hosts an, mit denen sich der Treiber unter Umgehung des Proxyservers direkt verbinden soll (z. B.
*.amazonaws.com
zur Umgehung des Amazon S3-Zugriffs). Bei mehreren Hosts werden die Hostnamen durch ein Pipe-Symbol (|
) getrennt. Sie können auch ein Sternchen (*) als Platzhalter verwenden. Beispiel:noProxy: "*.amazonaws.com|*.my_company.com"
proxyHost
Gibt den Hostnamen eines authentifizierten Proxyservers an.
proxyPassword
Gibt das Kennwort des Benutzers an, der von
proxyUser
festgelegt wurde.proxyPort
Gibt den Port eines authentifizierten Proxyservers an.
proxyProtocol
Gibt das Protokoll an, das für die Verbindung zum authentifizierten Proxyserver verwendet wird. Verwenden Sie diese Eigenschaft, um das HTTP-Protokoll anzugeben:
http
oderhttps
.proxyUser
Gibt den Benutzernamen an, der für die Verbindung mit einem authentifizierten Proxyserver verwendet wird.
role
Die Standardsicherheitsrolle, die nach dem Verbinden für die Sitzung verwendet werden soll.
schema
Das Standardschema, das nach dem Verbinden für die Sitzung verwendet werden soll.
timeout
Anzahl der Millisekunden, in denen die Verbindung aufrechterhalten wird, ohne dass eine Antwort erfolgt. Standardwert: 60.000 (1 Minute).
warehouse
Das standardmäßige virtuelle Warehouse, das nach dem Verbinden für die Sitzung verwendet werden soll. Wird zum Ausführen von Abfragen, Laden von Daten usw. verwendet.
Bei einigen Verbindungsoptionen wird davon ausgegangen, dass das angegebene Datenbankobjekt (Datenbank, Schema, Warehouse oder Rolle) bereits im System vorhanden ist. Wenn das angegebene Objekt nicht vorhanden ist, wird während der Verbindung kein Standard festgelegt.
Nach dem Verbinden können alle optionalen Verbindungsoptionen auch über den Befehl USE <Objekt> eingestellt oder überschrieben werden.
Konfigurationsoptionen¶
arrayBindingThreshold
Legt die maximale Anzahl der Bindungen fest, die der Treiber bei einer Masseneinfügeoperation verwendet. Der Standardwert ist 100.000 (100K).
resultPrefetch
Anzahl der Threads, die Clients zum Vorabrufen großer Resultsets verwenden. Gültige Werte: 1–10.
rowMode
Gibt an, wie Ergebnisse zurückgegeben werden sollen, die doppelte Spaltennamen enthalten. Die Werte umfassen:
array
: gibt das Resultset als Array zurück, einschließlich doppelter Spaltennamen.object
: gibt das Resultset als Objekt zurück, wobei doppelte Spaltennamen weggelassen werden.object_with_renamed_duplicated_columns
: gibt das Resultset als Objekt zurück, wobei Suffixe an doppelte Namen angehängt werden, um sie eindeutig zu machen.
Der Standardwert ist
object
.
xmlParserConfig-Optionen¶
Ab Version 1.7.0 des Treibers können Sie die folgenden fast-xml-parser-Bibliothekskonfigurationsoptionen verwenden, um festzulegen, wie der Treiber bei der Abfrage von Spalten mit XML-Inhalt die XML-Dokumentattribute verarbeitet.
Standardmäßig ignoriert der Node.js-Treiber die XML-Elementattribute, wenn von einer Abfrage XML-Daten zurückgegeben werden. Im folgenden XML-Inhalt zum Beispiel enthält das Element <animal>
ein Attribut id
:
<exhibit name="Polar Bear Plunge">
<animal id="000001">
<scientificName>Ursus maritimus</scientificName>
<englishName>Polar Bear</englishName>
<name>Kalluk</name>
</animal>
<animal id="000002">
<scientificName>Ursus maritimus</scientificName>
<englishName>Polar Bear</englishName>
<name>Chinook</name>
</animal>
</exhibit>
Wenn der Node.js-Treiber das Resultset zurückgibt, wird das Attribut id
standardmäßig ignoriert, und es wird die folgende Ausgabe zurückgegeben. Beachten Sie, dass die Attributnamen und -werte nicht enthalten sind.
{
exhibit: {
animal: [
{
"scientificName": "Ursus maritimus",
"englishName": "Polar Bear",
"name": "Kalluk",
},
{
"scientificName": "Ursus maritimus",
"englishName": "Polar Bear",
"name": "Chinook"
}
]
}
}
Weitere Informationen zum Einstellen dieser Optionen finden Sie unter Parsen von XML-Daten.
Um zu verdeutlichen, wie sich die folgenden Optionen darauf auswirken, wie der Treiber die XML-Daten parst, wird für jede Option beschrieben, welche Auswirkungen sie in diesem Beispiel hat.
ignoreAttributes
Ob XML-Attribute beim Parsen ignoriert werden sollen. Wenn Sie die anderen Parser-Optionen verwenden möchten, müssen Sie
ignoreAttributes: false
einstellen.Standard:
true
Wenn
false
eingestellt ist, gibt der Treiber die Ausgabe wie folgt zurück. Beachten Sie, dass das Attributid
jetzt in der Ausgabe enthalten ist (standardmäßig stellt der Treiber den Attributnamen das Zeichen@_
voran):{ exhibit: { animal: [ { "scientificName": "Ursus maritimus", "englishName": "Polar Bear", "name": "Kalluk", "@_id": "000001" }, { "scientificName": "Ursus maritimus", "englishName": "Polar Bear", "name": "Chinook", "@_id": "000002" } ], "@_name": "Polar Bear Plunge" } }
alwaysCreateTextNode
Ob eine Eigenschaft mit dem Tag-Namen erstellt und der Wert direkt zugewiesen werden soll.
Standard:
false
Wenn
true
eingestellt ist, gibt der Treiber die folgende Ausgabe zurück:{ exhibit: { animal: [ { "scientificName": { "#text": "Ursus maritimus" }, "englishName": { "#text": "Polar Bear" }, "name": { "#text": "Kalluk" }, "@_id": "000001" }, { "scientificName": { "#text": "Ursus maritimus" }, "englishName": { "#text": "Polar Bear" }, "name": { "#text": "Chinook" }, "@_id": "000002" } "@_name": "Polar Bear Plunge" ] } }
attributeNamePrefix
Zeichenfolge, die Attributnamen vorangestellt werden soll.
Standard: „@_“
Wenn
""
eingestellt ist, um kein Präfix für Attributnamen anzugeben, gibt der Treiber die folgende Ausgabe zurück:{ exhibit: { animal: [ { "scientificName": "Ursus maritimus", "englishName": "Polar Bear", "name": "Kalluk", "id": "000001" }, { "scientificName": "Ursus maritimus", "englishName": "Polar Bear", "name": "Chinook", "id": "000002" } ], "name": "Polar Bear Plunge" } }
attributesGroupName
Gruppiert alle Attribute eines Tags unter einem bestimmten Eigenschaftsnamen.
Standard: nicht gesetzt
Wenn
@@
eingestellt ist, um alle Tag-Attribute in einem Element namens@@,
zu gruppieren, gibt der Treiber die folgende Ausgabe zurück:{ exhibit: { "@@": { "@_name": "Polar Bear Plunge" } animal: [ { "@@": { "@_id": "000001" }, "scientificName": "Ursus maritimus", "englishName": "Polar Bear", "name": "Kalluk" }, { "@@": { "@_id": "000002" }, "scientificName": "Ursus maritimus", "englishName": "Polar Bear", "name": "Chinook" } ] } }