SnowSQLを介した接続

このトピックでは、接続パラメーターを手動で入力してSnowflakeに接続する方法について説明します。このトピックでは、使いやすいようにデフォルトの接続を構成する方法と、代替接続設定を使用したり、複数の同時セッションを作成したりするために1つ以上の 名前付き接続 を構成する方法について説明します。

このトピックの内容:

接続構文

$ snowsql <connection_parameters>

ここで、 <接続パラメーター> は次の1つ以上です。各パラメーターの詳細については、(このトピックの) 接続パラメーターリファレンス をご参照ください。

-a, --accountname TEXT           Name assigned to your Snowflake account. Honors $SNOWSQL_ACCOUNT.
-u, --username TEXT              Username to connect to Snowflake. Honors $SNOWSQL_USER.
-d, --dbname TEXT                Database to use. Honors $SNOWSQL_DATABASE.
-s, --schemaname TEXT            Schema in the database to use. Honors $SNOWSQL_SCHEMA.
-r, --rolename TEXT              Role name to use. Honors $SNOWSQL_ROLE.
-w, --warehouse TEXT             Warehouse to use. Honors $SNOWSQL_WAREHOUSE.
-h, --host TEXT                  Host address for the connection. Honors $SNOWSQL_HOST. (Deprecated)
-p, --port INTEGER               Port number for the connection. Honors $SNOWSQL_PORT. (Deprecated)
--region TEXT                    Region. Honors $SNOWSQL_REGION. (Deprecated; use -a or --accountname instead)
-m, --mfa-passcode TEXT          Token to use for multi-factor authentication (MFA)
--mfa-passcode-in-password       Appends the MFA passcode to the end of the password.
--abort-detached-query           Aborts a query if the connection between the client and server is lost. By default, it won't abort even if the
                                 connection is lost.
--probe-connection               Test connectivity to Snowflake. This option is mainly used to print out the TLS/SSL certificate chain.
--proxy-host TEXT                (DEPRECATED. Use HTTPS_PROXY and HTTP_PROXY environment variables.) Proxy server hostname. Honors $SNOWSQL_PROXY_HOST.
--proxy-port INTEGER             (DEPRECATED. Use HTTPS_PROXY and HTTP_PROXY environment variables.) Proxy server port number. Honors $SNOWSQL_PROXY_PORT.
--proxy-user TEXT                (DEPRECATED. Use HTTPS_PROXY and HTTP_PROXY environment variables.) Proxy server username. Honors $SNOWSQL_PROXY_USER.
                                 Set $SNOWSQL_PROXY_PWD for the proxy server password.
--authenticator TEXT             Authenticator: 'snowflake', 'externalbrowser' (to use any IdP and a web browser),
                                 https://<your_okta_account_name>.okta.com (to use Okta natively), or 'oauth' to authenticate using OAuth.
-v, --version                    Shows the current SnowSQL version, or uses a specific version if provided as a value.
--noup                           Disables auto-upgrade for this run. If no version is specified for -v, the latest version in ~/.snowsql/ is used.
-D, --variable TEXT              Sets a variable to be referred by &<var>. -D tablename=CENUSTRACKONE or --variable db_key=$DB_KEY
-o, --option TEXT                Set SnowSQL options. See the options reference in the Snowflake documentation.
-f, --filename PATH              File to execute.
-q, --query TEXT                 Query to execute.
--config PATH                    Path and name of the SnowSQL configuration file. By default, ~/.snowsql/config.
-P, --prompt                     Forces a password prompt. By default, $SNOWSQL_PWD is used to set the password.
-M, --mfa-prompt                 Forces a prompt for the second token for MFA.
-c, --connection TEXT            Named set of connection parameters to use.
--single-transaction             Connects with autocommit disabled. Wraps BEGIN/COMMIT around statements to execute them as a single transaction,
                                 ensuring all commands complete successfully or no change is applied.
--private-key-path PATH          Path to private key file in PEM format used for key pair authentication. The private key file must be encrypted,
                                 and the passphrase must be specified in the environment variable SNOWSQL_PRIVATE_KEY_PASSPHRASE.
--disable-request-pooling        Disables connection pooling.
-U, --upgrade                    Force upgrade of SnowSQL to the latest version.
-K, --client-session-keep-alive  Keep the session active indefinitely, even if there is no activity from the user.
-?, --help                       Show this message and exit.

接続時のパスワードの指定

