Mac 用 Snowflake クライアント
アカウントが要求する方式で認証し、再接続せずにセッションのウェアハウスとロールを切り替えて、テーブルを問い合わせ、編集し、ステージにアンロードできます。
Mac で使用可能初めて Snowflake を選ぶとドライバーをダウンロード
概要
- クエリ言語
- SQL
- ドライバー
- 初回使用時にダウンロード
- 接続方法
- サービスの API
- iPhone と iPad
- 開けない
接続と認証
myorg-myaccount や旧形式の xy12345.us-east-1 など、.snowflakecomputing.com の前に付くアカウント識別子を入力します。すべてのリクエストは HTTPS でアカウントのエンドポイントに送るため、ホスト、SSL セクションや SSH ペインはありません。
Auth Method を選ぶと必要な項目だけ表示します。鍵ペアは PKCS#8 秘密鍵で接続ごとに署名するため、Mac の時計が正確である必要があります。ブラウザ SSO は ID プロバイダーへ進みます。OAuth トークンは貼り付けたまま使い、更新しません。MFA 必須のアカウントではパスワードと MFA Passcode (TOTP) の現在のコードを使います。
アカウントの ALLOW_CLIENT_MFA_CACHING が有効なら、新しいコードは一回で済みます。Snowflake が返す MFA トークンを TablePro が キーチェーン に保存します。ALLOW_ID_TOKEN ならブラウザ SSO のサインイントークンを保存し、Snowflake が拒否するまで次の接続はブラウザを省略します。
Snowflake には URL スキームがありません。代わりに CLI Connection Name にセクション名を指定すると、空欄のフィールドを接続時に ~/.snowflake/connections.toml から読みます。
ウェアハウス、ロールとクエリ
Database > Session Context は USE WAREHOUSE と USE ROLE で、再接続せずセッションのウェアハウスやロールを切り替えます。一つの TablePro 接続は一つの Snowflake セッションで、アイドル中も保持します。別のデータベースに紐付いたタブは、同じセッションで文の前に USE DATABASE を実行します。
サイドバーはデータベースとスキーマでオブジェクトをまとめます。一覧はウェアハウス不要の SHOW コマンドから取得し、カラム詳細はウェアハウスが必要な INFORMATION_SCHEMA から取得します。Explain は Snowflake のプランを生のテキストで返します。
グリッド編集 は値をサーバーでバインドし、VARIANT、OBJECT、ARRAY セルは PARSE_JSON を使って送ります。宣言した主キー、なければ全カラムで特定します。Snowflake はキー制約を強制しないため、重複キーがあれば編集や削除はすべての一致行に及びます。編集前に重複を確認してください。
構造
DDL ビューは GET_DDL から取得します。Structure タブ はカラムの追加、名前変更と削除、NOT NULL、コメントと主キーの設定、VARCHAR の拡大、同じスケールでの NUMBER 精度変更に対応します。
VARCHAR の縮小、その他の型変更、カラムの既定値を新しい値にする操作など、Snowflake が拒否する変更は実行前に拒否します。既定値の解除は実行できます。
データの移動
接続経由で CSV、TSV、JSON、JSONL、XLSXとSQL ファイルを インポート し、テーブルや結果を Mac に CSV、JSON、SQL、XLSX、Markdown、HTMLとXML でエクスポートできます。
Mac を通さずにテーブルをアンロードするには、File > Server-Side Export… で @ あり・なしのステージ名を指定します。Server-Side Export は自分の権限で COPY INTO を実行し、gzip CSV、Parquet や JSON を書き込みます。シートは完了まで待機し、Mac に保存しません。
iPhone と iPad
iPhone と iPad アプリには Snowflake ドライバーがありません。Mac から同期した Snowflake 接続は一覧に表示しますが、開けません。
制限
- Duo はパスコードのみ対応します。プッシュ承認は非対応です。
Snowflake に関する質問
サイドバーにテーブルがあるのにカラムがないのはなぜですか?
カラム詳細は稼働中ウェアハウスが必要な INFORMATION_SCHEMA から取得します。接続や Session Context の Warehouse を指定してください。オブジェクトが全く表示されないデータベースは接続ロールに USAGE の付与が必要です。
TIMESTAMP_LTZ が UTC 表示になるのはなぜですか?
TablePro はセッションの TIMEZONE に変換せず、Z を付けた UTC 時刻として読み取ります。
鍵ペア認証で JWT が無効と言われたら何を確認しますか?
トークンはアカウントロケーターとタイムスタンプを含みます。アカウント識別子と Mac の時計を確認し、ALTER USER … SET RSA_PUBLIC_KEY で公開鍵をユーザーに登録したか確認してください。
TablePro を入手
macOS 13 Ventura 以降 が必要です