メインコンテンツまでスキップ
waffle.svg
Domo Knowledge Base

コマンドラインインターフェース(CLI)ツール

Version 1

 

はじめに

コマンドラインインターフェース(CLI)ツールを使用すると、膨大なDataSetをアップロードする、ページ、ユーザー、グループを管理する、DataSetをエクスポートするなどのデータ管理機能を実行できます。検索、AWS S3でのインポート/エクスポート、DataFusionヘルパーなど、その他にも便利な機能が多数用意されています。大きなファイルを自動的に小さく分割することによって、CSVファイルやgzipしたCSVファイルをDomoインスタンスに素早くアップロードできます。

CLIツールを使用する

インストールして起動する

CLIツールをインストールして起動するには、次の手順を実行します。

  1. [管理者設定] > [ツールダウンロード] に移動し、[CLIツールをダウンロード] を選択します。

  2. マシンでコマンドラインインターフェースを開きます(Macユーザーの場合はTerminal)。

  3. 単一のコマンドまたはスクリプトでCLIツールを実行します。

    ヒント:Windowsマシンを使用している場合は、.jarファイルをc:\domo\javaなどのフォルダに置きます。そうすると、次のコマンドラインを使用してCLIツールを起動できます。java -jar c:\domo\java\domoUtil.jar

利用可能なコマンド

現在、DomoのCLIツールでは、次のコマンドがサポートされています。

help すべてのコマンド名を表示します。
help [command name] 指定したコマンドのフラグとパラメーターを表示します(例:help upload-datasetであれば、このコマンドを実行する際に使用できるパラメーターと必須のパラメーターがすべて表示されます)。
check-for-updates システムアップデートを確認します。
connect

Domoサーバーに接続します。

重要:新しいセッションごとにconnectコマンドを実行する必要があります。実行しないと、認証エラーが発生します。
disconnect Domoサーバーとの接続を切断します。
whoami Domoサーバーの現在のユーザーIDを表示します。
get-user DomoユーザーをメールまたはIDで返します。単一のユーザーまたはユーザーリスト全体を取得できます。必要に応じて、「mailbox」(@domo.com)でフィルターしたり、 「add-user-to-group」の出力をフォーマットしたりすることもできます。
create-user Domoユーザーを作成します。
get-group Domoグループを名前で返します。
add-user-to-group Domoグループにユーザーを追加します。ユーザーIDのカンマで区切ったリストが想定されます。グループIDを取得するには、「get-group」を使用します。
subscribe-user-to-alert ユーザーをアラートにサブスクライブします。「get-alerts」を使用して、アラートIDを取得します。
get-alerts アラートのリストを取得します。オプションのオブジェクトIDとタイプでは、特定のオブジェクトに関連付けられているアラートが返されます。
search-domo エンティティータイプと検索語でDomoを検索します。有効なエンティティーには、ページ、カード、ユーザー、グループ、DataSetがあります。
move-page ナビゲーション階層でページを移動します。
move-data Domo DataSetから別のDataSetにデータを移動します。
rename-card カードの名前をIDで変更します。
backup-card 指定したカードをJSON Blobとしてファイルまたは標準出力にエクスポートします。エクスポートしたものは、後で復元に使用できます。
restore-card JSON Blobからカードを復元します。
generate-card-image カードをPNG画像で生成します。
list-dataset Domo DataSetのリストを表示します。
get-schema 指定されたDomo DataSetスキーマを返します。
get-version 指定されたDomo DataSetバージョンを返します。
create-dataset Domo DataSetを作成します。
create-dataview-payload 指定されたDataSetにDataViewを作成するためのペイロードを返します。
create-dataview Domo DataViewを作成します。
delete-dataset Domo DataSetを削除します。
delete-rows 指定された行のデータをDomo DataSetから削除します。この機能は、Upsertが有効になっているDataSetでのみ機能します。CSVファイルには、削除する行のUpsertの「key」列のみを含める必要があります。
derive-schema 入力ファイルからDataSetスキーマを取得します。
define-upsert DataSet Upsert列を定義します。
upload-dataset Domo DataSetにデータをアップロードします。
注記:サイズによっては、ファイルが必要に応じて複数に分割されてアップロードされます。圧縮後のファイルサイズを20 MB以下に抑えることをお勧めします。
upload-redshift Redshift読み込み解除クエリからDomoにデータをアップロードします。
upload-hive Hadoop HivクエリからデータをDomoにアップロードします。
upload-s3 S3バケットからDomoにデータをアップロードします。
index-dataset 指定したデータソースのインデックス作成プロセスを開始します。
dataset-run-now Domo DataSetのインポートを開始します。onboardImportIdまたはstreamIdを取得するには、「list-dataset」コマンドを実行する必要があります。
data-split アップロード前に、1つの入力CSVファイルを、追加の操作が行えるように個々のgzipされたパーツに分割します。
abort-upload インデックスチェーンからデータのバージョンを削除します。データバージョンの全リストを取得するには、「get-version」を使用します。
query-data DataSetにクエリを実行し、結果をCSVファイルに書き込みます。
export-data DataSetをCSVファイルにエクスポートします。
get-fusion-columns 指定されたDataFusionの列名を返します。
rename-fusion-columns DataFusionの列の名前を変更します。
enable-fusion-pdp DataFusionでPDPを有効/無効にします。
get-fusion-pdp DataFusionの指定されたPDPポリシーを返します。
quit アプリケーションを終了します。