接続パラメーターを介してパスワードを渡すことはできません。パスワードは、次のいずれかの方法で指定する必要があります。

  • SnowSQL のインタラクティブプロンプトを介して入力します(パスワードのみに適用)。

  • password オプションを使用して、SnowSQL 構成ファイルで定義します。詳細については、(このトピックの) デフォルトの接続設定の構成 をご参照ください。

  • SNOWSQL_PWD 環境変数を使用して指定します。詳細については、(このトピックの) 環境変数の使用 をご参照ください。

注釈

Windows環境では、Cygwin端末でアカウント名、ユーザー名、またはパスワードの入力を求められることはありません。これは、SnowSQL がCygwin端末で TTY モードを有効化できないためです。

環境変数の使用

現在、環境変数は、パスワード、ホスト、データベースなどの一部のコマンドラインパラメーター値を事前に指定するためにのみ使用できます。環境変数は、 -D または --variable 接続パラメーターを使用して、SnowSQL を開始するときにコマンドラインで明示的に指定されない限り、SnowSQL 変数置換で使用できません。例:

Linux/macOS
$ snowsql ... -D tablename=CENUSTRACKONE --variable db_key=$DB_KEY
Windows
$ snowsql ... -D tablename=CENUSTRACKONE --variable db_key=%DB_KEY%

上記の例では、 --variabledb_key というSnowflake変数を DB_KEY 環境変数に設定します。

デフォルト接続設定の構成

接続プロセスを簡素化するために、デフォルトの接続パラメーターを構成することをお勧めします。それ以降は、Snowflakeに接続するときに、Snowflakeアカウント名、ユーザー名、およびデフォルト値として設定したその他のパラメーターを省略できます。

デフォルト設定を構成するには、次を実行します。

  1. テキストエディターで 構成 ファイルを開きます。デフォルトでは、ファイルは次の場所にあります。

    Linux/macOS

    ~/.snowsql/

    Windows

    %USERPROFILE%\.snowsql\

    注釈

    SnowSQL の起動時に --config <パス> 接続パラメーターを含めることにより、デフォルトの場所を変更できます。

  2. [connections] セクションで、以下のパラメーターのいずれかからコメント記号を削除し、正しい値を指定することにより、デフォルトの接続パラメーターを構成します。

    [connections]
    #accountname = <string>   # Account name to connect to Snowflake.
    #username = <string>      # User name in the account. Optional.
    #password = <string>      # User password. Optional.
    #dbname = <string>        # Default database. Optional.
    #schemaname = <string>    # Default schema. Optional.
    #warehousename = <string> # Default warehouse. Optional.
    #rolename = <string>      # Default role. Optional.
    #authenticator = <string> # Authenticator: 'snowflake', 'externalbrowser' (to use any IdP and a web browser),  https://<your_okta_account_name>.okta.com (to use Okta natively), 'oauth' to authenticate using OAuth.
    

    注意

    • パスワードは、 config ファイルにプレーンテキストで保存されます。アクセスを制限するには、ファイルを明示的に保護する必要があります。例えば、Linuxまたは macOS で、 chmod を実行することにより、読み取り権限のみを設定できます。

      $ chmod 700 ~/.snowsql/config
      
    • パスワードに特殊文字が含まれる場合、パスワードを一重引用符または二重引用符で囲む必要があります。

SnowCD を使用したSnowflakeへのネットワーク接続の検証

設定後、 SnowCD を使用して、Snowflakeへのネットワーク接続を評価およびトラブルシューティングできます。

初期設定プロセス中にオンデマンドで SnowCD をいつでも使用して、Snowflakeへのネットワーク接続を評価およびトラブルシューティングできます。

名前付き接続の使用

Snowflakeへの複数の同時接続を行うため、または単に接続構成の異なるセットを格納するために、1つ以上の 名前付き 接続を定義できます。

構成ファイルでの名前付き接続の定義

  1. テキストエディターで config 構成ファイルを開きます。デフォルトでは、ファイルは次の場所にあります。

    Linux/macOS

    ~/.snowsql/

    Windows

    %USERPROFILE%\.snowsql\

  2. 名前付き接続ごとに一意の名前を持つ個別の [connections] セクションを追加します。

    たとえば、次の例は、 EU (フランクフルト)地域のSnowflakeアカウントの my_example_connection という名前の接続を示しています。

    [connections.my_example_connection]
    accountname = xy12345.eu-central-1
    username = jsmith
    password = xxxxxxxxxxxxxxxxxxxx
    dbname = mydb
    schemaname = public
    warehousename = mywh
    

