input_data update_metadata#

Description#

入力データのメタデータを更新します。

Examples#

基本的な使い方#

--input_data_id にメタデータを付与する入力データのinput_data_idを指定してください。

input_data_id.txt#
input1
input2
...

--metadata に入力データに設定するメタデータをJSON形式で指定してください。 メタデータの値は文字列のみ指定できます。

$ annofabcli input_data update_metadata --project_id prj1 \
--input_data_id file://input_data_id.txt \
--metadata '{"category":"202010"}'

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

注釈

入力データのメタデータは input_data list コマンドで確認できます。 input_data list の出力結果は情報量が多いので、以下のようにjqコマンドを使って情報を絞り込むと、見やすくなります。

$ annofabcli input_data list --project_id prj1 --input_data_id input1 --format json |
    jq '[.[] | {input_data,metadata}]'
[
    {
        "input_data_id": "input1",
        "metadata": {
            "category": "202010"
        }
    }
]
$ annofabcli input_data update_metadata --project_id prj1 --input_data_id input1 \
 --metadata '{"category":"202010"}'

$ annofabcli input_data list --project_id prj1 --input_data_id input1 \
 --format json | jq '.[].metadata'
{
    "category": "202010"
}

# メタデータの一部のキーのみ更新する
$ annofabcli input_data update_metadata --project_id prj1 --input_data_id input1 \
 --metadata '{"country":"Japan"}'

$ annofabcli input_data list --project_id prj1 --input_data_id input1 \
 --format json | jq '.[].metadata'
{
    "category": "202010",
    "country":"Japan"
}

# メタデータ自体を上書きする
$ annofabcli input_data update_metadata --project_id prj1 --input_data_id input1 \
 --metadata '{"weather":"sunny"}' --overwrite

$ annofabcli input_data list --project_id prj1 --input_data_id input1 \
 --format json | jq '.[].metadata'
{
    "weather":"sunny"
}

警告

入力データのメタデータを更新すると、入力データの updated_datetime (更新日時)が更新されます。 入力データの更新日時は、入力データの登録以外でも更新されることに注意してください。

入力データごとにメタデータを指定する#

--metadata_by_input_data_id を指定すれば、入力データごとにメタデータを指定できます。

all_metadata.json#
{
  "input_data1": {"country":"japan"},
  "input_data2": {"country":"us"}
}
$ annofabcli input_data update_metadata --project_id prj1 \
 --metadata_by_input_data_id file://all_metadata.json

並列処理#

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

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

Usage Details#

入力データのメタデータを更新します。

usage: annofabcli input_data update_metadata [-h] [--yes]
                                             [--endpoint_url ENDPOINT_URL]
                                             [--annofab_user_id ANNOFAB_USER_ID]
                                             [--annofab_password ANNOFAB_PASSWORD]
                                             [--annofab_pat ANNOFAB_PAT]
                                             [--logdir LOGDIR] [--disable_log]
                                             [--debug] -p PROJECT_ID
                                             [-i INPUT_DATA_ID [INPUT_DATA_ID ...]]
                                             (--metadata METADATA | --metadata_by_input_data_id METADATA_BY_INPUT_DATA_ID)
                                             [--overwrite]
                                             [--parallelism {2,3,4}]

Named Arguments#

-p, --project_id

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

-i, --input_data_id

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

--metadata

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

--metadata_by_input_data_id

キーが入力データID, 値がメタデータ( --metadata 参照)であるオブジェクトをJSON形式で指定してください。 (ex) '{"input_data1": {"country": "japan"}}'

file:// を先頭に付けると、JSON形式のファイルを指定できます。

--overwrite

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

--parallelism

Possible choices: 2, 3, 4

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

global optional arguments#

--yes

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

--endpoint_url

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

Default: 'https://annofab.com'

--annofab_user_id

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

--annofab_password

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

--annofab_pat

Annofabにログインする際のパーソナルアクセストークン

--logdir

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

Default: .log

--disable_log

ログを無効にします。

--debug

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

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