コマンドの使用事例

Domoインスタンスに接続する

Domoインスタンスに接続するには、connectコマンドを実行して、次のパラメーターを入力します。

-p、--password <PASSWORD> Domoログインパスワード
-u、--username <USERNAME> Domoログインユーザー名
-s、--server <SERVERNAME> Domoサーバー
-pp、--proxypassword <proxypassword> プロキシパスワード
-ps、--proxyserver <proxyserver> プロキシサーバー
-pt、--proxyport <proxyport> プロキシポート
-pu、--proxyuser <proxyuser> プロキシユーザー
-t、--token <TOKEN> トークン

connect -u jim.smith@xyzcompany.com -p abc123 -s xyzcompany.domo.com

connect -s xyzcompany.domo.com -t mffde8e727f825ae23e1117070f0ad67cfeb40c607dddd

Domoインスタンスとの接続を切断する

Domoインスタンスとの接続を切断するには、パラメーターなしでdisconnectコマンドを実行します。 

新規にDataSetを作成する

CLIツールを使用して新規にDataSetを作成するには、次の手順を実行します。

  1. Domoアクセストークンを作成します。アクセストークンの作成方法と管理方法についての詳細は、「アクセストークンを管理する」を参照してください。 

  2. derive-schemaコマンドを実行し、DomoにアップロードするDataSetのJSON形式のスキーマファイルを取得します。

    注記:既存のCSVファイルからスキーマを取得するには、次のコマンドを使用します。「filename.csv」は自分のファイル名に置き換えます。derive-schema -d 'C:\directory\filename.csv' -s 'C:\directory\schemafile.json'
  3. 少数の行を含むクリーンで誤りのないCSVを生成し、データの事前チェックを実行します。スキーマファイルを取得し、create-datasetコマンドを実行してアップロードが機能することを確認します。その後は、自分の判断でDomoからそのDataSetを削除できます。

    ヒント:CSV内にエスケープするカンマがある場合は、二重引用符(")で囲む必要があります。囲まない場合、カンマはCLIツールによって区切り文字として使用されます。
  4. コマンドが成功すると、DataSet IDが表示されます。

  5. 事前チェックが成功したら、完全なファイルのスキーマファイルを使用してcreate-datasetコマンドを実行します。

DataSetを削除する

DomoのDataSetを削除するには、delete-datasetコマンドを使用します。[dataset id] は、削除するDataSetのIDに置き換えます。

delete-dataset -id [dataset id]

list-datasetコマンドを使用すると、DataSet IDのリストを取得できます。

DataSetにデータをアップロードする

作成したデータをDataSetにアップロードするには、upload-datasetコマンドを使用します。[dataset id] は、更新するDataSetのIDに置き換えます。

重要:デフォルトでは、appendパラメーターを使用せずにDataSetを更新すると、既存のDataSet全体が新しいアップロードに置き換えられます。

upload-datasetコマンドで利用可能なパラメーターは、次のとおりです。

-a、--append 既存のデータに追加します。
-c、--compressed データファイルはGzip圧縮されます。
-d、--dir <DIRECTORY> データ(CSV)ディレクトリ。
-f、--data <FILENAME> データ(CSV)ファイル。
-h、--headers データファイルにはヘッダー行があります。
-i、--id <ID> DataSet ID。
-p、--partition <arg> パーティションタグ。
-t、--temp-dir <TEMP> 使用する一時的なパス。

upload-dataset -id [dataset id] -data "c:\directory\datafile.csv"

upload-dataset -i <dataset_id> -f <filename>

upload-dataset -i <dataset_id> -f <filename> -a

upload-dataset -i <dataset_id> -f <filename> -a -p <partition_name>

upload-dataset -i <dataset_id> -d <directory_name>

ユーザーを作成する

CLIツールを使用して、メール、メール招待状を送信するかどうか、フルネーム、およびそれらのアクセス権限を指定して、ユーザーを作成します。現在、管理者、パワーユーザー、編集ユーザー、閲覧ユーザー、ソーシャルのアクセス権限を持つユーザーを作成できます。

create-user -n 'James Smith' -r Editor -i true -e jim.smith@xyzcompany.com

データをクエリ(エクスポート)

重要:デフォルトでは、クエリは最大100万行を返します。クエリにはより高い制限を指定できますが、結果が大きすぎる場合はタイムアウトが発生する可能性があります。フルエクスポートの場合は、export-dataコマンドを使用します。

query-dataコマンドは、指定されたDataSet IDからCSVファイルにデータをエクスポートします。このコマンドでは、-qまたは-qfのいずれかのパラメーターを使用する必要があります。

注記:エクスポートされるファイルは、指定されたDataSetに設定されているPersonalized Data Permissions(PDP)に従います。

このコマンドで利用可能なパラメーターは、次のとおりです。

-i、--id <ID> DataSet ID
-q、--query <QUERY> ファイルをJSON形式でクエリ
-qf、--queryfile <QUERYFILE> クエリファイル名
-xf、--exportfile <EXPORTNAME> エクスポートファイル名

query-data -i [dataset id] -qf [query file in JSON format] -xf [filename]

カード画像を生成

generate-card-imageコマンドは、指定されたカードIDのPNG画像を生成します。

generate-card-image -i [card id] -f [file name]

ページを移動

move-pageコマンドを使用すると、階層内の最上位ページとしてページを上に移動したり、階層内のサブページにページを移動したりできます。

このコマンドで利用可能なパラメーターは、次のとおりです。

-a、--move type ページの移動先に応じて昇格または降格を選択します。
-c、--page ページID
-p、--newparentpage ページを降格する場合の親ページID。
ページを降格

move-page -a demote -c 1234567 -p 7654321

ページを昇格

move-page -a promote -c 1234567

ヒント:ページIDの確認方法についての詳細は、「ページIDを探す」を参照してください。

データを移動

move-dataコマンドを使用すると、既存のDataSetから別の既存のDataSetにデータを移動できます。

このコマンドで利用可能なパラメーターは、次のとおりです。

-a、--append 既存のデータに追加
-d、--destination <destination> 宛先DataSet
-s、--source <source> ソースDataSet

move-data -a -s [DataSet ID of where the data will be moved to] -d [DataSet ID of where the data is coming from]

注記:replaceメソッドを使用してデータを移動する場合は、コマンドラインから-aパラメーターを削除します。

DataSetのリストを表示する

list-datasetコマンドは、所有者、検索語、特定のDataSet IDに基づいてすべてのDataSetのリストを表示します。 

このコマンドで利用可能なパラメーターは、次のとおりです。

-i、--id <ID> DataSet ID
-n、--name-like <NAME_PATTERN> フィルターに名前を付ける
-o、--owner-id <TYPE> DataSet所有者ID
注記現在認証されているユーザーを使用する場合は、DataSet所有者IDの代わりに「me」を使用します。

list-dataset -o me -name-like "sales"

list-dataset -name-like "marketing"

Domoを検索

search-domoコマンドは、エンティティータイプと検索語でDomoからリストを検索してエクスポートします。 

このコマンドで利用可能なパラメーターは、次のとおりです。

-e、--entities <ENTITIES> エンティティータイプ。有効なエンティティーは、app、buzz、buzz_channel、connector、dataflow、dataset、dojo_message、feature、knowledge_base、project、task、page、card、user、groupです。
-f、--filename <NAME> 情報をエクスポートするファイル名。
-l、--limit <LIMIT> 結果の上限。
-o、--offset <OFFSET> 結果のオフセット。
-t、--term <TERM> 検索語。

search-domo -e "card,dataset" -t "sales"

ログインユーザーを確認

whoamiコマンドは、現在ログインしている個人のユーザー名とユーザーIDを返します。このコマンドにはパラメーターはありません。

> whoami

John Smith (userid: 123456789)

セッションを終了する

CLIセッションを終了するには、disconnectquitのコマンドを実行します。これらのコマンドにはパラメーターはありません。

スクリプティング

コマンドプロンプトで上述のコマンドを入力することもできますが、そのコマンドを含むテキストファイルを作成してスクリプトファイルとして実行することもできます。

スクリプトファイルの例

connect -t [access token id] -s xyzcompany.domo.com
upload-dataset -id [dataset id] -data "c:\directory\datafile.csv" -append
quit

スクリプトファイルの実行例

java -jar domoUtil-2.31.jar -script c:\directory\uploadfile.script

ヒント:上述の例の「uploadfile.script」は、自分のスクリプトファイルの名前に変更してください。