名前付き接続を使用したSnowflakeへの接続

-c <ストリング> (または --connection <ストリング>)接続パラメーターを使用して、名前付き接続を指定します。 <ストリング> は、 構成ファイル で定義された接続の名前です。

たとえば、 構成ファイルでの名前付き接続の定義 (このトピックの)で作成した my_example_connection 接続を使用して接続します。

$ snowsql -c my_example_connection

キーペア認証の使用

Snowflakeは一般的なユーザー名/パスワード認証ではなく、キーペア認証の使用をサポートしています。この認証方法には、2048ビット(最小)の RSA キーペアが必要です。 OpenSSLを使用して PEM (Privacy Enhanced Mail)公開/秘密キーペアを生成します。公開キーは、Snowflakeクライアントを使用するSnowflakeユーザーに割り当てられます。

公開/秘密キーペアを構成するには:

  1. ターミナルウィンドウのコマンドラインから、暗号化された秘密鍵を生成します。

    SnowSQL は暗号化されていないバージョンの秘密鍵をサポートしていないことに注意してください。

    次のコマンドを実行して、秘密鍵を生成します。

    $ openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8
    

    OpenSSL は、秘密キーファイルの暗号化に使用されるパスフレーズの入力を求めます。強力なパスフレーズを使用して秘密キーを保護することをお勧めします。このパスフレーズを安全な場所に記録します。Snowflakeに接続するときに入力します。パスフレーズは秘密キーの保護にのみ使用され、Snowflakeには送信されないことに注意してください。

    サンプル PEM 秘密キー

    -----BEGIN ENCRYPTED PRIVATE KEY-----
    MIIE6TAbBgkqhkiG9w0BBQMwDgQILYPyCppzOwECAggABIIEyLiGSpeeGSe3xHP1
    wHLjfCYycUPennlX2bd8yX8xOxGSGfvB+99+PmSlex0FmY9ov1J8H1H9Y3lMWXbL
    ...
    -----END ENCRYPTED PRIVATE KEY-----
    
  2. コマンドラインから、秘密キーを参照して公開キーを生成します。

    秘密キーが「rsa_key.p8」という名前のファイルに含まれていると仮定して、次のコマンドを使用します。

    $ openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
    

    サンプル PEM 公開キー

    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy+Fw2qv4Roud3l6tjPH4
    zxybHjmZ5rhtCz9jppCV8UTWvEXxa88IGRIHbJ/PwKW/mR8LXdfI7l/9vCMXX4mk
    ...
    -----END PUBLIC KEY-----
    
  3. 公開キーファイルと秘密キーファイルを保存用のローカルディレクトリにコピーします。ファイルへのパスを記録します。秘密キーは PKCS#8(公開キー暗号化標準)形式を使用して格納され、前の手順で指定したパスフレーズを使用して暗号化されることに注意してください。ただし、オペレーティングシステムが提供するファイル許可メカニズムを使用して、ファイルを不正アクセスから保護する必要があります。ファイルが使用されていない場合、ファイルを保護するのはユーザーの責任です。

  4. ALTER USER を使用して、Snowflakeユーザーに公開キーを割り当てます。例:

    ALTER USER jsmith SET RSA_PUBLIC_KEY='MIIBIjANBgkqh...';
    

    注釈

    • ユーザーを変更できるのは、セキュリティ管理者(つまり、 SECURITYADMIN ロールのユーザー)以上のみです。

    • SQL ステートメントで公開キーのヘッダーとフッターを除外します。

    DESCRIBE USER を使用してユーザーの公開キーの指紋を検証します:

    DESC USER jsmith;
    +-------------------------------+-----------------------------------------------------+---------+-------------------------------------------------------------------------------+
    | property                      | value                                               | default | description                                                                   |
    |-------------------------------+-----------------------------------------------------+---------+-------------------------------------------------------------------------------|
    | NAME                          | JSMITH                                              | null    | Name                                                                          |
    ...
    ...
    | RSA_PUBLIC_KEY_FP             | SHA256:nvnONUsfiuycCLMXIEWG4eTp4FjhVUZQUQbNpbSHXiA= | null    | Fingerprint of user's RSA public key.                                         |
    | RSA_PUBLIC_KEY_2_FP           | null                                                | null    | Fingerprint of user's second RSA public key.                                  |
    +-------------------------------+-----------------------------------------------------+---------+-------------------------------------------------------------------------------+
    

    注釈

    RSA_PUBLIC_KEY_2_FP プロパティについては、 キーローテーション (このトピック)で説明します。

  5. 構成ファイルまたはコマンドラインのいずれかで、秘密鍵ファイルへのパスを指定します。

  • 構成ファイルで、次を実行します。

    • 接続設定に private_key_path 接続パラメーターを追加し、作成した秘密鍵ファイルへのローカルパスを指定します。構文は OS固有ではありません。

      サポートされた OS
      private_key_path = <path>/rsa_key.p8
      
    • SNOWSQL_PRIVATE_KEY_PASSPHRASE 環境変数を使用して、秘密鍵ファイルを復号化するためのパスフレーズを設定します。構文は OS固有です。

    Linux/macOS
    export SNOWSQL_PRIVATE_KEY_PASSPHRASE='<passphrase>'
    
    Windows
    set SNOWSQL_PRIVATE_KEY_PASSPHRASE='<passphrase>'
    
  • コマンドラインで、次を実行します。

    private-key-path 接続パラメーターを含めて、暗号化された秘密鍵ファイルへのパスを指定します。

    $ snowsql -a <account> -u <user> --private-key-path <path>/rsa_key.p8
    

    SnowSQL がパスフレーズの入力を求めます。または、 SNOWSQL_PRIVATE_KEY_PASSPHRASE 環境変数を使用して、秘密鍵ファイルを復号化するためのパスフレーズを設定します(上記をご参照ください)。

