Résoudre les problèmes d’extensibilité d’Asset Compute

Vous trouverez ci-dessous un index des problèmes et erreurs courants, ainsi que leurs résolutions, pouvant survenir lors du développement et du déploiement de programmes de travail Asset Compute personnalisés pour AEM Assets.

Développer develop

Le rendu est renvoyé partiellement tracé/corrompu rendition-returned-partially-drawn-or-corrupt

  • Erreur : le rendu est incomplet (lorsqu’il s’agit d’une image) ou est corrompu et ne peut pas être ouvert.

    Le rendu est renvoyé partiellement tracé .

  • Cause : la fonction renditionCallback du programme de travail se ferme avant que le rendu puisse être entièrement écrit dans rendition.path.

  • Résolution : vérifiez le code du programme de travail personnalisé et assurez-vous que tous les appels asynchrones sont effectués de manière synchrone à l’aide de await.

Outil de développement development-tool

Fichier Console.json manquant dans le projet Asset Compute missing-console-json

  • __Erreur :__Erreur : des fichiers requis sont manquants lors de la validation (.../node_modules/@adobe/asset-compute-client/lib/integrationConfiguration.js:XX:YY) sur async setupAssetCompute (.../node_modules/@adobe/asset-compute-devtool/src/assetComputeDevTool.js:XX:YY)

  • __Cause :__le fichier console.json est absent de la racine du projet Asset Compute

  • __Résolution :__téléchargez un nouveau console.json à partir de votre projet Adobe I/O

    1. Dans console.adobe.io, ouvrez le projet Adobe I/O que le projet Asset Compute est configuré pour utiliser.
    2. Appuyez sur le bouton Télécharger en haut à droite.
    3. Enregistrez le fichier téléchargé à la racine de votre projet Asset Compute à l’aide du nom de fichier console.json.

Mise en retrait incorrecte de YAML dans manifest.yml incorrect-yaml-indentation

  • __Erreur :__YAMLException : mise en retrait incorrecte d’une entrée de mappage à la ligne X, colonne Y : (via la commande standard out de aio app run)
  • __Cause :__les fichiers Yaml sont sensibles aux espaces blancs. Il est probable que votre mise en retrait soit incorrecte.
  • __Résolution :__vérifiez votre manifest.yml et assurez-vous que toute la mise en retrait est correcte.

La limite memorySize est définie trop basse 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 a renvoyé HTTP 400 (Bad Request) —> « Le contenu de la requête était malformé:requirement échec : la mémoire 64 Mo en dessous du seuil autorisé de 134217728 B »
  • __Cause :__une limite de memorySize pour le collaborateur dans le manifest.yml a été définie en dessous du seuil minimum autorisé, tel que signalé par le message d’erreur en octets.
  • __Résolution :__passez en revue les limites de memorySize dans le manifest.yml et assurez-vous qu’elles sont toutes supérieures au seuil minimum autorisé.

L’outil de développement ne peut pas démarrer en raison d’une clé privée manquante missing-private-key

  • __Error :__Local Dev ServerError : fichiers requis manquants à validatePrivateKeyFile… (via la commande standard out de aio app run)
  • __Cause :__la valeur ASSET_COMPUTE_PRIVATE_KEY_FILE_PATH dans .env fichier ne pointe pas vers private.key ou private.key n’est pas lisible par l’utilisateur actuel.
  • __Résolution :__passez en revue la valeur ASSET_COMPUTE_PRIVATE_KEY_FILE_PATH dans .env fichier et assurez-vous qu’elle contient le chemin d’accès absolu complet au private.key sur votre système de fichiers.

Fichier source : menu déroulant incorrect source-files-dropdown-incorrect

L’outil de développement d’Asset Compute peut passer à un état dans lequel il extrait des données obsolètes. Cela est le plus visible dans le menu déroulant Fichier source affichant des éléments incorrects.

  • __Erreur :__la liste déroulante du fichier Source affiche des éléments incorrects.
  • __Cause :__l’état du navigateur mis en cache obsolète entraîne la
  • __Résolution :__Dans votre navigateur, effacez complètement l’« état de l’application » de l’onglet du navigateur, le cache du navigateur, l’espace de stockage local et le service worker.

Paramètre de requête devToolToken absent ou non valide missing-or-invalid-devtooltoken-query-parameter

  • __Erreur :__notification « non autorisée » dans l’outil de développement Asset Compute
  • Cause :devToolToken manquant ou non valide
  • __Résolution :__fermez la fenêtre du navigateur de l’outil de développement Asset Compute, arrêtez tous les processus de l’outil de développement en cours d’exécution lancés via la commande aio app run et redémarrez l’outil de développement (à l’aide de aio app run).

Impossible de supprimer les fichiers source unable-to-remove-source-files

  • __Erreur :__Il n’existe aucun moyen de supprimer les fichiers sources ajoutés de l’interface utilisateur des outils de développement

  • __Cause :__cette fonctionnalité n’a pas été implémentée

  • __Résolution :Connectez-vous à votre fournisseur d’espace de stockage dans le cloud à l’aide des informations d’identification définies dans .env. Recherchez le conteneur utilisé par les outils de développement (également spécifié dans .env), accédez au dossier source __et supprimez les images sources. Vous devrez peut-être effectuer les étapes décrites dans la section Fichier source : menu déroulant incorrect si les fichiers source supprimés continuent à s’afficher dans le menu déroulant, car ils peuvent être mis en cache localement dans l’« état de l’application » des outils de développement.

    Microsoft Azure Blob Storage.

Tester test

