task put

Description

タスクを作成します。

Examples

基本的な使い方

CSVファイルを指定する場合

タスクに含まれる入力データを記載したCSVを指定して、タスクを作成することができます。

CSVのフォーマットは以下の通りです。

  • カンマ区切り

  • ヘッダ行なし

  • 1列目: task_id

  • 2列目: input_data_id

以下はCSVのサンプルです。

task.csv
task_1,input_data_1
task_1,input_data_2
task_2,input_data_3
task_2,input_data_4

--csv に、CSVファイルのパスを指定してください。

$ annofabcli task put --project_id prj1 --csv task.csv

JSON文字列を指定する場合

タスクと入力データの関係を表したJSONを指定して、タスクを作成することができます。

以下は、JSONのサンプルです。

task.json
{
    "task1": ["input1","input2"],
    "task2": ["input3","input4"],
}

キーにtask_idを指定して、値にinput_data_idの配列を指定してください。

JSON形式の文字列、またはJSONファイルのパスは --json に渡します。

$ annofabcli task put --project_id prj1 --json '{"task1":["input1","input2"]}'

タスクを生成するWebAPIを指定する

タスクを生成するWebAPIは2つあります。

  • put_task : タスクを1個ずつ作成します。

  • initiate_tasks_generation : タスクを一括で生成します。タスク作成ジョブが登録され、ジョブが終了するまで数分待ちます。1個のタスク生成に失敗した場合、すべてのタスクは生成されません。

使用するWebAPIは --api で指定できます。 デフォルトでは、作成するタスク数が少ないときは put_task WebAPI、 タスク数が多いときは initiate_tasks_generation WebAPIが実行されます。

initiate_tasks_generation WebAPIでは、1個のタスク生成に失敗した場合、すべてのタスクは生成されません。 タスク生成に失敗に関わらず、できるだけ多くのタスクを生成したい場合は、 --api put_task を指定することを推奨します。

タスクの作成が完了するまで待つ

タスク作成の処理は、数分かかかります。 タスクの作成が完了するまで待つ場合は、--wait を指定してください。

$ annofabcli task put --project_id prj1 --csv task.csv --wait

Usage Details

タスクを作成します。

usage: annofabcli task put [-h] [--yes] [--endpoint_url ENDPOINT_URL]
                           [--annofab_user_id ANNOFAB_USER_ID]
                           [--annofab_password ANNOFAB_PASSWORD]
                           [--logdir LOGDIR] [--disable_log] [--debug] -p
                           PROJECT_ID (--csv CSV | --json JSON)
                           [--api {put_task,initiate_tasks_generation}]
                           [--parallelism PARALLELISM] [--wait]

Named Arguments

-p, --project_id

対象のプロジェクトのproject_idを指定します。

--csv

タスクに割り当てる入力データが記載されたCSVファイルのパスを指定してください。CSVのフォーマットは、以下の通りです。タスク作成画面でアップロードするCSVと同じフォーマットです。

  • ヘッダ行なし, カンマ区切り

  • 1列目: task_id

  • 2列目: input_data_id

--json

タスクに割り当てる入力データをJSON形式で指定してください。keyがtask_id, valueがinput_data_idのlistです。 (ex) {"task1":["input1","input2"]} file:// を先頭に付けるとjsonファイルを指定できます。

--api

Possible choices: put_task, initiate_tasks_generation

タスク作成に使うWebAPIを指定できます。 --csv or --json を指定したときのみ有効なオプションです。 未指定の場合は、作成するタスク数に応じて、適切なWebAPIを選択します。

--parallelism

並列度。指定しない場合は、逐次的に処理します。put_task WebAPIを使うときのみ有効なオプションです。

--wait

タスク登録ジョブが終了するまで待ちます。initiate_tasks_generation WebAPIを使うときのみ有効なオプションです。

global optional arguments

--yes

処理中に現れる問い合わせに対して、常に yes と回答します。

--endpoint_url

Annofab WebAPIのエンドポイントを指定します。

Default: "https://annofab.com"

--annofab_user_id

Annofabにログインする際のユーザーID

--annofab_password

Annofabにログインする際のパスワード

--logdir

ログファイルを保存するディレクトリを指定します。

Default: .log

--disable_log

ログを無効にします。

--debug

HTTPリクエストの内容やレスポンスのステータスコードなど、デバッグ用のログが出力されます。

オーナロールを持つユーザで実行してください。