キーローテーション

Snowflakeは、複数のアクティブキーをサポートして、連続したローテーションを可能にします。内部的に従う有効期限のスケジュールに基づいて、公開キーと秘密キーをローテーションして交換します。

現在、 ALTER USERRSA_PUBLIC_KEY および RSA_PUBLIC_KEY_2 パラメーターを使用して、最大2個の公開キーを1人のユーザーに関連付けることができます。

キーをローテーションするには:

  1. キーペア認証の使用 の手順を完了して:

    • 新しい秘密キーと公開キーのセットを生成します。

    • ユーザーに公開キーを割り当てます。公開キーの値を RSA_PUBLIC_KEY または RSA_PUBLIC_KEY_2 (現在使用されていないキーの値)に設定します。例:

      alter user jsmith set rsa_public_key_2='JERUEHtcve...';
      
  2. Snowflakeに接続するようにコードを更新します。新しい秘密キーを指定します。

    Snowflakeは、接続情報とともに送信された秘密キーに基づいて、認証用の正しいアクティブな公開キーを検証します。

  3. ユーザープロファイルから古い公開キーを削除します。例:

    alter user jsmith unset rsa_public_key;
    

プロキシサーバーの使用

プロキシサーバーを使用するには、次の環境変数を構成します。

  • HTTP_PROXY

  • HTTPS_PROXY

  • NO_PROXY

注釈

プロキシパラメーター(コマンドラインおよび構成ファイルの proxy_hostproxy_portproxy_user および SNOWFLAKE_PROXY_PWD)は廃止されました。代わりに環境変数を使用してください。

ただし、これには SnowSQL 1.1.20以降が必要です。現在のバージョンを確認するには、「SnowSQL バージョニングの理解」をご参照ください。

例:

Linux/macOS
export HTTP_PROXY='http://username:password@proxyserver.company.com:80'
export HTTPS_PROXY='http://username:password@proxyserver.company.com:80'
Windows
set HTTP_PROXY=http://username:password@proxyserver.company.com:80
set HTTPS_PROXY=http://username:password@proxyserver.company.com:80

ちなみに

Snowflakeのセキュリティモデルは、Secure Sockets Layer(SSL)プロキシを許可しません( HTTPS 証明書を使用)。プロキシサーバーは、公的に利用可能な認証機関(CA)を使用する必要があり、侵害されたプロキシを介した MITM (Man In The Middle)攻撃などの潜在的なセキュリティリスクを低減します。

SSL プロキシを使用する 必要 がある場合は、通信中に証明書が変更されないように、サーバーポリシーを更新してSnowflake証明書を渡すことを強くお勧めします。

オプションで NO_PROXY を使用して、特定の通信のプロキシをバイパスできます。たとえば、 NO_PROXY=".amazonaws.com" を指定すると、Amazon S3アクセスをバイパスできます。

