Anypoint CLI のトラブルシューティング

Anypoint CLI コマンドを実行しようとしたときにエラーが発生した場合は、次の方法でトラブルシューティングします。

トラブルシューティングを始める前に

anypoint-cli-v4​ の最新バージョンを使用していることを確認します。使用していない場合、続行する前に最新バージョンをインストールします。Anypoint CLI 4.x のインストールを参照してください。

アップロード時の状況コード 409 エラー

重複するアセットをアップロードしようとするときに、​exchange asset upload​ コマンドを使用してルールセットをパブリッシュすると、​Request failed with status code 409​ (状況コード 409 で要求が失敗しました) というエラーが発生する可能性があります。

この問題を解決する手順は、次のとおりです。

  • 次のいずれかを実行して、コマンドを変更し、一意のルールセットアセット ID を指定します。

    • アセット識別子のバージョン部分を変更して、ルールセットの新しいバージョンをパブリッシュする。たとえば、​1.0.0​ を ​1.0.1​ に変更します。

      更新されたコマンドの例を次に示します。

      anypoint-cli-v4 exchange asset upload my-auth-best-practices/1.0.1 --name "My Best Practices Ruleset" --description "This ruleset enforces my best practices for APIs." --files='{"ruleset.yaml":"/myRulesetFolder/mynewruleset.yaml","docs.zip":"/myRulesetFolder/ruleset.doc.zip"}'
    • アセット識別子のアセット ID 部分を変更して、新しいアセットをパブリッシュする。たとえば、​my-auth-best-practices​ を ​my-new-auth-best-practices​ に変更します。

      更新されたコマンドの例を次に示します。

      anypoint-cli-v4 exchange asset upload my-new-auth-best-practices/1.0.0 --name "My Best Practices Ruleset" --description "This ruleset enforces my best practices for APIs." --files='{"ruleset.yaml":"/myRulesetFolder/mynewruleset.yaml","docs.zip":"/myRulesetFolder/ruleset.doc.zip"}'

アセットタイプの判別エラー

exchange asset upload​ コマンドを使用してルールセットまたはその他のアセットをパブリッシュするときに、次の操作を実行すると ​Could not determine asset type, step: Publishing asset​ (アセットタイプを判別できませんでした。ステップ: アセットのパブリッシュ) というエラーが発生する可能性があります。

  • --type​ フラグと、1 つ以上の ​--files​ フラグ内の複数のファイルの種類を指定する。

    複数のファイルをアップロードする場合は、​--type​ フラグを省略して、Anypoint CLI が各 ​--files​ フラグの ​classifier.packaging​ から正しいファイルの種類を推定できるようにします。

  • Anypoint CLI が推定するアセットタイプと競合する ​--type​ フラグを指定する。

    --files​ フラグオプションの ​classifier.packaging​ 値とファイル名が正しいこと、および ​--type​ で指定したアセットタイプと一致していることを確認します。

  • exchange.json​ または ​--properties​ で正しくないプロパティを含める。

    CLI はパラメーター、フラグ、オプションから必要なプロパティを含めるか推定するため、アセットをアップロードするときに ​exchange.json​ ファイルは省略可能です。カスタムルールセットのベースとなるルールセットプロジェクトをダウンロードする場合は、カスタムルールセットをアップロードする前に、次のいずれかを実行します。

    • 作業フォルダーまたはプロジェクトから ​exchange.json​ ファイルを削除する。

    • exchange.json​ ファイル内のプロパティを更新して、カスタムルールセットのアセット ID、名前、メインファイルなどと一致させます。

パブリッシュできない

exchange asset upload​ コマンドを使用してカスタムルールセットとそのドキュメントをアップロードするときに、​unable to publish​ (パブリッシュできません) などの具体的でないパブリッシュエラーが発生する可能性があります。

正しくないコマンド構文を使用してアセットをアップロードしようとすると、誤って正しくないアセットタイプとしてパブリッシュしてしまう可能性があります。アセット ID が同じアセットを別のアセットタイプとして再パブリッシュすることはできません。

このような状況でルールセットを再パブリッシュするには、構文を修正し、アセット ID を変更して、アップロードを再試行します。たとえば、​my-auth-best-practices​ を ​my-new-auth-best-practices​ に変更します。

更新されたコマンドの例を次に示します。

anypoint-cli-v4 exchange asset upload my-new-auth-best-practices/1.0.0 --name "My Best Practices Ruleset" --description "This ruleset enforces my best practices for APIs." --files='{"ruleset.yaml":"/myRulesetFolder/mynewruleset.yaml","docs.zip":"/myRulesetFolder/ruleset.doc.zip"}'

プロパティの解析エラー

Microsoft Windows から JSON プロパティを渡す Anypoint CLI コマンドを使用しているときに、次のようなエラーが発生する場合があります。

 »  Error: Parsing --properties
 »   Unexpected token ' in JSON at position 0

この問題を解決する手順は、次のとおりです。

バックスラッシュ文字 (​\​) を使用して JSON テキストをエスケープします。たとえば、​"​ と ​/​ を ​\"​ と ​\/​ に変更します。

更新されたコマンドの例を次に示します。

anypoint-cli-v4 exchange asset upload my-auth-best-practices/1.0.0 --name "My Best Practices Ruleset" --description "This ruleset enforces my best practices for APIs." --files='{\"ruleset.yaml\":\"\/myRulesetFolder\/mynewruleset.yaml\",\"docs.zip\":\"\/myRulesetFolder\/ruleset.doc.zip\"}'

その他のエラー

Anypoint CLI は特定の情報を得るためにコマンドを解析します。コマンドを認識しない場合や正しく解釈しなかった場合、エラーメッセージが誤解を招いたり曖昧になったりする可能性があります。 これらのエラーをトラブルシューティングするには、次の操作を実行します。

  • ドキュメントに記載されているとおりにコマンドフラグとオプションを入力していることを確認する。

  • コマンド自体、フラグ、分類子、オプション、フォルダー名、ファイル名など、コマンド内のすべてが適切な大文字と小文字を使用して指定されていることを確認する。コマンドでは大文字と小文字が区別されます。

  • コマンドに曲線引用符やスマート引用符が含まれていないことを確認する。曲線引用符を直線引用符 (​'​ または ​"​) に置き換えます。

  • オプション値に情報を入力していることを確認する。ほとんどのコマンドの例はそのまま実行することはできません。組織 ID、環境 ID、ホスト ID、アセット識別子 GAV (グループ ID/アセット ID/バージョン)、フォルダー名、ファイル名などのパラメーターとオプションには、独自の値を使用する必要があります。

  • コマンドでファイルの適切なフォルダーを指定していること、またはファイルが配置されている作業ディレクトリに変更していることを確認する。

  • 同様のエラーについて MuleSoft ヘルプセンター​を検索する。