Asset Compute 拡張機能のトラブルシューティング

以下に、AEM Assets 用のカスタム Asset compute ワーカーを開発およびデプロイする際に発生する可能性のある、一般的な問題とエラーのインデックスと、解決方法を示します。

開発 develop

レンディションが部分的に描画された/破損した状態で返される rendition-returned-partially-drawn-or-corrupt

  • エラー:レンディションのレンダリングが不完全(画像の場合)または破損していて開くことができない。

    レンディションが部分的に描画された状態で返されます

  • 原因:レンディションがに完全に rendition.path に書き込まれることができる前に、ワーカーの renditionCallback 関数が関数が終了しています。

  • 解決策:カスタムワーカーコードを確認し、await を使用してすべての非同期の呼び出しが確実に同期されるようにします。

開発ツール development-tool

Asset Compute プロジェクトに Console.json ファイルが見つからない missing-console-json

  • __エラー​:__エラー:非同期setupAssetCompute (.../node_modules/@adobe/asset-compute-devtool/src/assetComputeDevTool.js:XX:YY)の検証(.../node_modules/@adobe/asset-compute-client/lib/integrationConfiguration.js:XX:YY)で必要なファイルが見つかりません

  • Cause :console.json ファイルがAsset Compute プロジェクトのルートにありません

  • __解決策​:__Adobe I/O プロジェクトから新しいconsole.jsonをダウンロードします

    1. console.adobe.io で、Asset compute プロジェクトが使用するように設定されている Adobe I/O プロジェクトを開きます
    2. 右上隅の「ダウンロード」ボタンをタップします
    3. console.json というファイル名を使用して、ダウンロードしたファイルを Asset Compute プロジェクトのルートに保存します

manifest.yml の YAML インデントが正しくない incorrect-yaml-indentation

  • __エラー​:__YAMLException:行X、列Y:(aio app run コマンドからの標準出力を介して)のマッピングエントリのインデントが正しくありません
  • __Cause :__Yaml ファイルは空白が区別されます。インデントが正しくない可能性があります。
  • 解決策​:manifest.ymlを確認し、すべてのインデントが正しいことを確認してください。

memorySize の上限の設定値が低すぎる memorysize-limit-is-set-too-low

  • __Error :__Local Dev Server OpenWhiskError: PUT https://adobeioruntime.net/api/v1/namespaces/xxx-xxx-xxx/actions/xxx-0.0.1/__secured_workeroverwrite=true Returned HTTP 400 (Bad Request) —> 「リクエスト内容の形式が正しくありませんでした:requirement failed: memory 64 MB below allowed threshold of 134217728 B」
  • Cause :manifest.ymlのワーカーのmemorySize制限が、エラーメッセージで報告されている最小許容しきい値(バイト)を下回りました。
  • 解決策​:manifest.ymlmemorySize制限を確認し、すべての制限が最小値のしきい値を超えていることを確認します。

private.key が見つからず、開発ツールを開始できない場合 missing-private-key

  • __Error :__Local Dev ServerError: validatePrivateKeyFile…に必要なファイルがありません(aio app run コマンドからの標準出力を使用)
  • Cause :.env ファイルのASSET_COMPUTE_PRIVATE_KEY_FILE_PATHの値がprivate.keyまたはprivate.keyを指していないため、現在のユーザーは読み取り可能ではありません。
  • 解決策​:.env ファイルのASSET_COMPUTE_PRIVATE_KEY_FILE_PATH値を確認し、ファイルシステム上のprivate.keyへの完全な絶対パスが含まれていることを確認します。

ソースファイルのドロップダウンが正しくない source-files-dropdown-incorrect

Asset Compute 開発ツールが古いデータを取り込む状態に入る場合があり、そのことが最も気づかれやすいのは、「ソースファイル」ドロップダウンに間違った項目が表示されていることによります。

  • __Error :__Source ファイルのドロップダウンに誤った項目が表示される。
  • __Cause :__キャッシュ済みブラウザーの状態が古くなると、
  • __解決策​:__ブラウザーで、ブラウザータブの「アプリケーションの状態」、ブラウザーキャッシュ、ローカルストレージ、およびサービスワーカーを完全にクリアします。

devToolToken クエリパラメーターがないか無効 missing-or-invalid-devtooltoken-query-parameter

  • Asset Compute開発ツールの__Error :__「未承認」通知
  • Cause :devToolTokenが見つからないか、無効です
  • __解決策​:__Asset Compute開発ツール ブラウザーウィンドウを閉じ、aio app run コマンドを使用して開始された実行中の開発ツール プロセスをすべて終了し、(2}を使用して)開発ツールを再起動します。aio app run

ソースファイルを削除できない unable-to-remove-source-files

  • __エラー​:__開発ツール UIから追加されたソースファイルを削除する方法がありません

  • __Cause :__この機能は実装されていません

  • 解決策​:.envで定義された資格情報を使用して、クラウドストレージプロバイダーにログインします。 開発ツールで使用されている(および .env で指定されている)コンテナを特定し、__​ソース​__フォルダーに移動して、ソース画像をすべて削除します。 削除されたソースファイルが引き続きドロップダウンに表示される場合は、開発ツールの「アプリケーションの状態」でローカルにキャッシュされている可能性があるので、「ソースファイルのドロップダウンが正しくありません」にまとめられている手順を実行することが必要な場合があります。

    Microsoft Azure Blob Storage

