Référence des options Node.js¶
Lors de la construction d’un nouvel objet Connection
vous transmettez un objet JavaScript qui spécifie les options de la connexion (par exemple votre identificateur de compte, votre nom d’utilisateur, etc.). Les sections suivantes décrivent les options que vous pouvez définir. Pour définir une option, spécifiez le nom de l’option comme nom de propriété dans l’objet JavaScript.
Options de connexion
Autres options
Options de connexion requises¶
account
Votre identificateur de compte.
region
(Obsolète)Spécifie l’ID de la région où se trouve votre compte.
Note
Cette option est obsolète et n’est incluse ici que pour des raisons de rétrocompatibilité. Snowflake recommande de passer à l’intégration de la région dans l’identificateur du compte, comme décrit dans Utilisation d’un localisateur de compte comme identificateur, de la manière suivante.
var connection = snowflake.createConnection({ account: "myaccount.us-east-2", username: "myusername", password: "mypassword" });
En outre, vous devez spécifier les options d’authentification au serveur.
Options d’authentification¶
application
Spécifie le nom de l’application client qui se connecte à Snowflake.
authenticator
Spécifie l’authentificateur à utiliser pour vérifier les identifiants de connexion utilisateur. Vous pouvez définir cette option sur l’une des valeurs suivantes :
Valeur
Description
SNOWFLAKE
Utilisez l’authentificateur interne Snowflake. Vous devez également définir l’option
password
.EXTERNALBROWSER
Utilisez votre navigateur Web pour vous authentifier avec Okta, des ADFS ou tout autre fournisseur d’identification conforme à SAML 2.0 (IdP) qui a été défini pour votre compte.
https://<nom_compte_okta>.okta.com
OAUTH
Utilisez OAuth pour l’authentification. Vous devez également définir l’option
token
sur le jeton OAuth (voir ci-dessous).SNOWFLAKE_JWT
Utilisez l’authentification par paire de clés. Voir Utiliser l’authentification par paire de clés et la rotation de paires de clés.
USERNAME_PASSWORD_MFA
Utilisez l’authentification multifactorielle (MFA). Voir Utiliser un code d’accès de MFA.
La valeur par défaut est
SNOWFLAKE
.Pour plus d’informations sur l’authentification, voir Gestion/Utilisation de l’authentification fédérée et Clients, pilotes et connecteurs.
username
Le nom de connexion de votre utilisateur Snowflake ou de votre fournisseur d’identité (par exemple, votre nom de connexion pour Okta). Définissez cette option si vous définissez l’option
authenticator
surSNOWFLAKE
,SNOWFLAKE_JWT
ou le point de terminaison de l’URL Okta de votre compte Okta (par ex.https://<nom_compte_okta>.okta.com
). Si vous ne définissez pas l’optionauthenticator
, vous devez définir cette valeur.password
Mot de passe de l’utilisateur. Définissez cette option si vous définissez l’option
authenticator
surSNOWFLAKE
ou le point de terminaison de l” URL Okta pour votre compte Okta (par ex.https://<nom_compte_okta>.okta.com
) ou si vous avez laissé l’optionauthenticator
non définie.
token
Spécifie le jeton OAuth à utiliser pour l’authentification. Définissez cette option si vous avez défini l’option
authenticator
surOAUTH
.privateKey
Spécifie la clé privée (au format PEM) pour l’authentification par paire de clés. Pour plus de détails, voir Utiliser l’authentification par paire de clés et la rotation de paires de clés.
privateKeyPath
Spécifie le chemin local au fichier de clé privée (par exemple,
rsa_key.p8
). Pour plus de détails, voir Utiliser l’authentification par paire de clés et la rotation de paires de clés.privateKeyPass
Spécifie le code d’accès pour déchiffrer le fichier de la clé privée, si le fichier est chiffré. Pour plus de détails, voir Utiliser l’authentification par paire de clés et la rotation de paires de clés.
passcode
Spécifie le
passcode
fourni par Duo lorsque vous utilisez l’authentification multifactorielle (MFA) pour vous connecter. Pour plus de détails, voir Utiliser un code d’accès de MFA.passcodeInPassword
Spécifie si le
passcode
MFA est intégré dans le mot de passe de connexion. Sitrue
, le code d’accès MFA est ajouté à la fin depassword
. Par défaut :false
. Pour plus de détails, voir Utiliser un code d’accès de MFA.
Options de connexion supplémentaires¶
accessUrl
Spécifie un point de terminaison entièrement qualifié pour se connecter à Snowflake. L”
accessUrl
comprend le schéma complet et l’hôte, ainsi qu’un numéro de port facultatif, similaire àhttps://myaccount.us-east-1.snowflakecomputing.com
.Note
Lors de l’utilisation de l’option
accessUrl
, la valeur spécifiée dans l’optionaccount
n’est pas utilisée.browserActionTimeout
Spécifie le délai d’attente, en millisecondes, pour les activités du navigateur liées à l’authentification SSO. La valeur par défaut est de 120 000 (millisecondes).
clientConfigFile
Chemin d’accès au fichier de configuration du client associé à la fonction jounalisation facile.
clientRequestMFAToken
Définit si le pilote utilise le jeton MFA dans le stockage d’identifiants de connexion local pour l’authentification au lieu de demander un nouveau jeton au serveur. Par défaut :
false
.clientStoreTemporaryCredential
Définit si le pilote utilise le jeton SSO dans le stockage d’identifiants de connexion local pour l’authentification au lieu de demander un nouveau jeton au serveur. Par défaut :
false
.clientSessionKeepAlive
Par défaut, les connexions client expirent généralement environ 3 à 4 heures après l’exécution de la requête la plus récente.
Si l’option
clientSessionKeepAlive
est définie surtrue
, la connexion du client au serveur sera maintenue indéfiniment, même si aucune requête n’est exécutée.Le paramètre par défaut de cette option est
false
.Si vous définissez cette option sur
true
, assurez-vous que votre programme se déconnecte explicitement du serveur à la fin du programme. Ne quittez pas sans vous déconnecter.clientSessionKeepAliveHeartbeatFrequency
(Cette option ne s’applique que lorsque
clientSessionKeepAlive
est true)Définit la fréquence (l’intervalle en secondes) entre les messages de pulsation.
Vous pouvez vaguement penser qu’un message de pulsation de connexion se substitue à une requête et redémarre le compte à rebours du délai d’attente pour la connexion. En d’autres termes, si la connexion expire après au moins 4 heures d’inactivité, la pulsation réinitialise le chronomètre afin que l’expiration ne se produise pas au moins 4 heures après la dernière pulsation (ou requête).
La valeur par défaut est de 3 600 secondes (une heure). La plage de valeurs valide est 900 - 3600. Comme les expirations surviennent généralement après au moins 4 heures, une pulsation toutes les heures est normalement suffisante pour maintenir la connexion en vie. Des intervalles de pulsation inférieurs à 3 600 secondes sont rarement nécessaires ou utiles.
credentialCacheDir
Définit le répertoire dans lequel stocker le cache des identifiants de connexion lorsque la mise en cache des jetons est activée. Par défaut : le répertoire
$HOME
de l’utilisateur.database
La base de données par défaut à utiliser pour la session après la connexion.
disableSamlUrlCheck
Indique s’il faut désactiver le contrôle de validation d’une réponse SAML. Par défaut :
false
.host
Adresse de l’hôte à laquelle le pilote doit se connecter.
keepAlive
Spécifie si la fonctionnalité de maintien de la session doit être activée sur le socket immédiatement après la réception d’une nouvelle demande de connexion.
Par défaut, le protocole HTTP crée une nouvelle connexion TCP pour chaque requête. L’activation de ce paramètre permet au pilote de réutiliser les connexions pour plusieurs requêtes au lieu de créer de nouvelles connexions pour chaque requête.
La valeur par défaut est
true
.noProxy
Spécifie les listes des hôtes auxquels le pilote doit se connecter directement, sans passer par le serveur proxy (par ex.
*.amazonaws.com
pour contourner l’accès à Amazon S3). Pour plusieurs hôtes, séparez les noms d’hôtes par un symbole de barre verticale (|
). Vous pouvez également utiliser un astérisque comme caractère générique. Par exemple :noProxy: "*.amazonaws.com|*.my_company.com"
proxyHost
Spécifie le nom d’hôte d’un serveur proxy authentifié.
proxyPassword
Indique le mot de passe de l’utilisateur spécifié par
proxyUser
.proxyPort
Spécifie le port d’un serveur proxy authentifié.
proxyProtocol
Spécifie le protocole utilisé pour se connecter au serveur proxy authentifié. Utilisez cette propriété pour spécifier le protocole HTTP :
http
ouhttps
.proxyUser
Spécifie le nom d’utilisateur utilisé pour se connecter à un serveur proxy authentifié.
role
Le rôle de sécurité par défaut à utiliser pour la session après la connexion.
schema
Le schéma par défaut à utiliser pour la session après la connexion.
timeout
Nombre de millisecondes pour maintenir la connexion en vie sans réponse. Valeur par défaut : 60 000 (1 minute).
warehouse
L’entrepôt virtuel par défaut à utiliser pour la session après la connexion. Utilisé pour effectuer des requêtes, charger des données, etc.
Certaines options de connexion supposent que l’objet de base de données spécifié (base de données, schéma, entrepôt ou rôle) existe déjà dans le système. Si l’objet spécifié n’existe pas, un réglage par défaut n’est pas défini lors de la connexion.
Après la connexion, toutes les options de connexion optionnelles peuvent également être réglées ou remplacées par la commande USE <objet>.
Options de configuration¶
arrayBindingThreshold
Définit le nombre maximum de liens que le pilote utilise dans une opération d’insertion en masse. La valeur par défaut est de 100 000.
cwd
Le répertoire de travail actuel à utiliser pour les opérations GET et PUt lorsqu’il diffère du répertoire du connecteur.
representNullAsStringNull
Spécifie comment la méthode
fetchAsString
renvoie des valeurs nulles.true
(activé) : renvoie les valeurs nulles sous la forme de la chaîne « NULL ».false
(désactivé) : renvoie les valeurs nulles sous forme denull
.
Par défaut :
true
(activé)resultPrefetch
Nombre de threads à utiliser par les clients pour la préextraction de grands jeux de résultats. Valeurs valides : 1-10.
rowMode
Indique comment renvoyer les résultats qui contiennent des noms de colonnes dupliqués. Les valeurs incluent :
array
: renvoie le jeu de résultats sous forme de tableau, y compris les noms de colonnes dupliqués.object
: renvoie le jeu de résultats sous forme d’objet, en omettant les noms de colonnes dupliqués.object_with_renamed_duplicated_columns
: renvoie le jeu de résultats sous forme d’objet, tout en ajoutant des suffixes aux noms dupliqués pour les rendre uniques.
La valeur par défaut est
object
.
Options xmlParserConfig¶
À partir de la version 1.7.0 du pilote, vous pouvez utiliser les options de configuration de la bibliothèque fast-xml-parser
suivantes pour personnaliser la façon dont le pilote traite les attributs du document XML lors de l’interrogation de colonnes avec du contenu XML.
Vous pouvez télécharger fast-xml-parser.
Par défaut, le pilote Node.js ignore les attributs des éléments XML lorsqu’il renvoie des données XML à partir d’une requête. Par exemple, dans le contenu XML suivant, l’élément <animal>
comprend un 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>
Par défaut, lorsque le pilote Node.js renvoie le jeu de résultats, il ignore l’attribut id
et renvoie la sortie suivante. Vous remarquerez que les noms et les valeurs des attributs ne sont pas inclus.
{
exhibit: {
animal: [
{
"scientificName": "Ursus maritimus",
"englishName": "Polar Bear",
"name": "Kalluk",
},
{
"scientificName": "Ursus maritimus",
"englishName": "Polar Bear",
"name": "Chinook"
}
]
}
}
Pour obtenir des informations sur la définition de ces options, reportez-vous à Analyse de données XML.
Pour illustrer la façon dont les options suivantes affectent la façon dont le pilote affecte l’analyse des données XML, la description de chaque option montre comment elle affecte cet exemple.
ignoreAttributes
Indique si les attributs XML doivent être ignorés lors de l’analyse. Si vous souhaitez utiliser les autres options de l’analyseur, vous devez définir
ignoreAttributes: false
.Par défaut :
true
Lorsqu’il est défini sur
false
, le pilote renvoie la sortie comme suit. Remarquez que l’attributid
est maintenant inclus dans la sortie (par défaut, le pilote préfixe les noms d’attributs par@_
) :{ 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
Indique s’il faut créer une propriété avec le nom de la balise et lui attribuer directement la valeur.
Par défaut :
false
Lorsqu’il est défini sur
true
, le pilote renvoie la sortie comme suit :{ 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
Chaîne à ajouter aux noms d’attributs.
Valeur par défaut : « @_ »
Lorsqu’il est défini sur
""
pour spécifier l’absence de préfixe pour les noms d’attributs, le pilote renvoie la sortie comme suit :{ 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
Regroupe tous les attributs d’une balise sous un nom de propriété spécifié.
Valeur par défaut : non définie
Lorsqu’il est défini sur
@@
pour regrouper tous les attributs d’une balise dans un élément nommé@@,
, le pilote renvoie la sortie suivante :{ 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" } ] } }