input_data create#

Description#

入力データを作成します。

Examples#

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

入力データ情報が記載されたCSVファイルを元に、入力データを作成します。

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

  • カンマ区切り

  • ヘッダ行あり

列名

必須

備考

input_data_name

Yes

input_data_path

Yes

先頭が file:// の場合、ローカルのファイルを入力データに使用します。

input_data_id

No

省略した場合はinput_data_nameに近い値(IDに使えない文字を加工した値)になります。

各項目の詳細は AnnofabのWebAPIドキュメント を参照してください。

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

input_data.csv#
input_data_name,input_data_path,input_data_id
data1,s3://example.com/data1,id1
data2,s3://example.com/data2,id2
data3,https://example.com/data3,
data4,file://sample.jpg,
data5,file:///tmp/sample.jpg,

警告

プライベートストレージが利用可能な組織配下のプロジェクトでしか、 input_data_path に https または s3 スキームを利用できません。 プライベートストレージを利用するには、Annofabサポート窓口への問い合わせが必要です。 詳細は https://annofab.readme.io/docs/external-storage を参照してください。

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

$ annofabcli input_data create --project_id prj1 --csv input_data.csv

すべての入力データに共通のメタデータを設定する場合は、 --metadata にJSONを指定してください。

$ annofabcli input_data create --project_id prj1 --csv input_data.csv \
 --metadata '{"category":"image"}'

input_data_idが一致する入力データが既に存在する場合、デフォルトではスキップします。入力データを上書きする場合は、 --overwrite を指定してください。

$ annofabcli input_data create --project_id prj1 --csv input_data.csv --overwrite

JSON文字列を指定する場合#

入力データ情報が記載されたJSONファイルを元に、入力データを作成します。

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

input_data.json#
[
    {
        "input_data_name":"data1",
        "input_data_path":"file://sample.jpg"
    },
    {
        "input_data_name":"data2",
        "input_data_path":"s3://example.com/data2",
        "input_data_id":"id2",
        "metadata":{"category":"image"}
    }
]

JSONのキーは、--csv に指定するCSVファイルの列に対応します。 metadata を指定すると、その入力データにだけメタデータを設定できます。

--json にJSON形式の文字列、またはJSONファイルのパスを指定できます。

$ annofabcli input_data create --project_id prj1 --json file://input_data.json

--metadata に指定した共通メタデータと、各入力データの metadata に同じキーがある場合は、各入力データの metadata が優先されます。

並列処理#

--csv または --json を指定したときは、並列実行が可能です。

$ annofabcli input_data create --project_id prj1 --csv input_data.csv \
--parallelism 4 --yes

Usage Details#

入力データを作成します。

usage: annofabcli input_data create [-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
                                    (--csv CSV | --json JSON)
                                    [--metadata METADATA] [--overwrite]
                                    [--allow_duplicated_input_data]
                                    [--parallelism {2,3,4}]

Named Arguments#

-p, --project_id

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

--csv

入力データが記載されたCSVファイルのパスを指定してください。CSVのフォーマットは、以下の通りです。詳細は https://annofab-cli.readthedocs.io/ja/latest/command_reference/input_data/create.html を参照してください。

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

  • 必須列: input_data_name, input_data_path

  • 任意列: input_data_id

--json

作成対象の入力データをJSON形式で指定してください。 JSONの各キーは --csv に渡すCSVの各列に対応しています。 metadata キーを指定した場合は、その入力データにだけメタデータを設定します。 file:// を先頭に付けるとjsonファイルを指定できます。 (ex) [{"input_data_name":"data1", "input_data_path":"file://lenna.png"}]

--metadata

入力データに設定する共通の metadata をJSON形式で指定してください。メタデータの値には文字列を指定してください。 file:// を先頭に付けると、JSON形式のファイルを指定できます。 --json に指定した入力データの metadata と同じキーがある場合は、入力データごとの metadata が優先されます。

--overwrite

指定した場合、input_data_idがすでに存在していたら上書きします。指定しなければ、スキップします。

--allow_duplicated_input_data

--csv , --json に渡した入力データの重複(input_data_name, input_data_path)を許可します。

--parallelism

Possible choices: 2, 3, 4

並列度。指定しない場合は、逐次的に処理します。指定する場合は必ず --yes を指定してください。

common options (after the subcommand)#

--yes

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

--endpoint_url

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

--annofab_user_id

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

--annofab_password

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

--annofab_pat

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

--logdir

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

Default: .log

--disable_log

ログを無効にします。

--debug

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

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