task update_metadata#

Description#

タスクのメタデータを更新します。

Examples#

タスクのメタデータを更新します。

基本的な使い方#

--task_id にメタデータを付与するタスクのtask_idを指定してください。

task_id.txt#
task1
task2
...

--metadata にタスクに設定するメタデータをJSON形式で指定してください。 メタデータの値には文字列、数値、真偽値のいずれかを指定できます。

$ annofabcli task update_metadata --project_id prj1 --task_id file://task_id.txt \
 --metadata '{"priority":2, "rquired":true, "category":"202010"}'

デフォルトでは --metadata に指定したキーのみ更新されます。メタデータ自体を上書きする場合は --overwrite を指定してください。

$ annofabcli task update_metadata --project_id prj1 --task_id task1 \
 --metadata '{"category":"202010"}'

$ annofabcli task list --project_id prj1 --task_id task1 \
 --format json --query "[0].metadata"
{"category": "202010"}

# メタデータの一部のキーのみ更新する
$ annofabcli task update_metadata --project_id prj1 --task_id task1 \
 --metadata '{"country":"Japan"}'
$ annofabcli task list --project_id prj1 --task_id task1 \
 --format json --query "[0].metadata"
{"category": "202010", "country":"Japan"}

# メタデータ自体を上書きする
$ annofabcli task update_metadata --project_id prj1 --task_id task1 \
 --metadata '{"weather":"sunny"}' --overwrite
$ annofabcli task list --project_id prj1 --task_id task1 \
 --format json --query "[0].metadata"
{"weather":"sunny"}

注釈

--overwrite --yes の両方を指定すると、通常より処理時間が大幅に短くなります。これは、task_idを複数指定できる patchTasksMetadata WebAPIを使ってタスクのメタデータを更新するからです。 1万件以上の大量のタスクに対して初めてメタデータを付与するときは、--overwrite --yes オプションを指定することを推奨します。

並列処理#

以下のコマンドは、並列数4で実行します。

$ annofabcli task update_metadata --project_id prj1 \
 --task_id file://input_data_id.txt \
 --metadata '{"category":"202010"}' --parallelism 4 --yes

Usage Details#

タスクのメタデータを上書きして更新します。

usage: annofabcli task update_metadata [-h] [--yes]
                                       [--endpoint_url ENDPOINT_URL]
                                       [--annofab_user_id ANNOFAB_USER_ID]
                                       [--annofab_password ANNOFAB_PASSWORD]
                                       [--mfa_code MFA_CODE] [--logdir LOGDIR]
                                       [--disable_log] [--debug] -p PROJECT_ID
                                       -t TASK_ID [TASK_ID ...] --metadata
                                       METADATA [--overwrite]
                                       [--parallelism PARALLELISM]

Named Arguments#

-p, --project_id

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

-t, --task_id

対象のタスクのtask_idを指定します。 file:// を先頭に付けると、task_idの一覧が記載されたファイルを指定できます。

--metadata

タスクに設定する metadata をJSON形式で指定してください。メタデータの値には文字列、数値、真偽値のいずれかを指定してください。 file:// を先頭に付けると、JSON形式のファイルを指定できます。

--overwrite

指定した場合、メタデータを上書きして更新します(すでに設定されているメタデータは削除されます)。指定しない場合、 --metadata に指定されたキーのみ更新されます。

--parallelism

使用するプロセス数(並列度)を指定してください。指定する場合は必ず --yes を指定してください。指定しない場合は、逐次的に処理します。

global optional arguments#

--yes

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

--endpoint_url

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

Default: "https://annofab.com"

--annofab_user_id

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

--annofab_password

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

--mfa_code

Annofabにログインする際のMFAコード

--logdir

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

Default: .log

--disable_log

ログを無効にします。

--debug

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

オーナまたはアノテーションユーザロールを持つユーザで実行してください。