ランタイム構成の使用

ノートブック・セッションを作成するときに、ノートブック・セッションで使用するカスタム環境変数キーおよびGitリポジトリURLを追加できます。

ノート

次の表では、環境変数キーにサービス管理環境名を指定しないでください。キーは特定の値を期待するか、データ・サイエンス・サービスによって値が自動的に返されるためです。

サービス管理環境変数

変数キー名

説明

指定条件

TENANCY_OCID

ノートブックが属するテナンシのOCID。

データ・サイエンスによって自動的に移入されます。

PROJECT_OCID

現在のノートブック・セッションに関連付けられたプロジェクトのOCID。

データ・サイエンスによって自動的に移入されます。

PROJECT_COMPARTMENT_OCID

ノートブックが関連付けられているプロジェクトのコンパートメントのOCID。

データ・サイエンスによって自動的に移入されます。

USER_OCID

ユーザーOCID。

データ・サイエンスによって自動的に移入されます。

NB_SESSION_OCID

現在のノートブック・セッションのOCID。

データ・サイエンスによって自動的に移入されます。

NB_SESSION_COMPARTMENT_OCID

現在のノートブック・セッションのコンパートメントOCID。

データ・サイエンスによって自動的に移入されます。

OCI_RESOURCE_PRINCIPAL_RPT_PATH

OCIリソース・プリンシパル・トークンへのパス。

データ・サイエンスによって自動的に移入されます。

OCI_RESOURCE_PRINCIPAL_RPT_ID

OCIリソース・プリンシパル・トークンのID。

データ・サイエンスによって自動的に移入されます。

NB_ONCREATE_SCRIPT_URL

作成時に実行するノートブック・セッションのライフサイクル・スクリプトURL。

ユーザー指定

NB_ONACTIVATE_SCRIPT_URL

アクティブ化時に実行するノートブック・セッションのライフサイクル・スクリプトURL。

ユーザー指定

NB_ONDEACTIVATE_SCRIPT_URL

非アクティブ化時に実行するノートブック・セッションのライフサイクル・スクリプトURL。

ユーザー指定

NB_ONDELETE_SCRIPT_URL

削除時に実行するノートブック・セッションのライフサイクル・スクリプトURL。

ユーザー指定

NB_SCRIPT_OUTPUT_LOG_NAMESPACE

ノートブック・ライフサイクル・スクリプト出力ログのオブジェクト・ストレージ・ネームスペース。

ユーザー指定

NB_SCRIPT_OUTPUT_LOG_BUCKET

ノートブック・ライフサイクル・スクリプト出力ログのオブジェクト・ストレージ・バケットです。

ユーザー指定

カスタム環境変数キー

システム提供の変数に加えて、ノートブック・セッションにカスタム環境変数キーを追加できます。ノートブック・セッションを作成するときに、カスタム変数をキーと値のペアとして「ランタイム構成」セクションに追加します。

キーと値のペアの制約
  • キーおよび値では、大文字と小文字が区別されます。

  • キーは文字またはアンダースコアで始まり、英数字およびアンダースコアのみを含める必要があります。

  • キー長は2文字以上32文字以下です。

  • 値の長さは、1文字以上256文字以下です。

  • キーは、サービス予約ネームスペースoci_internal_で始めることはできません。

  • キーをサービス管理変数にすることはできません。

既存のノートブック・セッションの場合は、ノートブック・セッションを非アクティブ化します。次に、ノートブックをアクティブ化するときに、「ランタイム構成」セクションにキーと値のペアを追加します。

カスタム環境変数キーを使用したノートブック・セッション・ライフサイクル・スクリプトの管理

ノートブック・セッションのライフサイクル・スクリプトを使用すると、次のように、ノートブック・セッションの様々なライフサイクル状態でカスタム・スクリプトを実行できます:

  • 作成

  • アクティブ

  • 解除

  • 削除

ノートブック・ライフサイクル・スクリプトを実行するには、スクリプトを実行するライフサイクル状態を示す「ランタイム構成」セクションで、サービス管理キーを渡します。対応する値フィールドで、ライフサイクル・スクリプトがアップロードされたOCIオブジェクト・ストレージ・ファイルURIを指定します。

ライフサイクルの削除および非アクティブ化のスクリプトが完了するまで、ノートブックの状態は変化しません。ライフサイクル・スクリプトを作成してアクティブ化すると、ノートブック・セッションと並行して実行されるため、開始の遅延は発生しません。

様々なユースケースに合せて変更できるノートブック・ライフサイクル・スクリプトの例をいくつか提供しました。

