Analyse de texte avec Code Engine
Ce tutoriel peut entraîner des coûts. Utilisez l'Estimateur de coûts pour générer une estimation du coût en fonction de votre utilisation projetée.
Dans ce tutoriel, vous allez vous familiariser avec IBM Cloud® Code Engine en déployant une analyse de texte avec l'application Natural Language Understanding. Vous allez créer un projet Code Engine, sélectionner ce projet et déployer des entités Code Engine (applications et travaux) dans le projet. Vous allez apprendre à lier des services IBM Cloud à vos entités Code Engine. En outre, vous comprendrez également la capacité de mise à l'échelle automatique de Code Engine où les instances sont mises à l'échelle vers le haut ou vers le bas (jusqu'à zéro) en fonction de la charge de travail entrante.
{{site {{site.data.keyword.codeenginefull_notm}} est une plateforme sans serveur entièrement gérée qui exécute vos charges de travail conteneurisées, notamment les applications web, les microservices, les fonctions événementielles ou les travaux par lots. Code Engine construit même des images de conteneurs pour vous à partir de votre code source. Etant donné que ces charges de travail sont toutes hébergées dans la même infrastructure Kubernetes, elles peuvent fonctionner ensemble sans problème. L'expérience Code Engine est conçue pour que vous vous concentriez sur l'écriture du code et non sur l'infrastructure nécessaire pour l'héberger.
La plateforme est conçue pour répondre aux besoins des développeurs qui veulent simplement que leur code s'exécute. Code Engine abstrait la charge opérationnelle que représentent la création, le déploiement et la gestion des charges de travail dans Kubernetes afin que les développeurs puissent se concentrer sur ce qui compte le plus pour eux : le code source.
Objectifs
- Découvrir IBM Cloud® Code Engine et voir comment il simplifie l'expérience développeur.
- Comprendre à quel point il est facile de déployer une application et d'en effectuer la mise à l'échelle à l'aide de Code Engine.
- Apprendre à utiliser des travaux pour exécuter des charges de travail qui s'exécutent jusqu'à la fin.
- Le développeur crée un projet Code Engine et déploie une application Code Engine de front-end et de back-end.
- Le développeur connecte l'application de front-end (interface utilisateur) à l'application de back-end en modifiant l'application de front-end pour définir une valeur de variable d'environnement qui pointe vers le noeud final de l'application de back-end.
- Le développeur met à disposition les services cloud requis et les lie aux travaux et à l'application de back-end en créant des secrets et une mappe de configuration.
- L'utilisateur télécharge un ou plusieurs fichiers texte via l'application de front-end qui sont stockées dans Object Storage via l'application de back-end.
- L'utilisateur exécute un travail Code Engine via l'application de back-end pour analyser le texte en l'envoyant à Natural Language Understanding. Le résultat est ensuite sauvegardé dans Object Storage et affiché sur l'application de front-end lorsque l'utilisateur clique sur le bouton d'actualisation.
Vous pouvez utiliser la consoleCode Engine pour afficher votre progression tout au long de ce tutoriel.
Avant de commencer
Pour ce tutoriel, vous devez disposer des éléments suivants :
- De l'interface de ligne de commande IBM Cloud : cet outil d''interface de ligne de commande vous permettra d'interagir avec IBM Cloud.
- Du plug-in code-engine/ce (
code-engine/ce) : les plug-in étendent les fonctionnalités de l'interface de ligne de commande IBM Cloud en ajoutant des commandes spécifiques à un service. Le plug-in Code Engine vous donnera accès aux commandes de Code Engine sur IBM Cloud. - Facultatif : Du plug-in Container Registry (
container-registry)
- Du plug-in code-engine/ce (
Vous trouverez les instructions pour télécharger et installer ces outils pour votre environnement d'exploitation dans le guide " Getting started with tutorials". Pour éviter l'installation de ces outils, ce tutoriel utilise Cloud Shell à partir de la console IBM Cloud.
Démarrer un nouveau IBM Cloud Shell
Dans la console IBM Cloud de votre navigateur, cliquez sur le bouton dans l'angle supérieur droit pour créer un nouveau Cloud Shell.
Création d'un projet IBM Cloud Code Engine
Dans cette section, vous allez créer un projet Code Engine. Un projet est un regroupement d'entités Code Engine telles que des applications, des travaux et des générations. Les projets permettent de gérer des ressources et fournissent un accès à leurs entités.
Rassembler des entités dans un seul projet vous permet de gérer le contrôle d'accès plus facilement. Les entités d'un projet partagent le même réseau privé, ce qui leur permet de communiquer entre elles de manière sécurisée. Pour plus de détails, consultez la documentation sur les projets Code Engine.
-
Accédez à la page IBM Cloud Code Engine Overview.
-
Dans le volet de gauche, cliquez sur Projets, puis sur Créer.
- Sélectionner un emplacement.
- Indiquez un nom de projet.
- Sélectionnez le groupe de ressources dans lequel vous allez créer votre projet ainsi que les services cloud nécessaires pour les étapes suivantes. Les groupes de ressources sont un moyen d'organiser les ressources de votre compte en regroupements personnalisables.
- Cliquez sur Créer.
- Patientez jusqu'à ce que le
statusdu projet soit Actif.
-
Passez à la session Cloud Shell que vous avez démarrée précédemment et utilisez-la dans ce tutoriel lorsque vous êtes invité à exécuter des commandes CLI.
-
Créez une variable shell avec le nom de projet et le nom de groupe de ressources
PROJECT_NAME=YourProjectName RESOURCE_GROUP_NAME=YourResourceGroupName -
Ciblez le groupe de ressources dans lequel vous avez créé votre projet.
ibmcloud target -g $RESOURCE_GROUP_NAME -
Faites pointer les outils de ligne de commande vers votre projet en le sélectionnant.
ibmcloud code-engine project select --name $PROJECT_NAME
Déploiement des applications de front-end et de back-end sous forme d'applications Code Engine
les applications Code Engine exécutent votre code pour servir les requêtes HTTP, augmentent et réduisent automatiquement à zéro, et offrent un routage du trafic vers plusieurs révisions. Dans cette section, vous allez déployer vos applications frontend et backend dans le projet Code Engine L'application web frontale permettra aux utilisateurs de télécharger des fichiers texte, tandis que l'application backend écrira le fichier dans IBM Cloud Object Storage
Nous avons déjà généré des images pour les deux applications et les avons envoyées au registre public Container Registry. Vous utiliserez ces images préconfigurées pour déployer les applications respectives. La création de vos propres applications sera abordée dans une étape ultérieure.
Déploiement d'une application de front-end
-
Pour déployer une nouvelle application Code Engine, exécutez la commande suivante : fournissant un nom de service
frontendet l'image de conteneur préconstruite en tant que paramètre à l'indicateur--image.ibmcloud code-engine application create --name frontend --image icr.io/solution-tutorials/tutorial-text-analysis-code-engine-frontendAprès avoir exécuté cette commande, vous devez voir une sortie avec une URL d'accès à votre application. Elle doit ressembler à ceci :
https://frontend.305atabsd0w.us-south.codeengine.appdomain.cloud. Copiez ou notez l' URL la demande pour l'étape suivante. Avec ces deux données (nom de l'application et nom de l'image), Code Engine a déployé votre application et s'occupera de la complexité de sa configuration et de sa gestion pour vous.Le code source de l'application utilisée pour construire les images des conteneurs est disponible dans un repo GitHub pour votre référence. Si vous voulez générer les images de conteneur depuis le code source et les envoyer dans un registre de conteneur privé, suivez ces instructions.
-
Ouvrez l' URL l'application de l'étape précédente dans un navigateur pour obtenir un résultat similaire à celui-ci :
Frontend est en cours d'exécution Exécutez la commande
ibmcloud code-engine application get -n frontendpour voir les détails de l'application. Vous devez voir des détails, tels que l'ID, les informations du projet, l'âge de l'application, l'URL d'accès à l'application, une URL de console pour accéder à la configuration de votre application, l'image, l'allocation de ressources et différentes révisions de votre application. Comme vous disposez d'une seule révision, vous devez voir que 100 % du trafic est dirigé vers cette révision. Vous pouvez également vérifier le nombre d'instances et leur statut. -
Pour dépanner et vérifier les journaux de votre application, exécutez la commande suivante en remplaçant
<INSTANCE_NAME>par le nom de l'une des instances de la commandeibmcloud code-engine application get -n frontend.Si vous ne voyez aucune instance en cours d'exécution, veillez à ouvrir à nouveau l' URL l'application à partir de l'étape 2.
ibmcloud code-engine application logs --instance <INSTANCE_NAME>Si l'application est en cours d'exécution, la chaîne
backend URL: undefineds'affiche et l'application est à l'écoute sur le port 8080. Plus loin dans ce tutoriel, vous allez connecter cette application de front-end à notre application de back-end.
Félicitations ! Vous venez de déployer une application Web dans Code Engine avec une seule commande et sans avoir à connaître les subtilités de Kubernetes, par exemple, les pods, les déploiements, les services et la ressource Ingress.
Mise à l'échelle de l'application
Lorsque vous avez créé l'application avec la commande application create, vous n'avez fait que transmettre une image à utiliser et un nom pour votre application. Bien qu'il s'agisse de la quantité minimale d'informations pour
déployer une application, il existe un certain nombre d 'autres boutons sur lesquels vous avez le contrôle. Entre autres, vous pouvez définir le nombre de demandes pouvant être traitées
simultanément par instance, la quantité d'UC et de mémoire pour l'instance de l'application, les variables d'environnement de l'application, le nombre maximal et minimal d'instances pouvant être utilisées pour cette application et le port
utilisé par l'application pour écouter les demandes.
La plupart de ces valeurs ont une valeur par défaut définie si aucune option n'est fournie lors de la création de l'application. Comme nous n'avons pas fourni de valeur, Code Engine a déployé notre application avec une échelle maximale par défaut égale à 10, indiquant que l'échelle de notre application pourra comprendre jusqu'à 10 instances. L'échelle minimale par défaut est zéro, de sorte que lorsque notre application n'est plus utilisée, elle se remette à zéro.
-
Pour vérifier les capacités d'autoscaling de Code Engine, nous pouvons utiliser un générateur de charge pour effectuer des requêtes contre notre service. Le script shell suivant simule une charge de base de 3000 demandes.
-
Ouvrez une fenêtre de terminal locale (shell).
-
Créez une variable shell pour l' URL l'application frontale de l'étape précédente.
export APPURL=<frontend-application-url> -
Exécutez le script suivant pour générer une charge. Vous pouvez le répéter pour créer plus de trafic.
seq 1 3000 | xargs -n1 -P300 curl -s $APPURL -o /dev/null
-
-
Dans votre session Cloud Shell des sections précédentes, exécutez la commande ci-dessous pour voir le nombre d'instances (pod) incrémenté dans le cadre de la mise à l'échelle automatique.
ibmcloud code-engine application get -n frontendPar défaut, le nombre maximal de demandes pouvant être traitées simultanément par instance est
10ce qui entraîne la mise à l'échelle automatique. Cette valeur peut être modifiée en utilisant l'indicateur--concurrency or -cnavec la commandeapplication update. -
Si vous ne souhaitez pas autoriser la création de 10 instances, vous pouvez ajuster l'échelle maximale en indiquant un nombre moins élevé. Alors que votre application sans serveur peut évoluer facilement, vous pouvez dépendre d'un service en aval, tel qu'une base de données SQL pouvant traiter un nombre limité de connexions ou une API avec une autre limite. Essayons de limiter le nombre d'instances de cette application de front-end.
ibmcloud code-engine application update --name frontend --max-scale 5 -
Lorsque la génération de chargement est arrêtée, patientez quelques minutes pour que les instances s'arrêtent et que leur nombre revienne finalement à zéro.
-
Dans votre fenêtre locale avec la commande de générateur de charge, exécutez à nouveau le script pour créer des demandes sur l'application. Dans la session Cloud Shell, exécutez la commande
ibmcloud code-engine application get -n frontendpour voir le nombre d'instances passer à 5.Sortie attendue :
Name Revision Running Status Restarts Age frontend-00002-deployment-77d5fbfb5d-7zpfl frontend-00002 3/3 Running 0 70s frontend-00002-deployment-77d5fbfb5d-kv6rn frontend-00002 3/3 Running 0 69s frontend-00002-deployment-77d5fbfb5d-mhlwn frontend-00002 3/3 Running 0 68s frontend-00002-deployment-77d5fbfb5d-qkjmd frontend-00002 3/3 Running 0 67s frontend-00002-deployment-77d5fbfb5d-zpr9n frontend-00002 3/3 Running 0 85s
Déploiement d'une application de back-end et test de la connexion
-
Pour déployer une nouvelle application de back-end permettant de stocker vos fichiers texte dans IBM Cloud Object Storage, exécutez cette commande :
ibmcloud code-engine application create --name backend --image icr.io/solution-tutorials/tutorial-text-analysis-code-engine-backend --cluster-localLe drapeau
--cluster-localindiquera à Code Engine de garder le point de terminaison de cette application privé, ce qui signifie qu'il ne sera disponible qu'à l'intérieur du projet. Il s'agit d'une pratique souvent utilisée à des fins de sécurité. Dans ce cas, il n'y a aucune raison d'exposer l'application de back-end avec un noeud final public, car elle ne sera pas accessible en dehors du cluster. -
Copiez et enregistrez le point de terminaison interne URL ) de la sortie pour l'utiliser dans la commande suivante. Il devrait être similaire à ceci :
BACKEND_PRIVATE_URL=http://backend.xxxxxxVous pouvez exécuter la commande
ibmcloud code-engine application get -n backendpour vérifier l'état et les détails de l'application backend qui comprend l'URL. -
L'application de front-end utilise une variable d'environnement (BACKEND_URL) pour savoir où est hébergée l'application de back-end. Vous devez à présent mettre à jour l'application de front-end pour définir cette valeur de sorte à pointer vers le noeud final de l'application de back-end.
ibmcloud code-engine application update --name frontend --env BACKEND_URL=$BACKEND_PRIVATE_URLL'indicateur
--envpeut apparaître autant de fois que vous le souhaitez si vous devez définir plus d'une variable d'environnement. Cette option pourrait également avoir été utilisée dans la commandeibmcloud code-engine application createpour l'application de front-end si vous en connaissiez la valeur à ce moment-là. Pour en savoir plus, consultez la rubrique Utilisation des variables d'environnement dans la documentation. -
Forcez l'actualisation de l'URL de front-end sur le navigateur pour tester la connexion à l'application de back-end. Vous devez voir une page avec une option permettant de télécharger un fichier texte (.txt), ainsi qu'un message d'erreur de l'application de back-end car elle n'est pas encore connectée aux services IBM Cloud requis pour stocker et traiter les fichiers texte. Cliquer sur Upload text file doit également donner lieu à un message d'erreur similaire.
Connexion de l'application de back-end au service Object Storage
Dans cette section, vous allez mettre à disposition les services Object Storage et Natural Language Understanding requis et lier le service Object Storage à l'application de back-end. L'application de back-end stocke alors les fichiers texte dans Object Storage, tandis que Natural Language Understanding sera utilisé par la suite dans le tutoriel pour effectuer une analyse de texte sur les fichiers téléchargés.
Avec IBM Watson® Natural Language Understanding, les développeurs peuvent analyser des caractéristiques sémantiques d'entrée de texte, notamment des catégories, des concepts, des émotions, des entités, des mots clés, des métadonnées, des relations, des rôles sémantiques et du sentiment.
Mise à disposition des services Object Storage et Natural Language Understanding
-
Créez une instance de Object Storage
- Sélectionnez le plan Lite ou le plan Standard si vous disposez déjà d'une instance de service Object Storage dans votre compte.
- Définissez le nom de service sur your-initiales-code-engine-cos.
- Sélectionnez le groupe de ressources dans lequel vous avez créé le projet Code Engine.
- Cliquez sur Créer.
- Capturez le nom de service dans une variable shell:
COS_INSTANCE_NAME=your-initials-code-engine-cos
-
Sous Créer un compartiment, cliquez sur Créer un compartiment, puis sous Créer un compartiment personnalisé, sélectionnez Créer.
Lorsque vous créez des godets ou ajoutez des objets, veillez à ne pas utiliser d'informations personnelles identifiables (IPI). Remarque : les IPI sont des informations qui permettent d'identifier un utilisateur (personne physique) par son nom, sa localisation ou tout autre moyen.
- Entrez un nom de compartiment unique tel que
<your-initials>-bucket-code-engine. - Sélectionnez l'emplacement où vous avez créé le projet Code Engine
- Sélectionnez la classe de stockage Smart Tier.
- Cliquez sur Créer un compartiment.
- Capturez le nom du compartiment dans une variable shell:
COS_BUCKETNAME=your-initials-bucket-code-engine
- Entrez un nom de compartiment unique tel que
-
Sur la page du compartiment.
- Cliquez sur l'onglet Configuration
- Le noeud final Direct conserve les données dans IBM Cloud. Capturez le noeud final direct dans une variable shell. Dans la région de Dallas, au sud des États-Unis, c'est peut-être le cas :
COS_ENDPOINT=s3.direct.us-south.cloud-object-storage.appdomain.cloud
-
Créez une instance de Natural Language Understanding
- Sélectionnez un lieu et choisissez le plan Lite.
- Définissez le Nom du service sur code-engine-nlu et sélectionnez le groupe de ressources dans lequel vous avez créé le projet Code Engine.
- Lisez le contrat de licence, puis cochez la case J'ai lu et j'accepte les contrats de licence suivants:.
- Cliquez sur Créer.
- Capturez le nom de service dans une variable shell:
NLU_INSTANCE_NAME=YourServiceName
Liaison du service Object Storage à l'application de back-end
Vous devez désormais transmettre les données d'identification pour l'instance de service IBM Cloud Object Storage que vous venez de créer à votre application de back-end. Pour ce faire, vous liez le service Object Storage à votre application, ce qui ajoute automatiquement les informations d'identification d'un service aux variables d'environnement de votre application ou de votre travail.
-
Créez une liaison pour le service Object Storage avec le préfixe
COSpour en faciliter l'utilisation dans votre application. La commande bind crée des données d'identification de service dans l'instance de service, à partir de laquelle elle initialise les variables d'environnement de l'application avec les données d'identification. Chaque liaison de service peut être configurée pour utiliser un préfixe de variable d'environnement personnalisé à l'aide de l'indicateur--prefix.ibmcloud code-engine application bind --name backend --service-instance $COS_INSTANCE_NAME --role Writer --prefix COS -
Il vous faudra également indiquer à l'application le nom de votre compartiment où stocker les fichiers texte ainsi que votre noeud final COS. Ces deux éléments ont été définis dans une étape antérieure. Le noeud final pour us-south pour Smart tier est s3.direct.us-south.cloud-object-storage.appdomain.cloud.
Définissez une carte de configuration qui contiendra le nom du seau et le point d'accès, car ces informations ne sont pas sensibles. Les mappes de configuration sont des objets Kubernetes qui vous permettent de découpler les artefacts de configuration à partir de contenu d'image pour assurer la portabilité des applications conteneurisées. Vous pouvez créer un objet configmap à partir d'un fichier ou à partir d'une paire clé-valeur -- pour l'instant nous allons utiliser une paire clé-valeur avec l'indicateur
--from-literal. Vérifiez que vous avez capturé ces éléments précédemment et créez la mappe de configuration:echo bucket $COS_BUCKETNAME endpoint $COS_ENDPOINTibmcloud code-engine configmap create --name backend-configuration --from-literal=COS_BUCKETNAME=$COS_BUCKETNAME --from-literal=COS_ENDPOINT=$COS_ENDPOINT -
Une fois l'objet configmap défini, vous pouvez mettre à jour l'application de back-end en demandant à Code Engine de définir des variables d'environnement dans l'environnement d'exécution de l'application en fonction des valeurs figurant dans l'objet configmap. Mettez à jour l'application de back-end avec la commande suivante :
ibmcloud code-engine application update --name backend --env-from-configmap backend-configurationPour créer un secret, vous devez utiliser l'indicateur
--env-from-secret. Les secrets et les objets configmap constituent des "mappes" ; ainsi, les variables d'environnement définies auront un nom correspondant à la "clé" de chaque entrée dans ces mappes et les valeurs des variables d'environnement correspondront à la valeur de cette "clé". -
Pour vérifier si l'application de back-end est mise à jour avec la liaison et l'objet configmap, vous pouvez exécuter la commande ci-dessous et rechercher les sections
Service BindingsetEnvironment Variablesdans la sortieibmcloud code-engine application get --name backend -
Accédez à l'interface utilisateur de l'application de front-end et à la section de téléchargement des fichiers texte pour l'analyse de texte. Vous devriez voir les fichiers téléchargés avec l'indicateur
Not analyzedsur ces fichiers.
Traiter les fichiers texte avec un travail automatisé
Vous disposez à présent de l'application de back-end connectée à l'application de front-end. Vous avez fourni toutes les données d'identification requises via la liaison de service et les fichiers téléchargés pour l'analyse de texte. Pour terminer le test, vous allez créer un travail pour spécifier les informations de configuration de charge de travail à utiliser chaque fois que le travail est exécuté pour analyser du texte via le service Natural Language Understanding.
Créer un travail
Contrairement aux applications qui réagissent aux requêtes HTTP entrantes, les jobs sont destinés à l'exécution d'images de conteneurs contenant un exécutable conçu pour s'exécuter une
fois et se terminer ensuite. Lorsque vous créez un travail (job), vous pouvez spécifier les informations de configuration de la charge de travail qui sont utilisées chaque fois que le travail est exécuté. Vous pouvez créer un
travail à partir de la console ou avec l'interface de ligne de commande.
Ce travail va lire les fichiers texte depuis IBM Cloud Object Storage, puis les analyser à l'aide du service Natural Language Understanding. Il devra avoir accès aux données d'identification du service pour ces deux services.
- Exécutez la commande suivante pour créer un travail,
Vous pouvez définir la version du service Natural Language Understanding à l'aide de l'indicateuribmcloud code-engine job create --name backend-job --image icr.io/solution-tutorials/tutorial-text-analysis-code-engine-backend-job --env-from-configmap backend-configuration--env. Pour en savoir plus sur la gestion des versions, consultez ce lien
Liaison des services IBM Cloud au travail
- Passons maintenant à la création d'une liaison pour le service Object Storage avec le préfixe
COS_JOBà utiliser avec les travaux pour lire les fichiers téléchargés et pour stocker les résultats.ibmcloud code-engine job bind --name backend-job --service-instance $COS_INSTANCE_NAME --role Writer --prefix COS_JOB - De même, effectuons la liaison du service Natural Language Understanding avec le préfixe
NLU_JOBpour analyser les fichiers texte téléchargée :ibmcloud code-engine job bind --name backend-job --service-instance $NLU_INSTANCE_NAME --role Writer --prefix NLU_JOB - Pour vérifier si le travail est mis à jour avec la liaison et l'objet configmap, vous pouvez exécuter la commande ci-dessous et rechercher les sections
Service BindingsetEnvironment Variablesdans la sortieibmcloud code-engine job get --name backend-job
Exécution du travail
-
Pour exécuter un travail avec la configuration créée ci-dessus, utilisez la commande
jobrun submit,ibmcloud code-engine jobrun submit --name backend-jobrun --job backend-jobLorsque vous exécutez un travail, vous pouvez remplacer un grand nombre de variables que vous avez définies dans la configuration du travail. Pour vérifier les variables, exécutez la commande
ibmcloud code-engine jobrun submit --help. -
Pour vérifier le statut d'exécution du travail (
jobrun), exécutez la commande suivante :ibmcloud code-engine jobrun get --name backend-jobrun -
Les journaux peuvent être affichés:
ibmcloud code-engine jobrun logs --follow --name backend -
Dans l'interface utilisateur de l'application de front-end, cliquez sur le bouton d'actualisation (en regard de Upload text file) pour voir les mots clés et le code JSON de chaque fichier texte téléchargé. L'indicateur pour chaque fichier doit maintenant passer à
Analyzed. -
Téléchargez de nouveaux fichiers ou supprimez un fichier individuel en cliquant sur l'icône supprimer, soumettez à nouveau l'exécution du travail (jobrun) avec la commande ci-dessous et cliquez sur le bouton d'actualisation pour voir les résultats.
ibmcloud code-engine jobrun resubmit --jobrun backend-jobrun
Automatisation de l'exécution du travail
Au lieu d'exécuter le travail manuellement, vous pouvez automatiser l'exécution du travail en créant un abonnement IBM Cloud Object Storage qui est à l'écoute des modifications dans un compartiment Object Storage. Lorsque vous créez un abonnement à un bac, votre tâche reçoit un événement distinct pour chaque modification réussie de ce bac.
- Pour pouvoir créer un abonnement Object Storage, vous devez affecter le rôle
Notifications Managerà Code Engine. En tant que gestionnaire de notifications, Code Engine peut afficher, modifier et supprimer des notifications pour un compartiment Object Storage. Suivez ces instructions pour affecter le rôle Gestionnaire de notifications à votre projet Code Engine. - Exécutez la commande ci-dessous pour connecter votre travail de back-end (
backend-job) au producteur d'événement IBM Cloud Object Storage. Vérifiez et mettez à jour le fichierbucket nameavant d'exécuter la commande.ibmcloud code-engine subscription cos create --name backend-job-cos-event --destination-type job --destination backend-job --bucket $COS_BUCKETNAME --prefix files --event-type write - A présent, transférez simplement les nouveaux fichiers et cliquez sur le bouton d'actualisation pour afficher les résultats. A l'avenir, vous n'aurez pas besoin de soumettre à nouveau l'exécution de travail car l'abonnement s'en occupera.
Facultatif : génération et envoi des images de conteneur dans IBM Cloud Container Registry
Il existe quelques options permettant de générer une image de conteneur avec des commandes de génération autonomes. L'exécution d'une génération unique qui extrait la source d'un répertoire local permet de créer une nouvelle application de front-end:
git clone https://github.com/IBM-Cloud/code-engine-text-analysis
cd code-engine-text-analysis/frontend
echo $BACKEND_PRIVATE_URL
Vous pouvez modifier une partie du code source à vérifier. La deuxième occurrence de Text analysis with Code Engine dans le corps de public/index.html et public/501.html peut être modifiée pour être ajoutée à votre
nom. Créez l'image de conteneur dans un espace de nom de moteur de code et créez l'application en une seule commande:
ibmcloud ce application create --name frontend-fromsource --build-source . --env BACKEND_URL=$BACKEND_PRIVATE_URL
Suppression de ressources
- Avec la commande ci-dessous, supprimez le projet pour supprimer tous ses composants (applications, travaux, etc.).
ibmcloud code-engine project delete --name $PROJECT_NAME - Accédez à Liste de ressources, puis supprimez les services que vous avez créés:
- IBM Cloud® Object Storage
- IBM Watson® Natural Language Understanding
En fonction de la ressource, le service peut ne pas être supprimé immédiatement mais conservé un certain temps (7 jours par défaut). Pour récupérer la ressource, vous pouvez la supprimer de manière définitive ou la restaurer pendant la période de conservation. Pour savoir comment utiliser la récupération de ressources, consultez ce document.