ランタイム構成の使用

ノートブック・セッションを作成するときに、ノートブック・セッションで使用するカスタム環境変数キーおよび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

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

ユーザー指定

SECURE_DATA_SESSION

JupyterLabクライアントからのファイル・ダウンロードおよびJupyterLabダウンロードAPIを無効にします。ダウンロード機能を無効にするにはTrueに設定します。

ユーザー指定

カスタム環境変数キー

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

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

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

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

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

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

  • キーをサービス管理変数にできません。

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

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

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

  • 作成

  • アクティブ化

  • 非アクティブ化

  • [Delete]

ノートブック・ライフサイクル・スクリプトを実行するには、スクリプトを実行するライフサイクル状態を示す「ランタイム構成」セクションでサービス管理キーを渡します。対応する値フィールドで、ライフサイクル・スクリプトがアップロードされた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を追加してから、ノートブック・セッションをアクティブ化します。