dosya CLIのJSON出力を使う

--jsonでコマンド固有のdosya CLIの結果を取得し、警告を標準出力から分離して、各コマンドの仕様に従ってオブジェクトを確認します。

最終確認日

スクリーンショットは英語版の画面です。

--jsonまたは-jを指定すると、整形されたJSONが標準出力に書き込まれます。dosyaはすべてのコマンドの結果を共通の{ok,data}スキーマで囲みません。whoamiはユーザーオブジェクトを出力し、一覧コマンドはAPIの形式を維持し、使用量のコマンドは独自のレポートを作成します。

4つの図で、ストリームを分けたJSONの取得、プロセスの終了ステータスの保存、コマンド固有の形式の解析、必須フィールドの検証を示しています。
図は、ストリームを分けたJSONの取得、終了ステータスの保存、コマンド固有の形式の解析、必須フィールドの検証を示しています。スクリーンショットを原寸で開く。

始める前に

  • 使い捨てのデータまたは読み取り専用データでコマンドを一度実行し、スクリプトに必要なフィールドがあることを確認してください。
  • 標準エラー出力は別に取得してください。JSONモードでも警告とデバッグ情報は標準エラー出力に書き込まれます。
  • config getは保存済みAPIキーを伏せます。JSONは診断に使えますが、認証情報を再現することはできません。

手順

  1. dosya whoami --jsonなどの読み取り専用コマンドを実行し、標準出力と標準エラー出力を別々のファイルにリダイレクトしてください。
  2. 解析する前に終了コードを保存してください。標準エラー出力に失敗の説明があっても、終了コードが非ゼロの場合、標準出力は空または不完全になることがあります。
  3. 実際の最上位の形式を解析してください。whoamiではユーザーフィールドを直接読み、lsでは同じキーを期待せず一覧を囲む構造を確認してください。
  4. jq -eで必要な値だけを選び、フィールドがなければスクリプトが失敗するようにしてください。IDが1つあれば十分な場合は、アカウントやファイルのレスポンス全体を保存しないでください。
  5. 標準エラー出力はジョブログと共に、JSONの標準出力は機械処理用の結果と共に保管してください。JSONパーサーに渡す前に2>&1で結合しないでください。
  6. 後続のコマンドを開始する前に、目的のワークスペースIDや返されたファイルIDなど、結果の内容を検証してください。
dosya CLIのJSON出力に使うインストールとコマンドのリファレンスを掲載したCLIの概要。
CLIの概要には、「dosya CLIのJSON出力を使う」で使うインストールとコマンドのリファレンスがあります。スクリーンショットを原寸で開く。

確認できる結果

コマンドが成功すると、コマンド固有の有効なJSON文書が1つ標準出力に書き込まれ、進捗と警告は標準エラー出力に残ります。スクリプトは終了ステータスと必須フィールドの両方を確認します。

トラブルシューティング

jqが無効なJSONを報告する。 標準出力と標準エラー出力が結合されていないことを確認し、元の終了コードを調べてください。

別のコマンドにあったフィールドがない場合 このコマンドの出力形式を確認してください。共通の結果構造はありません。

キーの値が伏せられている。 config getでは正常な動作です。シークレットはCLIの診断出力ではなく、発行元のシークレットストアから取得してください。

関連ガイド

この記事は役に立ちましたか?

評価の結果を読み込んでいます…

投票すると、回答を変更できるように、必要な投票用Cookieが最長180日間保存されます。

質問と回答

このガイドの手順について質問できます。質問は確認後に公開されます。

公開の質問には、アカウントの詳細、認証情報、非公開ファイルを含めないでください。これらについては 非公開サポート をご利用ください。

質問を読み込んでいます…

    dosyaアカウントにサインインすると、質問を投稿できます。

    やり直す前に結果を確認

    操作をもう一度確認する必要があるときは、次の共通の確認事項をご利用ください。