フェデレーション認証/SSO 用のウェブブラウザーの使用

SnowSQL で ブラウザーベースの SSO 認証 を使用するには、 --authenticator externalbrowser をご使用の SnowSQL 接続パラメーター に追加します。

例:

$ snowsql -a <accountname> -u <username> --authenticator externalbrowser

フェデレーション認証/SSO の詳細については、 フェデレーション認証の管理/使用 をご参照ください。

OCSP コネクタ-またはドライバーバージョンの確認

Snowflakeは、Snowflakeへの接続の際、 OCSP を使用して証明書チェーンを評価します。ドライバーまたはコネクターのバージョンとその構成により、 OCSP の動作が決まります。ドライバーまたはコネクタのバージョン、それらの構成、および OCSP の動作の詳細については、 OCSP 設定 をご参照ください。

OCSP 応答キャッシュサーバー

注釈

現在、OCSP 応答キャッシュサーバーは SnowSQL 1.1.55以降でサポートされています。

Snowflakeクライアントは、実際にデータを転送する前に安全な接続を確立する「ハンドシェイク」を使用して、Snowflakeサービスエンドポイントへのすべての接続を開始します。ハンドシェイクの一部として、クライアントはサービスエンドポイントの TLS/SSL 証明書を認証します。証明書の失効ステータスは、 CA (認証機関)の OCSP (オンライン証明書ステータスプロトコル)サーバーの1つにクライアント証明書リクエストを送信することにより確認されます。

OCSP サーバーからの応答が妥当な時間を超えて遅延すると、接続エラーが発生します。次のキャッシュは失効ステータスを保持し、これらの問題の軽減に役立ちます。

  • プロセスの存続期間中保持されるメモリキャッシュ。

  • ファイルキャッシュ。キャッシュディレクトリ(例: ~/.cache/snowflake または ~/.snowsql/ocsp_response_cache)が削除されるまで保持します。

  • Snowflake OCSP 応答キャッシュサーバー。 CA の OCSP サーバーから OCSP 応答を1時間ごとに取得し、24時間保存します。クライアントは、このサーバーキャッシュから特定のSnowflake証明書の検証ステータスを要求できます。

    重要

    サーバーポリシーでほとんどまたはすべての外部 IP アドレスおよびウェブサイトへのアクセスが拒否された場合、通常のサービス操作を許可するには、キャッシュサーバーアドレスを 必ず ホワイトリストに登録する必要があります。キャッシュサーバーのホスト名は ocsp*.snowflakecomputing.com:80 です。

    何らかの理由でキャッシュサーバーを無効化する必要がある場合は、 SF_OCSP_RESPONSE_CACHE_SERVER_ENABLED 環境変数を false に設定します。値は大文字と小文字が区別され、小文字にする 必要がある ことに注意してください。

キャッシュレイヤーに OCSP 応答が含まれていない場合、クライアントは CAの OCSP サーバーから検証ステータスを直接取得しようとします。

接続エラー処理

Cannot open self /usr/bin/snowsql or archive /usr/bin/snowsql.pkg (Linuxのみ)

pyinstaller (Pythonソースコードからスタンドアロンの実行可能ファイルに SnowSQL をパッケージ化するプログラム)の制限により、 prelinksnowsql 実行可能ファイルの一部を誤って削除し、このエラーを引き起こします。

この問題を回避するために、 SnowSQL インストーラーは /etc/prelink.conf.d/snowsql.confsnowsql 実行可能ファイル用の prelink 構成ファイルの更新を試みるため、 prelink でファイルは変更されません。残念ながら、この構成は SnowSQL 自動アップグレードプロセスでは更新できません。

システム管理者と協力して、ワークステーションで次のコマンドを実行します。

$ sudo bash -c "echo '-b snowsql' > /etc/prelink.conf.d/snowsql.conf"

注釈

ユーザーのホームディレクトリに snowsql をインストールすると、デフォルトで共有バイナリディレクトリをスキャンするように prelink が構成されているため、この問題は発生しにくくなります(例: /usr/bin または /bin)。ホームディレクトリのプログラムは変更されません。

接続パラメーターリファレンス

-a--accountname

説明

必須

アカウントのフルネームを指定します(Snowflakeが提供)。完全なアカウント名には、アカウントがホストされている 地域、および クラウドプラットフォーム を識別する 追加 のセグメントが含まれている場合があります。