ノートブック・ライフサイクル・スクリプトを使用するには、ノートブック・セッションのリソース・プリンシパルを使用する動的グループおよびポリシーを作成する必要があります。ライフサイクル・スクリプトを含むオブジェクト・ストレージ・バケットのノートブック動的グループに読取り権限を付与する必要があります。

ノートブック・セッションのライフサイクル・スクリプト環境変数キーは次のとおりです:

NB_ONCREATE_SCRIPT_URL
NB_ONACTIVATE_SCRIPT_URL
NB_ONDEACTIVATE_SCRIPT_URL
NB_ONDELETE_SCRIPT_URL

次の例のように、データ・サイエンスがスクリプト・バケットからオブジェクトを読み取ることができるように、これらのキーに次のIAMポリシーが追加されている必要があります:


allow dynamic-group <notebook_dyn_group> to manage objects in tenancy
 where all {target.bucket.name='<scripts_bucket>',
            any {request.permission='OBJECT_INSPECT',
                 request.permission='OBJECT_READ'}}

前のノートブック・ライフサイクル・スクリプト・キーに対応するサービス管理キーの場合、値はアップロードされたスクリプトへのOCIオブジェクト・ストレージ・ファイルURIである必要があります。URI形式はhttps://objectstorage.region.oraclecloud.com/n/object-storage-namespace/b/bucket/o/filenameです。ファイルURIは、「オブジェクトの詳細」セクションにあります。

ノートブック・セッションのライフサイクル出力スクリプトの環境変数キーは次のとおりです:

NB_SCRIPT_OUTPUT_LOG_NAMESPACE
NB_SCRIPT_OUTPUT_LOG_BUCKET

次の例のように、データ・サイエンスがログ・バケットに出力ログを作成してアップロードできるように、これらのキーに次のIAMポリシーが追加されている必要があります:


allow dynamic-group <notebook_dyn_group> to manage objects in tenancy
 where all {target.bucket.name='<logs_bucket>',
            any {request.permission='OBJECT_CREATE'}}

作成およびアクティブ化スクリプト・ログは、/opt/log/odsc.logディレクトリの実行時構成と同じパスにあるノートブック・セッション内で使用できます。

ログ・アップロードはノートブック・セッションの非アクティブ化または削除操作で行われ、ノートブック・セッション・アクセスを失ったためにスクリプト処理のステータスを確認するオプションが提供されます。これは、スクリプトの作成およびアクティブ化ではサポートされていません。

ランタイム構成を使用したGitリポジトリのクローニング

Gitリポジトリは、ランタイム構成を使用してノートブック・セッション内でクローニングできます。このアプローチでクローニングできるのは、パブリックGitリポジトリのみです。プライベートGitリポジトリをクローニングするには、認証にSSHキーを使用します。

サービスでノートブック・セッションのローカル・ディレクトリにGitリポジトリをクローニングし、Gitを使用できます。

Git制約
  • ノートブックには、Gitリポジトリのクローニング用のインターネット・アクセスが必要です。

  • パブリックGitリポジトリのみがサポートされています。

  • 最大3つのGitリポジトリURLが許可されます。

  • URLの最大長は256文字です。

ノートブック・セッションのGit関連ディレクトリ
  • ノートブック・セッションの/home/datascience/reposディレクトリでGitリポジトリのクローンを検索します。
  • 成功、失敗、進行中などのクローン・ステータスについては、/opt/log/odsc.logに移動します。
  • 詳細なログの場合は、/var/log/jupyterlab/runtime_config.logに移動します。

ノートブック・セッションのターミナルからログにアクセスします。

既存のノートブック・セッションの場合は、ノートブック・セッションを非アクティブ化します。次に、ノートブックをアクティブ化するときに、「ランタイム構成」セクションにGitリポジトリURLを追加します。

新しいGitリポジトリURLを使用してノートブック・セッションをアクティブ化すると、「ランタイム構成」セクションにリストされたURL(非アクティブ化されたノートブック・セッションからの以前のURLも含め)もノートブックの/home/datascience/reposディレクトリにクローニングされます。

ノートブック・セッションからクローニングされたリポジトリを削除するには、ノートブック・セッションの/home/datascience/reposディレクトリから削除できます。

非アクティブなノートブックの古いクローンを新しいものに置き換えるには、「ランタイム構成」セクションにリストされている不要なGitリポジトリURLを削除し、新しいURLを追加してから、ノートブック・セッションをアクティブ化します。