テスト test

テストの実行中にレンディションが生成されませんでした test-no-rendition-generated

  • __エラー​:__の失敗:レンディションが生成されていません。

  • __Cause :__ワーカーは、JavaScript構文エラーなどの予期しないエラーにより、レンディションを生成できませんでした。

  • __解決策​:__テスト実行のtest.log/build/test-results/test-worker/test.logで確認してください。 このファイル内で、失敗したテストケースに対応するセクションを探し、エラーを確認します。

    トラブルシューティング - レンディションが生成されていません

テストで、間違ったレンディションが生成され、テストが失敗する tests-generates-incorrect-rendition

  • __エラー​:__の失敗:レンディション 'rendition.xxx’が期待どおりではありません。

  • __Cause :__ワーカーは、テストケースで指定されたrendition.<extension>と同じではないレンディションを出力しました。

    • 期待される rendition.<extension> ファイルがテストケースでローカルに生成されたレンディションと完全に同じ方法で作成されていない場合、ビットに何らかの違いがあるので、テストが失敗する可能性があります。 例えば、Asset Compute ワーカーが API を使用してコントラストを変更し、期待される結果が Adobe Photoshop CC でコントラストを調整して作成された場合、ファイルは同じように見えても、ビットの小さなバリエーションは異なる場合があります。
  • 解像度​:/build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>に移動して、テストからのレンディション出力を確認し、テストケースの想定されるレンディションファイルと比較します。 正確に期待されるアセットを作成するには、次のいずれかを実行します。

    • 開発ツールを使用して、レンディションを生成し、正しいことを検証し、期待されるレンディションファイルとして使用します
    • または、/build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension> でテスト生成ファイルを検証します。正しいことを検証し、それを期待されるレンディションファイルとして使用します。

デバッグ

デバッガーがアタッチしない debugger-does-not-attach

ブレークポイントが一時停止しない breakpoints-no-pausing

  • エラー:デバッグ可能な開発ツールから Asset Compute ワーカーを実行する場合、VS Code がブレークポイントで一時停止しない。

VS Code デバッガーがアタッチされていない vs-code-debugger-not-attached

  • __Cause :__VS Code デバッガーが停止または切断されました。
  • __解決策​:__VS Code デバッガーを再起動し、VS Code デバッグ出力コンソール(表示/デバッグコンソール)を見てアタッチを確認します

ワーカーの実行が開始した後にVS コードデバッガーがアタッチされる vs-code-debugger-attached-after-worker-execution-began

  • Cause: VS Code デバッガーは、開発ツールで​__実行__をタップする前にアタッチされませんでした。
  • __解決策​:__VS Codeのデバッグコンソール(表示/デバッグコンソール)を確認して、デバッガーがアタッチされていることを確認し、開発ツールからAsset Compute ワーカーを再実行します。

デバッグ中にワーカーがタイムアウトする worker-times-out-while-debugging

  • エラー:デバッグコンソールレポートの「-XXX ミリ秒でアクションがタイムアウトします」、または Asset Compute 開発ツールの ​ レンディションプレビューが無期限にスピンする、または、
  • 原因manifest.yml で定義されたワーカーのタイムアウトが デバッグ中に超過しています。
  • 解決策:ワーカーのタイムアウトを一時的に manifest.yml で増加する、またはデバッグアクティビティを高速化します。

デバッガープロセスを終了できない cannot-terminate-debugger-process

  • エラー::コマンドラインの Ctrl-C でデバッガプロセス(npx adobe-asset-compute devtool)が終了しません。

  • 原因@adobe/aio-cli-plugin-asset-compute 1.3.x のバグによって、Ctrl-C が終了コマンドとして認識されていません。

  • 解決策@adobe/aio-cli-plugin-asset-compute をバージョン 1.4.1 以降に更新します

    code language-none
    $ aio update
    

    トラブルシューティング - aio の更新

デプロイ deploy

AEM のアセットにカスタムレンディションがない custom-rendition-missing-from-asset

  • __エラー​:__新しいアセットと再処理されたアセットが正常に処理されましたが、カスタムレンディションがありません

上位フォルダーに処理プロファイルが適用されていない

  • __Cause :__アセットは、カスタムワーカーを使用する処理プロファイルを持つフォルダーの下に存在しません
  • __解決策​:__アセットの親フォルダーに処理プロファイルを適用します

処理プロファイルが下位の処理プロファイルに置き換えられる

  • __原因​:__アセットは、カスタムワーカー処理プロファイルが適用されたフォルダーの下に存在しますが、そのフォルダーとアセットの間には、カスタマーワーカーを使用しない別の処理プロファイルが適用されています。
  • __解像度​:__2つの処理プロファイルを結合するか、または調整して、中間処理プロファイルを削除します

AEM でのアセット処理が失敗する asset-processing-fails

  • __Error :__アセット処理失敗バッジがアセットに表示されました
  • __Cause :__カスタムワーカーの実行中にエラーが発生しました
  • 解決策​:aio app logsを使用してAdobe I/O Runtime アクティベーション 🔗をデバッグするの手順に従います。
recommendation-more-help
experience-manager-learn-help-cloud-service