地域別のアカウント名の例

アカウント名が xy12345 の場合、

クラウドプラットフォーム/地域

完全なアカウント名

AWS

US 西部(オレゴン)

xy12345

US 東部(オハイオ)

xy12345.us-east-2.aws

US 東部(バージニア北部)

xy12345.us-east-1

US 東部(商業組織、バージニア政府北部)

xy12345.us-east-1-gov.aws

カナダ(中部)

xy12345.ca-central-1.aws

EU (アイルランド)

xy12345.eu-west-1

EU (フランクフルト)

xy12345.eu-central-1

アジア太平洋(東京)

xy12345.ap-northeast-1.aws

アジア太平洋(ムンバイ)

xy12345.ap-south-1.aws

アジア太平洋(シンガポール)

xy12345.ap-southeast-1

アジア太平洋(シドニー)

xy12345.ap-southeast-2

GCP

US 中央部1(アイオワ)

xy12345.us-central1.gcp

ヨーロッパ西部2(ロンドン)

xy12345.europe-west2.gcp

ヨーロッパ西部4(オランダ)

xy12345.europe-west4.gcp

Azure

西 US 2(ワシントン)

xy12345.west-us-2.azure

東 US 2(バージニア)

xy12345.east-us-2.azure

US 政府バージニア

xy12345.us-gov-virginia.azure

カナダ中央部(トロント)

xy12345.canada-central.azure

西ヨーロッパ(オランダ)

xy12345.west-europe.azure

スイス北部(チューリッヒ)

xy12345.switzerland-north.azure

東南アジア(シンガポール)

xy12345.southeast-asia.azure

オーストラリア東部(ニューサウスウェールズ)

xy12345.australia-east.azure

重要

次のいずれかの条件に該当する場合、アカウント名はこの例の構造とは異なります。

  • Snowflake Editionが VPS の場合、アカウント名の詳細については Snowflakeサポート にお問い合わせください。

  • AWS PrivateLink がアカウントで有効になっている場合、アカウント名には追加の privatelink セグメントが 必要 です。詳細については、 AWS PrivateLink とSnowflake をご参照ください。

この接続パラメーターは、 構成ファイル でも設定できます。

文字列

また、値は環境変数にすることもできます。

Linux/macOS

$SNOWSQL_ACCOUNT

Windows

%SNOWSQL_ACCOUNT%

たとえば、Linuxまたは macOSでは、次のようになります。

$ export SNOWSQL_ACCOUNT=xy12345

$ snowsql -a $SNOWSQL_ACCOUNT
デフォルト

なし

-u--username

説明

指定したアカウントに接続するユーザーのログイン名を指定します。

この接続パラメーターは、 構成ファイル でも設定できます。

文字列

値は環境変数にすることができます。

Linux/macOS

$SNOWSQL_USER

Windows

%SNOWSQL_USER%

たとえば、Linuxまたは macOSでは、次のようになります。

$ export SNOWSQL_USER=jdoe

$ snowsql -u $SNOWSQL_USER
デフォルト

なし

-d--dbname

説明

クライアントセッションでデフォルトで使用するデータベースを指定します(ログイン後に変更できます)。

文字列

値は環境変数にすることができます。

Linux/macOS

$SNOWSQL_DATABASE

Windows

%SNOWSQL_DATABASE%

この接続パラメーターは、 構成ファイル でも設定できます。

デフォルト

なし

-s--schemaname

説明

クライアントセッションでデフォルトで使用するデータベーススキーマを指定します(ログイン後に変更できます)。

文字列

値は環境変数にすることができます。

Linux/macOS

$SNOWSQL_SCHEMA

Windows

%SNOWSQL_SCHEMA%

この接続パラメーターは、 構成ファイル でも設定できます。

デフォルト

なし

-r--rolename

説明

クライアントセッションでSnowflakeオブジェクトにアクセスするためにデフォルトで使用するロールを指定します(ログイン後に変更できます)。

この接続パラメーターは、 構成ファイル でも設定できます。

文字列

値は環境変数にすることができます。

Linux/macOS

$SNOWSQL_ROLE

Windows

%SNOWSQL_ROLE%

デフォルト

なし

-w--warehouse

説明

クライアントセッションのクエリ、ロードなどにデフォルトで使用する仮想ウェアハウスを指定します(ログイン後に変更できます)。

この接続パラメーターは、 構成ファイル でも設定できます。

文字列

