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 ファイルを選択します。SnowflakeとGitリポジトリの接続の詳細については、 Gitを使用するためのSnowflakeの設定 をご参照ください。

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

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

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

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

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

注釈

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

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

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

Git リポジトリへの接続方法については、 Gitを使用するためのSnowflakeの設定 をご参照ください。

詳細については、 アクセス制御の要件 をご参照ください。

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

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

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

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

  5. Select Folder を選択します。

  6. ノートブックをコミットして Git リポジトリにプッシュするよう促されたら、 Git リポジトリのブランチに変更をプッシュ で説明した Git にプッシュする手順を完了させます。

    ノートブックが Git リポジトリにプッシュされると、Git リポジトリのブランチで選択した場所にノートブック用の新しいフォルダが作成され、その場所にあるすべてのファイルとフォルダがノートブックに同期されます。ブランチ名を選択して、Snowflake または Git でリポジトリの詳細を開くことができます。

Git リポジトリのブランチに変更をプッシュ

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

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

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

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

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

  4. Push to Git を選択します。

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

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

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

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

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

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

  8. Push を選択します。

変更内容がブランチにプッシュされたことを示す確認メッセージが表示されます。

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

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

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

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

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

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

マージの競合

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