Snowflake NotebooksとGitリポジトリの同期

Snowflake Notebooksでバージョン管理を使用するには、ノートブックの開発をGitリポジトリのブランチと同期させます。

すでにGitリポジトリに接続するようにSnowflakeアカウントを設定し、ノートブックの開発に使用するブランチをそのリポジトリに作成しておく必要があります。 Gitを使用するためのSnowflakeの設定 をご参照ください。

Gitリポジトリのファイルからノートブックを作成する

注釈

ファイルは、 .ipynb フォーマットのファイルで、ノートブックフォーマット(nbformat)4.0 以上を使用している必要があります。

GitリポジトリのファイルからSnowflake Notebookを作成するには、以下を実行します。

  1. Snowsight にサインインします。

  2. Projects » Notebooks を選択します。

  3. + Notebook の横でドロップダウンメニューを開き、 Create from repository を選択します。

  4. File location in repository の場合、ノートブックファイルを含むリポジトリとブランチを選択し、特定の .ipynb ファイルを選択します。

  5. Notebook location では、ノートブックを格納するデータベースとスキーマを選択します。これらはノートブック作成後に変更することはできません。

  6. Notebook warehouse の場合、ウェアハウスを選択します。

  7. Create を選択して、Gitリポジトリの .ipynb ファイルからSnowflake Notebookを作成します。

既存のノートブックとGitリポジトリの接続

既存のSnowflakeノートブックをGitリポジトリに接続するには、次のようにします。

注釈

少なくとも以下の権限を持つロールを使用する必要があります。

  • OWNERSHIPまたはREAD権限でGitリポジトリにアクセスできます。

  • Gitリポジトリを含むスキーマに関するUSAGE権限。

アクセス制御の要件 をご参照ください。

  1. Snowsight にサインインします。

  2. Projects » Notebooks を選択し、Snowflakeノートブックを開くか作成します。

  3. Files タブのデータベースオブジェクトエクスプローラーの横で、 Connect Git Repository を選択します。

  4. File location in repository の場合、ノートブックを同期するリポジトリとブランチを選択します。

  5. Select Folder を選択します。

  6. 次に、ノートブックをGitリポジトリにコミットするよう促すプロンプトが表示されます。 Gitリポジトリのブランチに対して変更をコミットする セクションで説明されているコミット手順を完了します。

ノートブックとGitリポジトリを接続した後、ブランチ名を選択して、SnowflakeまたはGithubでリポジトリの詳細を開くことができます。

Gitリポジトリのブランチに対して変更をコミットする

Snowflake NotebookがGitリポジトリのブランチに接続されている場合、Snowflake Notebookに変更を加えた後、変更をブランチにコミットすることができます。

変更をコミットするには、GitリポジトリでOWNERSHIPまたはWRITE権限を持つロールを使う必要があります。 アクセス制御の要件 をご参照ください。

  1. Snowsight にサインインします。

  2. Projects » Notebooks を選択し、Snowflake Notebookを開きます。

  3. ノートブックに関連する変更を加えます。

  4. Commit を選択します。

  5. 表示される Commit to Repository ダイアログで、指定したブランチとリポジトリに変更をコミットする際に使用するユーザー名とメールアドレスを確認できます。ユーザー名とメールアドレスを更新する必要がある場合は、 Credentials セクションを展開し、 Author nameAuthor email を更新してください。

  6. Commit message の場合は、コミットに添えるメッセージを入力してください。

  7. Credentials セクションを展開して認証情報を設定します。Gitリポジトリの個人アクセストークンを Personal access token フィールドに入力します。このアクセストークンは、GithubのようなリモートのGitプロバイダーから送られてきます。

    • このトークンはGitリポジトリを認証するために必要です。

    • コミットが機能するためには、トークンはリポジトリの内容に対する読み取りと書き込みのアクセス権が必要です。

    • 一度入力されたトークンは、今後のコミットのために保存されます。今後のコミット時に更新することができます。

  8. Commit を選択します。

変更がブランチにコミットされたことを示す確認メッセージが表示されます。

Gitリポジトリのリモートブランチとノートブックを同期させる

ノートブックをGitリポジトリのブランチに接続すると、リモートブランチの変更をSnowflakeノートブックと同期できます。

  1. Snowsight にサインインします。

  2. Projects » Notebooks を選択し、Snowflakeノートブックを開くか作成します。

  3. データベースオブジェクトエクスプローラーの Files タブで、 Pull を選択します。

Snowflake はリモートリポジトリブランチに存在する変更を取得し、ノートブックの内容をそれらの変更とマージします。

マージの競合

Snowflakeは、同期中に発生したマージの競合の解決を試みます。Snowflakeが解決できないマージの競合がある場合、変更を破棄するか、新しいブランチにコミットするよう促すメッセージが表示されます。これらの変更が新しいブランチにコミットされたら、Gitプロバイダーを使って新しいブランチから元のブランチに手動でマージします。そして、最新のアップデートをSnowflakeノートブックに取り込んでください。