# ランタイムパラメーターの定義

> ランタイムパラメーターの定義 - カスタムアプリにランタイムパラメーターを追加することで、アプリケーションのコードを再利用しやすくします。

This Markdown file sits beside the HTML page at the same path (with a `.md` suffix). It summarizes the topic and lists links for tools and LLM context.

Companion generated at `2026-07-27T18:44:30.749767+00:00` (UTC).

## Primary page

- [ランタイムパラメーターの定義](https://docs.datarobot.com/ja/docs/wb-apps/custom-apps/nxt-runtime-parameter-custom-app.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [ランタイムパラメーターの定義](https://docs.datarobot.com/ja/docs/wb-apps/custom-apps/nxt-runtime-parameter-custom-app.html.md#runtime-parameter-definitions): In-page section heading.

## Related documentation

- [資格情報のAPIリファレンスドキュメント](https://docs.datarobot.com/en/docs/api/reference/public-api/credentials.html#schemacredentialsbody): Linked from this page.

## Documentation content

環境変数を定義し、それらをランタイムパラメーターとして組み込むことで、実行時にアプリケーションコードに異なる値を指定できます。これにより、アプリケーションの再利用が容易になります。 コードまたはUIからランタイムパラメーターを定義します。

- コード：アプリケーションのソースにmetadata.yamlファイルを指定します。アプリケーションワークショップでアプリケーションのソースを作成または編集する際に、このファイルを定義します。あるいは、アプリケーションのファイル >作成ドロップダウンから、アプリケーションワークショップで利用可能なテンプレートを使用します。 YAMLの構造はこのページで定義されています。
- UI：アプリケーションワークショップで、アプリケーションソースのランタイムパラメーターセクションにランタイムパラメーターを定義します。 詳細については、アプリケーションソースの管理のドキュメントを参照してください。

ランタイムパラメーターは、環境変数としてコンテナに挿入されます（ `os.getenv` を通じてアクセス可能です）。 [アプリケーションワークショップのUIを通じて作成された](https://docs.datarobot.com/ja/docs/wb-apps/custom-apps/manage-app-source.html.md#runtime-parameters) パラメーターは、新しいコードバージョンをアップロードする際にも保持およびマージされ、シームレスな開発フローが確保されます。

**ランタイムパラメーターに関する注意事項**

システムでは、動的設定で管理される予約済みパターンのブロックリスト（例： `DRUM_*` 、 `MLOPS_*` 、 `KUBERNETES_*` ）が使用されます。 一致判定では、 `*` ワイルドカードがサポートされています（完全な正規表現構文はサポートされていません）。 予約名は完全にはブロックされません。ランタイムパラメーターで予約名が使用されている場合、UIに警告が表示されます。 変数がどのように公開されるかは、コンテキストによって異なります。

- カスタムモデル： システムの競合を防ぐために、未加工の（プレフィックスが付かない）環境変数としてではなく、 プレフィックス付き（ MLOPS_RUNTIME_PARAM_* ）およびJSON形式のみ。
- カスタムアプリ： プレフィックスは付きますが、値はJSONペイロードに格納されません（資格情報を除く）。
- カスタムジョブ： プレフィックスもJSONペイロードもありません（資格情報タイプを除く）。この変数は、未加工の環境変数として使用できます。

資格情報タイプのランタイムパラメーターの場合、システムはJSONフィールドを単一の文字列ではなく、個別の環境変数として自動的に展開します。 たとえば、次のようなJSON構造を持つ `MAIN_AWS_CREDENTIAL` という名前の資格情報があります。

```
{"awsAccessKeyId": "<your-key-id>", "awsSecretAccessKey": "<your-access-key>"} 
```

パラメーター名とJSONキーを組み合わせ、大文字にして、以下の環境変数に展開されます。

```
MAIN_AWS_CREDENTIAL_AWS_ACCESS_KEY_ID="<your-key-id>"
MAIN_AWS_CREDENTIAL_AWS_SECRET_ACCESS_KEY="<your-access-key>" 
```

単一フィールド の資格情報タイプ（たとえば、 `api_token` 、 `bearer` 、または `gcp` ）の場合、挿入される環境変数には、パラメーター名に資格情報のフィールド名を組み合わせた形式（たとえば、 `MY_CRED_API_TOKEN` ）ではなく、ランタイムパラメーター名そのもの（ `MY_CRED` ）が使用されます。 複数フィールド JSONエンコードされたランタイムパラメーター変数（例： `MLOPS_RUNTIME_PARAMETERS_OPEN_AI_API` ）は変更されません。単一フィールドのシークレットにおけるフラット変数のみが、パラメーター名そのものを使用します。

> [!TIP] コンテナ内のランタイムパラメーターへのアクセス
> コンテナ内のランタイムパラメーターにプログラムでアクセスするには、SDK APIリファレンスに記載されているように、 `DataRobotAppFrameworkBaseSettings` を使用します。

## ランタイムパラメーターの定義

ランタイムパラメーターを定義するには、以下の `runtimeParameterDefinitions` を `metadata.yaml` に追加できます。

| キー | 説明 |
| --- | --- |
| fieldName | ランタイムパラメーターの名前を定義します。 |
| type | ランタイムパラメーターに含まれるデータ型（string、boolean、numeric、credential、deployment、modelPackage）を定義します。 |
| defaultValue | （オプション）ランタイムパラメーターのデフォルト文字列値（credentialタイプはデフォルト値をサポートしません） defaultValueを指定せずにランタイムパラメーターを定義した場合、デフォルト値はNoneです。 |
| minValue | （オプション）numericランタイムパラメーターには、ランタイムパラメーターで使用可能な最小数値を設定します。 |
| maxValue | （オプション）numericランタイムパラメーターには、ランタイムパラメーターで使用可能な最大数値を設定します。 |
| credentialType | （オプション）credentialランタイムパラメーターの場合、パラメーターに含める資格情報のタイプを設定します。 |
| allowEmpty | （オプション）ランタイムパラメーターに空のフィールドポリシーを設定します。True：（デフォルト）空のランタイムパラメーターを許可します。False：デプロイ前にランタイムパラメーターの値を指定するよう徹底します。 |
| description | （オプション）ランタイムパラメーターの目的または内容の説明を入力します。 |

```
# Example: metadata.yaml
name: runtime-parameter-example

runtimeParameterDefinitions:
- fieldName: my_first_runtime_parameter
  type: string
  description: My first runtime parameter.

- fieldName: runtime_parameter_with_default_value
  type: string
  defaultValue: Default
  description: A string-type runtime parameter with a default value.

- fieldName: runtime_parameter_boolean
  type: boolean
  defaultValue: true
  description: A boolean-type runtime parameter with a default value of true.

- fieldName: runtime_parameter_numeric
  type: numeric
  defaultValue: 0
  minValue: -100
  maxValue: 100
  description: A boolean-type runtime parameter with a default value of 0, a minimum value of -100, and a maximum value of 100.

- fieldName: runtime_parameter_for_credentials
  type: credential
  allowEmpty: false
  description: A runtime parameter containing a dictionary of credentials. 
```

`credential` ランタイムパラメータータイプは、DataRobot REST APIで使用可能な任意の `credentialType` 値をサポートします。 以下の例に示すように、含まれる資格情報は `credentialType` に依存します。

> [!NOTE] 備考
> サポートされている資格情報タイプの詳細については、 [資格情報のAPIリファレンスドキュメント](https://docs.datarobot.com/en/docs/api/reference/public-api/credentials.html#schemacredentialsbody) を参照してください。

| 資格情報タイプ | 例 |
| --- | --- |
| basic | basic: credentialType: basic description: string name: string password: string user: string |
| azure | azure: credentialType: azure description: string name: string azureConnectionString: string |
| gcp | gcp: credentialType: gcp description: string name: string gcpKey: string |
| s3 | s3: credentialType: s3 description: string name: string awsAccessKeyId: string awsSecretAccessKey: string awsSessionToken: string |
| api_token | api_token: credentialType: api_token apiToken: string name: string |
