Skip to content

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" 

Command
dr workload create --spec-file workload.yaml 
Output
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 
Command
dr workload create --spec-file workload.yaml --output-format json 
Output
{
  "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です。

Command
dr workload get 67890abcdef1234567890wld 
Output
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です。

Command
dr workload list 

枠付きの表として表示されます。

Output
╭──────────────────────────┬────────────────┬─────────┬─────────┬────────────┬──────────────────────╮
│ WORKLOAD ID              │ NAME           │ STATUS  │ TYPE    │ IMPORTANCE │ UPDATED              │
├──────────────────────────┼────────────────┼─────────┼─────────┼────────────┼──────────────────────┤
│ 67890abcdef1234567890wld │ my-api-service │ running │ service │ low        │ 2026-05-14 10:05 UTC │
╰──────────────────────────┴────────────────┴─────────┴─────────┴────────────┴──────────────────────╯ 

一致するワークロードがない場合、テキスト出力は「ワークロードが見つかりません。」となり、JSON出力は{"workloads": []}となります。

Command
dr workload list --status running --output-format json 
Output
{
  "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です。

すべてのステータス値の説明については、ライフサイクルの状態を参照してください。

Command
dr workload status 67890abcdef1234567890wld 
Output
running 
Command
dr workload status 67890abcdef1234567890wld 
Output
launching 
Command
STATUS=$(dr workload status 67890abcdef1234567890wld)
echo "Workload is: $STATUS" 

dr workload endpoint

ワークロードの呼び出しURLを出力します。 ワークロードがrunningステータスの場合にのみ使用できます。

dr workload endpoint <workload-id> 
引数/フラグ 説明
<workload-id> ワークロード ID。 必須。

Commands
# 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> 最低限表示するログレベル:debuginfowarnwarningerrorcritical。 オプション。省略した場合は、すべてのレベルが返されます。
--limit <n> ログが返される際の最大行数。 デフォルトは100です。
--follow ログを(tail -fのように)継続的にストリーミングします。 停止するには、Ctrl+Cを押します。
--output-format <text\ | json> 出力形式。 デフォルトはtextです。

Commands
# 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)。