Snowsightのフォルダの使い方と仕様についてまとめてみた #SnowflakeDB
さがらです。
最近Snowsightに関するアップデートがあり、Worksheet navigationという機能がPublic Previewとなりました。詳細はSnowflake社の本橋さんのツイートを御覧ください。
また、現在Snowflakeのアカウントを新規作成すると、Snowsightなどが使用できる新しいウェブインターフェース(New Web Interface)がデフォルトとなっているようです。Snowflakeとしても「新しいウェブインターフェースを使ってほしい」という意図が強く感じられます。(アカウントを立ち上げたクラウドプラットフォームやリージョンによっては、従来のインターフェースがデフォルトの可能性もあるため、ご注意ください。)
そのため、ブラウザ上でSQLを書いて実行する場合は、Snowsightを使用することがより主流になってくることが見込まれます。
そこで、このSnowsightを使う上で従来のインターフェースにはなかった概念であるフォルダについて、本記事で使い方や仕様をまとめてみたいと思います。
Snowsightのフォルダとは
Snowsightにおけるフォルダについて端的に述べると、SQLを記述するワークシートをファイルフォルダーのようにまとめて管理できる機能です。
Snowflakeの画面からでは、左のワークシート
➟フォルダー
、の順に押すと、ログインしているユーザーに紐づくフォルダーの一覧が表示されます。
詳細は後述しますが、このような特徴があります。(2022年3月22日時点:Public Previewの機能も含め)
- フォルダ内のワークシートでは、指定したロールのみクエリの実行が可能
- フォルダ間のワークシートの移動は可能
- フォルダは基本的には作成したユーザーのみ使用可能。一方で、フォルダ内のワークシートごとアカウント内の他ユーザーに共有することは可能
- フォルダ内に子フォルダは作成できない
次章から、フォルダの使い方や仕様についてより詳しく説明していきます。
フォルダの新規作成
まず、新しくフォルダを作成したい時の手順についてです。
左のワークシート
➟右上の「・・・」➟新しいフォルダー
の順番に押すと、新しいフォルダを作成するためのポップアップが出てきますので、任意の名前を入力して、フォルダーを作成
を押せば、新しいフォルダーが作られます。
フォルダの削除
続いて、作成したフォルダの削除方法についてです。
対象のフォルダを押した後に、フォルダの横の「▽」のような記号を押し、フォルダーを削除する
を押せばOKです。
フォルダ内のロールについて
冒頭で少し説明した通り、フォルダ内のワークシートでは、フォルダに対して指定したロールでしかクエリを実行できないようになっています。
メリットとしては下記のような点があるかと思います。
- Snowsightで作成した複数のダッシュボードやグラフを別ユーザーに見てもらいたい時、フォルダごと別のユーザーに共有できる
- 本来使用すべきロールとは別のロールを用いてDDL文を実行するリスクを減らせる
フォルダ内で使用するロールの指定は、対象のフォルダ内で右上のロールが表示された箇所をクリックし、任意のロールをクリックすればOKです。
また、すでにフォルダ内に複数のワークシートがある場合、下図のような確認画面も出てきます。問題なければフォルダーのロールを変更
を押しましょう。
ここで注意点としては、フォルダ内のロールはUSE ROLEコマンドでは変更できません。実行しようとすると、エラーになります。これはフォルダーに指定したロールがUSE ROLE
コマンドで切り替えたいロールの親ロールや子ロールであっても出来ません。
この点がどういうときに痛いのかというと、例えば新しいロールを作成したあとにロールを切り替えて権限設定したデータベースを見ることができるか確認したいときに不便に感じる可能性があります。
対策と言っていいのかはわからないですが、フォルダー外にワークシートを作成することで、USE ROLE
コマンドは使用することが可能です。
フォルダー外に新しいワークシートを作成する場合は、左のワークシート
➟右上の+ ワークシート
の順に押さないといけないため、こちらもご注意ください。
フォルダ内のワークシートの名前変更・複製・削除・移動
続いて、フォルダ内のワークシートの名前変更・複製・削除・移動、についてですが、移動させたいワークシートの横の「・・・」を押すと、オプションが表示されて実行可能です。
フォルダ内のワークシートの共有
続いて、フォルダ内のワークシートの共有方法ですが、対象のフォルダの画面で、右上の共有
を押すと、設定画面が出てきます。デフォルトで、リンクのある人
に対して結果を表示
となっていますので、必要に応じて別の設定に切り替えてください。
最後に
Snowsightのフォルダについて、使い方や仕様をまとめてみました。
従来のインターフェースと比べると、特にロール周りがフォルダに紐づくというところで違いはありますが、フォルダレベルでまとめてワークシートの共有もできて更にロール違いによるご操作も防げますし、メリットのほうが多いかな、と個人的には感じました!
また、Snowsightがより使いやすくなったので、Snowflakeだけをまず導入して簡易的にダッシュボードを作ってみて、その上で必要なBIツールを別途導入するという流れも組みやすくなったのでは、と感じています! Snowsight、どんどん活用していきましょう。