ジョブを実行するその他の方法
conda環境やzipファイルの使用など、多数の様々な方法でジョブを使用できます。
zipまたは圧縮tarファイルの使用
ジョブを使用して、単一のファイルにアーカイブしたPythonプロジェクト全体を実行できます。
ジョブとして実行されるzipまたは圧縮されたtarファイルは、データ・サイエンス・サービスconda環境およびカスタムconda環境を利用できます。
ジョブ実行には、JOB_RUN_ENTRYPOINT
環境変数を使用してメイン・エントリ・ファイルを指します。この変数は、zipまたは圧縮tarジョブ・アーティファクトを使用するジョブでのみ使用されます。
データ・サイエンスConda環境の使用
サービスに含まれているデータ・サイエンスconda環境の1つを使用できます。
conda環境は、ジョブ実行に必要なすべてのサードパーティのPython依存関係(Numpy、Dask、XGBoostなど)をカプセル化します。データ・サイエンスconda環境は、サービスに含まれ、メンテナンスされます。ジョブおよびジョブ実行構成の一部としてconda環境を指定しない場合、デフォルトがないため、conda環境は使用されません。
ジョブ・コードは、データ・サイエンスconda環境に埋め込まれます:

カスタムConda環境の使用
zipおよび圧縮されたtarファイルのジョブは、カスタムconda環境またはデータ・サイエンスconda環境で使用できます。
conda環境は、ジョブ実行に必要なすべてのサードパーティのPython依存関係(Numpy、Dask、XGBoostなど)をカプセル化します。カスタムconda環境を作成、公開およびメンテナンスします。ジョブおよびジョブ実行構成の一部としてconda環境を指定しない場合、デフォルトがないため、conda環境は使用されません
ジョブ・コードは、次のようにカスタムconda環境に埋め込まれます:

ランタイムYAMLファイルの使用
コンソールまたはSDKを使用するかわりに、ランタイムYAMLファイルを使用してジョブ環境変数を構成できます。
開始する前に:
jobruntime.yamlおよびconda_pack_test.pyサンプル・ファイルをダウンロードして解凍および確認し、ジョブ・プロジェクトを作成してテストします。
jobruntime.yaml
ファイルを使用すると、プロジェクトでカスタム環境変数を簡単に設定できます。
Vaultの使用
リソース・プリンシパルを使用して、OCI Vaultサービスをデータ・サイエンス・ジョブに統合できます。
開始する前に:
-
ジョブのリソース・プリンシパルがボールトにアクセスできるようにするには、インスタンスまたはリソース・プリンシパルを指定する動的グループがコンパートメントにあることを確認してください。たとえば、次のルールでリソース・プリンシパルと動的グループを使用できます:
all {resource.type='datasciencejobrun',resource.compartment.id='<compartment_ocid>'}
-
ジョブを実行するには、少なくとも動的グループでシークレット・ファミリを管理できる必要があります。例:
Allow dynamic-group <dynamic_group_name> to manage secret-family in compartment <compartment_name>
PythonでのOCI Instance PrincipalsおよびVaultを使用したシークレットの取得のブログ投稿に、有用な詳細情報が記載されています。
-
次を示す
zipped_python_job.zip
サンプル・ファイルをダウンロード、解凍およびレビューします:- Python SDKを使用したジョブでのボールト・クライアントの初期化
- シークレットOCIDを使用してシークレットを読み取ります。
- シークレット・バンドルをデコードし、実際のシークレット・コンテンツを表示します。
ジョブはリソース・プリンシパルにアクセスするため、Python SDKで使用可能なすべてのVaultクライアントを初期化できます。
-
マスター・キーとシークレットを持つボールトを作成し、すべてのジョブ・リソース・プリンシパルに
manage secret-family
のポリシー・ステートメントを追加します。
- コンソールから、新しいジョブを作成します。
- ジョブを実行して、その動作をテストします。
- ジョブ実行をモニターし、正常終了を確認します。
- (オプション)ロギングを使用した場合は、ジョブ実行値を確認するためにそれらを確認できます。