Création d’un projet d’Asset compute

Les projets d’Asset compute sont des projets Node.js, générés à l’aide de l’interface de ligne de commande de l’Adobe I/O, qui adhèrent à une certaine structure qui leur permet d’être déployés dans Adobe I/O Runtime et intégrés à AEM en tant que Cloud Service. Un projet d'Asset compute unique peut contenir un ou plusieurs travailleurs de l'Asset compute, chacun ayant un point de terminaison HTTP distinct référencé à partir d'un AEM en tant que Profil de traitement Cloud Service.

Générer un projet

Clic publicitaire de génération d'un projet d'Asset compute (sans audio)

Utilisez le module externe d’Asset compute de l’interface de ligne de commande Adobe I/O pour générer un nouveau projet d’Asset compute vide.

  1. Dans la ligne de commande, accédez au dossier contenant le projet.
  2. Dans la ligne de commande, exécutez aio app init pour commencer l'interface de ligne de commande de génération de projet interactive.
  3. Sélectionner une organisation
    • Sélectionnez l’organisation d’Adobes avec AEM Cloud Service, Project Firefly est enregistré auprès de
  4. Sélectionner le projet
    • Recherchez et sélectionnez le projet. Il s'agit du titre du projet créé à partir du modèle de projet Firefly, dans ce cas WKND AEM Asset Compute
  5. Sélectionner un espace de travail
    • Sélectionnez l'espace de travail Development
  6. Quelles fonctionnalités d'application d'Adobe I/O souhaitez-vous activer pour ce projet ? Sélectionner les composants à inclure
    • Sélectionner Actions: Deploy runtime actions
    • Utilisez les touches de flèches pour sélectionner et espacer pour désélectionner/sélectionner, et la touche Entrée pour confirmer la sélection.
  7. Sélectionner le type d’actions à générer
    • Sélectionner Adobe Asset Compute Worker
    • Utilisez les touches de flèches pour sélectionner, libérer de l’espace pour désélectionner/sélectionner et Entrée pour confirmer la sélection.
  8. Comment souhaitez-vous nommer cette action ?
    • Utilisez le nom par défaut worker.
    • Si votre projet contient plusieurs collaborateurs qui effectuent différents calculs d’actifs, nommez-les sémantiquement.

Générer console.json

L'outil de développement requiert un fichier nommé console.json qui contient les informations d'identification nécessaires pour se connecter à l'Adobe I/O. Ce fichier est téléchargé à partir de la console Adobe I/O.

  1. Ouvrez le projet Adobe I/O du travailleur d’Asset compute.
  2. Sélectionnez l'espace de travail du projet pour lequel télécharger les console.json informations d'identification, dans ce cas sélectionnez Development.
  3. Accédez à la racine du projet d’Adobe I/O et appuyez sur Télécharger tout dans le coin supérieur droit.
  4. Un fichier est téléchargé sous la forme d'un fichier .json précédé du préfixe du projet et de l'espace de travail, par exemple : wkndAemAssetCompute-81368-Development.json
  5. Vous pouvez effectuer l'une des opérations suivantes :
    • Renommez le fichier en tant que config.json et déplacez-le à la racine de votre projet Asset compute worker. Voici l’approche de ce didacticiel.

    • Déplacez-le dans un dossier arbitraire ET référencez-le à partir de votre fichier .env avec une entrée de configuration ASSET_COMPUTE_INTEGRATION_FILE_PATH. Le chemin d'accès au fichier peut être absolu ou relatif à la racine du projet. Par exemple :

      • ASSET_COMPUTE_INTEGRATION_FILE_PATH=/Users/example-user/secrets/wkndAemAssetCompute-81368-Development.json

      Ou

      • ASSET_COMPUTE_INTEGRATION_FILE_PATH=../../secrets/wkndAemAssetCompute-81368-Development.json.json

REMARQUE
Le fichier contient des informations d’identification. Si vous stockez le fichier dans votre projet, veillez à l'ajouter à votre fichier .gitignore afin d'éviter qu'il ne soit partagé. Il en va de même pour le fichier .env — Ces fichiers d'identification ne doivent pas être partagés ni stockés dans Git.

Examiner l'anatomie du projet

Le projet d’Asset compute généré est un projet Node.js destiné à être utilisé comme projet spécialisé de luciole de projet d’Adobe. Les éléments structurels suivants sont propres au projet d'Asset compute :

  • /actions contient des sous-dossiers et chaque sous-dossier définit un agent d’Asset compute.
    • /actions/<worker-name>/index.js définit le code JavaScript utilisé pour effectuer le travail de ce programme de travail.
      • Le nom de dossier worker est un nom par défaut et peut être n’importe quoi, tant qu’il est enregistré dans manifest.yml.
      • Au besoin, plusieurs dossiers de travail peuvent être définis sous /actions, mais ils doivent être enregistrés dans manifest.yml.
  • /test/asset-compute contient les suites de tests pour chaque programme de travail. Tout comme le dossier /actions, /test/asset-compute peut contenir plusieurs sous-dossiers, chacun correspondant au programme de travail testé.
    • /test/asset-compute/worker, qui représente une suite de tests pour un travailleur spécifique, contient des sous-dossiers représentant un cas de test spécifique, ainsi que l’entrée de test, les paramètres et la sortie attendue.
  • /build contient la sortie, les journaux et les artefacts des exécutions de cas de test d’Asset compute.
  • /manifest.yml définit les employés d'Asset compute fournis par le projet. Chaque implémentation de collaborateur doit être énumérée dans ce fichier pour être mise à la disposition de l'AEM en tant que Cloud Service.
  • /console.json définit les configurations d'Adobe I/O
    • Ce fichier peut être généré/mis à jour à l'aide de la commande aio app use.
  • /.aio contient les configurations utilisées par l’outil d’interface de ligne de commande aio.
    • Ce fichier peut être généré/mis à jour à l'aide de la commande aio app use.
  • /.env définit des variables d’environnement dans une key=value syntaxe et contient des secrets qui ne doivent pas être partagés. Pour protéger ces secrets, ce fichier ne doit PAS être archivé dans Git et est ignoré par le fichier .gitignore par défaut du projet.
    • Ce fichier peut être généré/mis à jour à l'aide de la commande aio app use.
    • Les variables définies dans ce fichier peuvent être remplacées par l'exportation de variables sur la ligne de commande.

Pour plus de détails sur l'examen de la structure du projet, consultez l'Anatomie d'un projet de luciole de projet d'Adobe.

La majeure partie du développement a lieu dans le dossier /actions qui développe les implémentations des opérateurs et dans /test/asset-compute les tests d'écriture pour les opérateurs d'Asset compute personnalisés.

Projet d'Asset compute sur GitHub

Le projet d'Asset compute final est disponible sur GitHub à l'adresse suivante :

GitHub contient l'état final du projet, entièrement renseigné avec les cas de travail et de test, mais ne contient aucune information d'identification, c'est-à-dire .envou console.json .aioou non.

Sur cette page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free