値は環境変数にすることができます。

Linux/macOS

$SNOWSQL_WAREHOUSE

Windows

%SNOWSQL_WAREHOUSE%

デフォルト

なし

-h--host --- 廃止

説明

下位互換性/内部使用のために提供

Snowflakeで接続するホストのアドレスを指定します。

ホストアドレスは、指定したアカウント名(-a または --account を使用)とSnowflakeドメイン(snowflakecomputing.com)を連結することで自動的に決定されるため、このパラメーターは使用されなくなりました。

文字列

デフォルト

なし

-p--port --- 廃止

説明

下位互換性/内部使用のために提供

接続に使用するポート番号を指定します。

Snowflakeのポート番号は常に 443 であるため、このパラメーターは使用されなくなりました。

文字列

デフォルト

なし

--region --- 廃止

説明

下位互換性/内部使用のために提供

アカウントが存在する 地域 の ID を指定します。

このパラメーターは使用されなくなりました。代わりに、アカウント名の一部として地域情報を含めます。詳細については、(このトピックの)「-a 、 --accountname」をご参照ください。

N/A

デフォルト

N/A

-m--mfa-passcode

説明

コマンドラインでパスコードを渡す場合、MFA (多要素認証)の2番目のトークンを指定します。

文字列

デフォルト

なし

--mfa-passcode-in-password

説明

パスワードの最後に MFA パスコードを追加します。

パスワードプロンプトを強制し、パスワードの後に MFA パスコードを入力できます。例えば、MFA トークンが 123456 で、パスワードが PASSWORD の場合は、次のようになります。

$ snowsql ... -P ...

Password: PASSWORD123456

なし(パラメーターは値を取らない)

デフォルト

N/A

--abort-detached-query

説明

クライアントとサーバー間の接続が失われた場合、クエリを中止します。

ブール値

デフォルト

False(接続が失われてもアクティブなクエリは中止されない)

--probe-connection

説明

Snowflakeへの接続をテストし、結果を報告します。これは、主に TLS/SSL 証明書チェーンを印刷するために使用される試験的なオプションであることに注意してください。

なし(パラメーターは値を取らない)

デフォルト

N/A

--authenticator

説明

ユーザーログイン認証情報の検証に使用する認証方式を指定します。

文字列(定数):

  • snowflake では、内部Snowflake認証方式を使用します。

  • externalbrowser uses your web browser to authenticate with Okta, ADFS, or any other SAML 2.0-compliant identity provider (IdP) that has been defined for your account.

  • https://<Oktaのアカウント名>.okta.com (つまり、Oktaの URL エンドポイント)は、 ネイティブOktaを介して認証 します( IdP がOktaの場合のみサポート)。

  • oauth は、 OAuth を使用して認証します。OAuth が認証コードとして指定されている場合は、 OAuth トークンを指定するために token パラメーターも設定する必要があります( 以下を参照)。

詳細については、 フェデレーション認証の管理/使用 および OAuth のクライアント、ドライバー、およびコネクター をご参照ください。

デフォルト

snowflake

注釈

externalbrowser 認証方式は、ウェブブラウザーにアクセスできるターミナルウィンドウでのみサポートされます。たとえば、 SSH (Secure Shell)セッションを介してアクセスされるリモートマシンのターミナルウィンドウでは、ウェブブラウザーを開くために追加設定が必要になる場合があります。

