CLIを使用したワークロードの管理¶
プレミアム機能
Workload APIはプレミアム機能です。 この機能を有効にする方法については、DataRobotの担当者または管理者にお問い合わせください。
dr workloadコマンドグループは、ターミナルからワークロードを作成および運用します。 コマンドの構成は以下のとおりです。
dr workload <command> [flags]
このグループは、ワークロードの実行ライフサイクル全体を網羅しています。
| サブコマンド | 説明 |
|---|---|
| CRUD | create, get, list, delete |
| ライフサイクル | start, stop, status |
| Invoke | endpoint |
| Observe | logs |
開始する前に、コマンドグループを有効にし、認証を行います。 dr workloadおよびdr artifactはデフォルトでは非表示になっています。1つの環境変数を設定することで、両方を有効にできます。
export DATAROBOT_CLI_FEATURE_WORKLOAD=true
dr auth login
以下は、これらのコマンドをdr artifactと組み合わせて使用する典型的なエンドツーエンドのフローです。
# Build and lock the artifact (see dr artifact)
dr artifact build create <artifact-id> --wait
dr artifact lock <artifact-id>
# Create the Workload
dr workload create --spec-file workload.yaml
# Check it's running
dr workload status <workload-id>
# Get the invoke URL
dr workload endpoint <workload-id>
# Tail logs
dr workload logs <workload-id> --follow
# Tear it down when done
dr workload delete <workload-id>
Subcommands¶
| サブコマンド | 説明 |
|---|---|
dr workload create |
YAMLまたはJSONの仕様ファイルからワークロードを作成します。 |
dr workload get |
ID指定で単一のワークロードの詳細を表示します。 |
dr workload list |
必要に応じてフィルターを設定して、ワークロードを一覧表示します。 |
dr workload delete |
ID指定でワークロードを削除します。 |
dr workload start |
Start a stopped Workload. |
dr workload stop |
実行中のワークロードを削除せずに停止します。 |
dr workload status |
ワークロードの現在のステータスを表示します。 |
dr workload endpoint |
ワークロードの呼び出しURLを出力します。 |
dr workload logs |
ワークロードのランタイムログを出力またはストリーミングします。 |
dr workload create¶
YAMLまたはJSONの仕様ファイルからワークロードを作成します。
dr workload create --spec-file <path> [--output-format text|json]
| 引数/フラグ | 説明 |
|---|---|
--spec-file <path> |
YAMLまたはJSON仕様ファイルへのパス。 必須。 |
--output-format <text\ | json> |
出力形式。 デフォルトはtextです。 |
仕様ファイルの形式¶
仕様ファイルにはワークロードが記述されており、アーティファクトへの参照、またはインラインのアーティファクト仕様が指定されています。 両方のモードの説明については、ワークロードを作成する2つの方法を参照してください。
name: my-api-service
artifactId: 67890abcdef1234567890abc # locked artifact
importance: low
runtime:
containerGroups:
- name: default
replicaCount: 1
containers:
- name: main
resourceAllocation:
cpu: 1
memory: "512Mi"
name: my-api-service
importance: low
artifact:
name: my-api-service-artifact
spec:
containerGroups:
- containers:
- imageUri: ghcr.io/my-org/my-app:latest
port: 8000
primary: true
readinessProbe:
path: /readyz
port: 8000
initialDelaySeconds: 10
livenessProbe:
path: /healthz
port: 8000
initialDelaySeconds: 30
runtime:
containerGroups:
- name: default
replicaCount: 1
containers:
- name: main
resourceAllocation:
cpu: 1
memory: "512Mi"
例¶
dr workload create --spec-file workload.yaml
ID: 67890abcdef1234567890wld
Name: my-api-service
Status: launching
Endpoint: —
Type: service
Importance: low
Artifact ID: 67890abcdef1234567890abc
Created: 2026-05-14 10:00 UTC
Updated: 2026-05-14 10:00 UTC
dr workload create --spec-file workload.yaml --output-format json
{
"id": "67890abcdef1234567890wld",
"name": "my-api-service",
"status": "launching",
"importance": "low",
"createdAt": "2026-05-14T10:00:00Z",
"updatedAt": "2026-05-14T10:00:00Z"
}
dr workload get¶
ID指定で単一のワークロードの詳細を表示します。
dr workload get <workload-id> [--output-format text|json]
| 引数/フラグ | 説明 |
|---|---|
<workload-id> |
ワークロード ID。 必須。 |
--output-format <text\ | json> |
出力形式。 デフォルトはtextです。 |
例¶
dr workload get 67890abcdef1234567890wld
ID: 67890abcdef1234567890wld
Name: my-api-service
Status: running
Endpoint: https://app.datarobot.com/api/v2/workloads/67890abcdef1234567890wld/
Type: service
Importance: low
Artifact ID: 67890abcdef1234567890abc
Created: 2026-05-14 10:00 UTC
Updated: 2026-05-14 10:05 UTC
dr workload list¶
必要に応じてフィルターを設定して、ワークロードを一覧表示します。
dr workload list [--limit <n>] [--status <status>] [--output-format text|json]
| 引数/フラグ | 説明 |
|---|---|
--limit <n> |
返されるワークロードの最大数。 デフォルトは100です。 |
--status <status> |
ライフサイクルのステータスでフィルターします。 単一の値または複数の値を受け付けます(反復可能なフラグ、またはコンマ区切り。例:--status runningまたは--status running,errored)。 オプションです。 |
--output-format <text\ | json> |
出力形式。 デフォルトはtextです。 |
例¶
dr workload list
枠付きの表として表示されます。
╭──────────────────────────┬────────────────┬─────────┬─────────┬────────────┬──────────────────────╮
│ WORKLOAD ID │ NAME │ STATUS │ TYPE │ IMPORTANCE │ UPDATED │
├──────────────────────────┼────────────────┼─────────┼─────────┼────────────┼──────────────────────┤
│ 67890abcdef1234567890wld │ my-api-service │ running │ service │ low │ 2026-05-14 10:05 UTC │
╰──────────────────────────┴────────────────┴─────────┴─────────┴────────────┴──────────────────────╯
一致するワークロードがない場合、テキスト出力は「ワークロードが見つかりません。」となり、JSON出力は{"workloads": []}となります。
dr workload list --status running --output-format json
{
"workloads": [
{
"id": "67890abcdef1234567890wld",
"name": "my-api-service",
"status": "running",
"type": "service",
"importance": "low",
"artifactId": "67890abcdef1234567890abc",
"endpoint": "https://app.datarobot.com/api/v2/workloads/67890abcdef1234567890wld/",
"createdAt": "2026-05-14T10:00:00Z",
"updatedAt": "2026-05-14T10:05:00Z"
}
]
}
dr workload delete¶
ID指定でワークロードを削除します。 実行中のワークロードは停止され、関連するすべてのProtonが破棄されます。 基となるアーティファクトは削除されません。
dr workload delete <workload-id> [-y|--yes]
| 引数/フラグ | 説明 |
|---|---|
<workload-id> |
ワークロード ID。 必須。 |
-y, --yes |
確認プロンプトをスキップします。 |
dr workload start¶
Start a stopped Workload. すでに実行中または起動中のワークロードには影響しません。
dr workload start <workload-id> [--output-format text|json]
| 引数/フラグ | 説明 |
|---|---|
<workload-id> |
ワークロード ID。 必須。 |
--output-format <text\ | json> |
出力形式。 デフォルトはtextです。 |
dr workload stop¶
実行中のワークロードを削除せずに停止します。 Protonはゼロにスケールダウンされますが、ワークロードのIDとエンドポイントURLは保持されます。 再起動するにはdr workload startを使用します。
dr workload stop <workload-id> [--output-format text|json]
| 引数/フラグ | 説明 |
|---|---|
<workload-id> |
ワークロード ID。 必須。 |
--output-format <text\ | json> |
出力形式。 デフォルトはtextです。 |
dr workload status¶
ワークロードの現在のライフサイクルステータスをプレーンな文字列として出力します。 この値はスクリプト内で直接使用できます。 詳細な情報については、dr workload getを使用してください。
dr workload status <workload-id> [--output-format text|json]
| 引数/フラグ | 説明 |
|---|---|
<workload-id> |
ワークロード ID。 必須。 |
--output-format <text\ | json> |
出力形式。 デフォルトはtextです。 |
すべてのステータス値の説明については、ライフサイクルの状態を参照してください。
例¶
dr workload status 67890abcdef1234567890wld
running
dr workload status 67890abcdef1234567890wld
launching
STATUS=$(dr workload status 67890abcdef1234567890wld)
echo "Workload is: $STATUS"
dr workload endpoint¶
ワークロードの呼び出しURLを出力します。 ワークロードがrunningステータスの場合にのみ使用できます。
dr workload endpoint <workload-id>
| 引数/フラグ | 説明 |
|---|---|
<workload-id> |
ワークロード ID。 必須。 |
例¶
# Print the endpoint
dr workload endpoint 67890abcdef1234567890wld
# Store the endpoint in a variable and invoke it
# Note: the URL ends with a trailing slash; append sub-paths without a leading slash
ENDPOINT=$(dr workload endpoint 67890abcdef1234567890wld)
curl -sS "${ENDPOINT}predict" \
-H "Authorization: Bearer $DATAROBOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"message": "hello"}'
dr workload logs¶
ワークロードのランタイムログを出力またはストリーミングします。
dr workload logs <workload-id> [--level <level>] [--limit <n>] [--follow] [--output-format text|json]
| 引数/フラグ | 説明 |
|---|---|
<workload-id> |
ワークロード ID。 必須。 |
--level <level> |
最低限表示するログレベル:debug、info、warn、warning、error、critical。 オプション。省略した場合は、すべてのレベルが返されます。 |
--limit <n> |
ログが返される際の最大行数。 デフォルトは100です。 |
--follow |
ログを(tail -fのように)継続的にストリーミングします。 停止するには、Ctrl+Cを押します。 |
--output-format <text\ | json> |
出力形式。 デフォルトはtextです。 |
例¶
# Print the last 100 log lines
dr workload logs 67890abcdef1234567890wld
# Filter to errors only
dr workload logs 67890abcdef1234567890wld --level error --limit 100
# Stream logs continuously
dr workload logs 67890abcdef1234567890wld --follow
# Capture logs as JSON for further processing
dr workload logs 67890abcdef1234567890wld --output-format json | jq '.[] | select(.level == "error")'
Error handling¶
| エラー | 原因と解決策 |
|---|---|
not authenticated |
まずdr auth loginを実行します。すべてのdr workloadコマンドには認証が必要です。 |
workload <id> not found |
ワークロードIDが存在しません。 dr workload listでIDを確認してください。 |
invalid spec: required field 'name' is missing or empty |
仕様ファイルのnameが欠落しているか、空になっています。 空ではない文字列を追加してください。 |
invalid spec: exactly one of 'artifact' or 'artifactId' must be set |
インラインのartifactブロックかartifactIdのいずれかを指定してください。両方を指定することや、どちらも指定しないことはできません。 |
artifact <id> not found |
artifactIdが存在しません。 dr artifact listでIDを確認してください。 |
artifact must be locked to create a persistent Workload |
参照されているアーティファクトがまだdraftステータスです。 まずdr artifact lockでロックするか、TTLが8時間のドラフトワークロードの場合はインラインのartifactブロックを使用してください。 |
workload limit reached |
組織において同時実行可能なワークロード数の上限に達しています。 未使用のワークロードを削除して再試行するか、DataRobotの管理者にお問い合わせください。 |
workload <id> has no endpoint URL |
ワークロードにエンドポイントが割り当てられていません。 dr workload statusでステータスを確認してください。エンドポイントは、ワークロードが実行中の場合にのみ使用できます。 |
Exit codes¶
| コード | Meaning |
|---|---|
0 |
Success. |
1 |
エラー(検証失敗、APIエラー、認証未完了など)。 |
130 |
中断されました(Ctrl+C)。 |