Aucun rendu généré lors de l’exécution du test test-no-rendition-generated

  • __Erreur :__Échec : aucun rendu n’a été généré.

  • __Cause :__le programme de travail n’a pas pu générer un rendu en raison d’une erreur inattendue, telle qu’une erreur de syntaxe JavaScript.

  • __Résolution :__vérifiez le test.log de l’exécution du test au /build/test-results/test-worker/test.log. Recherchez la section dans ce fichier correspondant au cas de test d’échec et examinez les erreurs.

    Dépannage - Aucun rendu généré.

Le test génère un rendu incorrect provoquant l’échec du test. tests-generates-incorrect-rendition

  • __Erreur :__Échec : le rendu ‘rendition.xxx’ n’est pas celui attendu.

  • __Cause :__le programme de travail génère un rendu différent du rendition.<extension> fourni dans le cas de test.

    • Si le fichier rendition.<extension> attendu n’est pas créé exactement de la même manière que le rendu généré localement dans le cas de test, le test peut échouer, car il peut y exister une différence dans les bits. Par exemple, si le programme de travail Asset Compute modifie le contraste à l’aide des API et que le résultat attendu est créé en ajustant le contraste dans Adobe Photoshop CC, les fichiers peuvent sembler identiques, mais de légères variations au niveau des bits peuvent exister.
  • __Résolution :__passez en revue la sortie du rendu à partir du test en accédant à /build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension> et comparez-la au fichier de rendu attendu dans le cas de test. Pour créer une ressource telle qu’attendue, procédez de l’une des manières suivantes :

    • Utilisez l’outil de développement pour générer un rendu, le valider comme étant correct et l’utiliser comme fichier de rendu attendu.
    • Vous pouvez également valider le fichier généré par le test à l’adresse /build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>, valider la valeur correcte et l’utiliser comme fichier de rendu attendu.

Déboguer

Impossible de joindre le débogueur. debugger-does-not-attach

  • Erreur : erreur de traitement du lancement : erreur : impossible de se connecter à la cible de débogage à…
  • Cause : Docker Desktop n’est pas en cours d’exécution sur le système local. Vérifiez ce message en consultant la console de débogage de VS Code (Affichage > Console de débogage), puis en confirmant que cette erreur est signalée.
  • Résolution : lancez Docker Desktop et vérifiez que les images Docker requises sont installées.

Impossible de mettre les points d’arrêt en pause. breakpoints-no-pausing

  • Erreur : lors de l’exécution du programme de travail Asset Compute à partir de l’outil de développement de débogage, VS Code ne se met pas en pause aux points d’arrêt.

Débogueur de VS Code non joint. vs-code-debugger-not-attached

  • __Cause :__le débogueur VS Code a été arrêté/déconnecté.
  • __Résolution :__Redémarrez le débogueur VS Code et vérifiez qu’il se connecte en regardant la console Sortie de débogage VS Code (Affichage > Console de débogage)

Débogueur VS Code joint après le début de l’exécution du programme de travail. vs-code-debugger-attached-after-worker-execution-began

  • Cause: le débogueur VS Code n’a pas été joint avant d’appuyer sur Exécuter dans l’outil de développement.
  • __Résolution :__Assurez-vous que le débogueur a joint en examinant la console de débogage de VS Code (Affichage > Console de débogage), puis réexécutez le programme de travail d’Asset Compute à partir de l’outil de développement.

Le programme de travail expire lors du débogage. worker-times-out-while-debugging

  • Erreur : la console de débogage indique « L’action expire dans -XXX millisecondes. » ou l’aperçu du rendu de l’Outil de développement d’Asset Compute tourne indéfiniment ou
  • Cause : le délai d’expiration du programme de travail tel que défini dans manifest.yml est dépassé pendant le débogage.
  • Résolution : augmentez temporairement le délai d’expiration du programme de travail dans manifest.yml ou accélérez les activités de débogage.

Impossible d’arrêter le processus de débogage. cannot-terminate-debugger-process

  • Erreur : Ctrl-C sur la ligne de commande n’arrête pas le processus de débogage (npx adobe-asset-compute devtool).

  • Cause : du fait d’un bug dans @adobe/aio-cli-plugin-asset-compute 1.3.x, Ctrl-C n’est pas reconnu comme une commande d’arrêt.

  • Résolution : mettez à jour @adobe/aio-cli-plugin-asset-compute vers la version 1.4.1 ou ultérieure.

    code language-none
    $ aio update
    

    Dépannage - Mise à jour d’AIO.

Déployer deploy

Rendu personnalisé manquant dans la ressource dans AEM custom-rendition-missing-from-asset

  • __Erreur :__Les nouvelles ressources et les ressources retraitées sont traitées avec succès, mais il manque le rendu personnalisé

Profil de traitement non appliqué au dossier ancêtre

  • __Cause :__la ressource n’existe pas sous un dossier avec le profil de traitement qui utilise le programme de travail personnalisé
  • __Résolution :__appliquez le profil de traitement à un dossier ancêtre de la ressource

Profil de traitement remplacé par le profil de traitement du niveau inférieur

  • __Cause :__La ressource existe sous un dossier auquel le profil de traitement du collaborateur personnalisé est appliqué. Cependant, un autre profil de traitement, qui n’utilise pas le collaborateur client, a été appliqué entre ce dossier et la ressource.
  • __Résolution :__combinez ou réconciliez les deux profils de traitement et supprimez le profil de traitement intermédiaire

Échec du traitement des ressources dans AEM asset-processing-fails

  • __Erreur :__badge Échec du traitement de la ressource affiché sur la ressource
  • __Cause :__Une erreur s’est produite lors de l’exécution du programme de travail personnalisé
  • __Résolution :__Suivez les instructions de la section Débogage des activations de Adobe I/O Runtime à l’aide de aio app logs.
recommendation-more-help
experience-manager-learn-help-cloud-service