ウェブブラウザーへのアクセスがなくても、 IdP がOktaの場合は、ネイティブOktaを使用できます(つまり、認証方式を https://<oktaのアカウント名>.okta.com に設定)。

token=<文字列>

認証に使用する OAuth トークンを指定します。<文字列>はトークンです。このパラメーターは、 authenticator=oauth パラメーターが設定されている場合にのみ必要です。

デフォルトはありません。

-v--version

説明

指定された SnowSQL バージョンを使用するか、バージョンが指定されていない場合は、インストールされている最新の SnowSQL バージョンを表示します。

文字列

デフォルト

なし

--versions

説明

インストールして実行できる SnowSQL の利用可能なすべてのバージョンをリストします。リストから以前の SnowSQL バージョンをインストールするには、 -v オプションを使用して、インストールするバージョンを指定します。

なし(パラメーターは値を取らない)

デフォルト

N/A

--noup

説明

この実行の自動アップグレードを無効化します。このオプションが含まれておらず、新しいバージョンが利用可能な場合、SnowSQL は自動的に新しいバージョンをダウンロードしてインストールします。次回の SnowSQL実行時には、新しいバージョンが使用されます。

なし(パラメーターは値を取らない)

デフォルト

N/A

-D--variable

説明

コマンドラインで SnowSQL 変数を定義します。このオプションを使用して、Snowflakeで使用する特定の変数を設定できます。

文字列

例:

$ snowsql ... -D tablename=CENUSTRACKONE --variable db_key=$DB_KEY ...
デフォルト

なし

-o--option

説明

コマンドラインで SnowSQL 構成オプションを定義します。これらのオプションは、 SnowSQL 構成ファイルで設定されたオプションを上書きします。設定/オーバーライドできるオプションの説明については、 SnowSQL 構成オプションリファレンス をご参照ください。

文字列

デフォルト

なし

-f--filename

説明

バッチモードで実行する SQL ファイルを指定します。

値は、ファイル名(必要に応じてディレクトリパスを含む)またはファイルへの URL です。

文字列

デフォルト

なし

-q--query

説明

実行する SQL クエリを指定します。

値は、単一の SQL クエリ、または実行するクエリのセミコロン区切りのリスト(例: 'select current_user(); select current_role()')です。

文字列

デフォルト

なし

--config

説明

SnowSQL 構成ファイルの場所(ディレクトリパス)を指定します。デフォルトの場所から構成ファイルを移動またはコピーする場合は、このコネクタパラメーターを含めます。

文字列

デフォルト

OS固有:

Linux/macOS

~/.snowsql/

Windows

%USERPROFILE%\.snowsql\

-P--prompt

説明

パスワードが SnowSQL 構成ファイルに格納されている場合、パスワードプロンプトを強制します。

なし(パラメーターは値を取らない)

デフォルト

N/A

-M--mfa-prompt

説明

MFA の2番目のトークンのプロンプトを強制します。または、コマンドラインに渡す場合は --mfa-passcode <文字列> を使用します。

なし(パラメーターは値を取らない)

デフォルト

N/A

-c--connection

説明

使用する接続を指定します。指定された文字列は、SnowSQL 構成ファイルで定義された接続の名前です。詳細については、 名前付き接続の使用 (このトピック)をご参照ください。

文字列

デフォルト

なし

--single-transaction

説明

このオプションは、 --filename--query、または標準入力コマンドと組み合わせて、ステートメントを BEGIN/COMMIT でラップし、すべてのコマンドが正常に完了するか、変更が適用されないようにします。

なし(パラメーターは値を取らない)

デフォルト

N/A

注釈

入力コマンドで BEGIN、 COMMIT、または ROLLBACKを使用する場合、このオプションは正しく機能しないことに注意してください。また、トランザクションブロック内でコマンドを実行できない場合、このオプションによりコマンドが失敗します。

--private-key-path

説明

キーペア認証に使用される PEM 形式の秘密鍵ファイルへのパス。秘密鍵ファイルは暗号化する必要があり、パスフレーズは環境変数 SNOWSQL_PRIVATE_KEY_PASSPHRASEで指定する必要があります。

文字列

デフォルト

なし

--disable-request-pooling

説明

デフォルトでは、snowsqlは接続プーリングを使用します。接続プーリングは、通常、接続を確立するための遅延時間を短縮します。ただし、DNS の問題が発生すると、代替の DNS へのクライアントフェールオーバーが遅くなる可能性があります。このパラメーターを使用すると、接続プーリングをオフにできます。

このパラメーターは、複製が有効化されている顧客にのみ適用されます。

なし(パラメーターは値を取らない)

デフォルト

N/A

-U--upgrade

説明

ローカルディレクトリにダウンロードされていない場合、SnowSQL を最新バージョンに強制的にアップグレードします。

なし(パラメーターは値を取らない)

デフォルト

N/A

注釈

SnowSQL 1.1.63以降のバージョンのブートストラップ実行可能ファイルが必要です。 UIからダウンロードします。

-K--client-session-keep-alive

説明

ユーザーのアクティビティがない場合でも、セッションを無期限にアクティブに保ちます。

なし(パラメーターは値を取らない)

デフォルト

N/A

注釈

内部的には、セッションのパラメーター CLIENT_SESSION_KEEP_ALIVE はtrueに設定されます。

-?--help

説明

コマンドラインのクイック使用ガイドを表示します。

なし(パラメーターは値を取らない)

デフォルト

N/A