Code Engine

IBM Cloud Code Engine est une plateforme sans serveur entièrement gérée qui exécute vos charges de travail conteneurisées, y compris les applications web, les microservices, les fonctions événementielles ou les travaux par lots. Code Engine représente une destination de service, où une notification entrante peut être consommée de manière programmatique. Par exemple, une notification reçue concernant un événement peut déclencher une destination Code Engine vers un microservice backend afin que celui-ci agisse en fonction du contenu de la notification reçue.

Configuration d'une destination Code Engine

Avant de configurer Code Engine comme destination pour le job run type, assurez-vous qu'un projet Code Engine a été créé et qu'un job a été configuré dans le même compte que votre instance Event Notifications.

S'il existe un travail run type, si vous utilisez Event Notifications CLI ou API pour configurer le travail Code Engine en tant que destination, assurez-vous que vous avez activé l'autorisation d'accorder l'accès entre les services. Pour plus d'informations, voir Utilisation des autorisations d'octroi d'accès entre services.

Pour configurer une destination Code Engine, procédez comme suit :

  1. Depuis votre instance d' Event Notifications, cliquez sur Destinations.

  2. Cliquez sur Créer pour ajouter une nouvelle destination.

  3. Saisissez les informations suivantes concernant la destination dans la boîte de dialogue Créer une destination:

    • Nom: saisissez un nom pour votre destination.
    • Description: vous pouvez, si vous le souhaitez, saisir une description de votre destination.
    • Type: sous Destination, sélectionnez Code Engine dans la liste comme type de destination.
    • Type d'exécution: sélectionnez l'un des types d'exécuti Code Engine-jobs ou Code Engine-application.

    Si le type d'exécution sélectionné est job, fournissez les informations suivantes :

    • Nom du projet: sélectionnez le nom du projet Code Engine dans la liste. Sinon, cliquez sur Créer un nouveau projet pour créer un projet Code Engine.

      Lorsque vous sélectionnez un projet Code Engine, l'autorisation entre les services est créée en interne entre les deux instances de service, si cette autorisation n'existe pas encore.

    • Nom de la tâche: sélectionnez le nom de la tâche dans la liste.

    Si le type d'exécution sélectionné est application, fournissez les informations suivantes :

    • URL: Accédez à l'application Code Engine sécurisée via URL (uniquement HTTPS ).
    • Verbe: sélectionnez le verbe à appeler (GET ou POST).
    • En-têtes: vous pouvez, si vous le souhaitez, saisir une liste d'en-têtes à transmettre à l'application Code Engine.
  4. Cliquez sur Créer une destination.

Event Notifications prend désormais en charge les fonctions Code Engine.

Utilisation des autorisations pour accorder l'accès entre services

Utilisez IBM Cloud® Identity and Access Management (IAM) pour créer ou supprimer une autorisation qui accorde un accès de service à un autre service.

Création d'une autorisation dans la console

  1. Dans la console IBM Cloud, cliquez sur Gérer > Accès (IAM) puis sélectionnez Autorisations.

  2. Cliquez sur Créer.

  3. Sélectionnez un compte source.

    • Si le service source qui a besoin d'accéder au service cible se trouve dans ce compte, sélectionnez Ce compte.
  4. Sélectionnez un service Source tel que Event Notifications.

  5. Indiquez si vous souhaitez que l'autorisation soit applicable à toutes les ressources ou à toutes les ressources en fonction des attributs sélectionnés. Si vous avez choisi Ressources en fonction des attributs sélectionnés, indiquez Ajouter des attributs: uniquement le groupe de ressources source ou l'instance de service source.

  6. Sélectionnez un service cible comme Code Engine.

  7. Pour le service concerné, précisez si vous souhaitez que l'autorisation s'applique à tous les projets, uniquement à un projet spécifique du compte ou uniquement aux projets d'un certain groupe de ressources.

  8. Sélectionnez les deux rôles (Afficheur et Auteur) pour affecter l'accès au service source qui accède au service cible.

    Si vous n'avez sélectionné qu'un seul de ces deux rôles (lecteur ou rédacteur) lors de l'autorisation de service à service, vous ne pouvez pas déclencher un travail ou configurer une destination. Dans ce cas, vous obtenez un message d'erreur concernant l'échec de l'autorisation de service à service. Veillez à recréer une autorisation entre les services avec les deux rôles sélectionnés.

  9. Cliquez sur Autoriser.

Création d'une autorisation à l'aide de l'interface de ligne de commande

Pour autoriser un service source à accéder à un service cible, exécutez la commande ibmcloud iam authorization-policy-create.

Pour plus de détails sur les paramètres disponibles de cette commande, voir ibmcloud iam authorization-policy-create.

Accès au contenu d'événement dans le travail Code Engine

La charge utile de l'événement a été transmise à la tâche Code Engine à l'aide d'une variable d'environnement, qui peut être récupérée à l'aide de la variable d'environnement ibmendata.

Test d'une configuration de destination Code Engine

Vous pouvez tester une destination Code Engine dans le menu des options situé à côté de la destination. Vous pouvez vérifier d'un simple clic si la configuration fournie est correcte.

Pour plus d'informations sur le test d'une destination, voir Test des destinations.

Règle de relance Code Engine

Lors de l'envoi de notifications à Code Engine, des problèmes tels que des erreurs de réseau et des pépins d'application peuvent faire échouer les demandes. Event Notifications relance automatiquement les demandes qui ont échoué afin de garantir la résilience.

Pour obtenir des informations détaillées sur le comportement des tentatives, y compris les tentatives, les délais et les valeurs de temporisation, voir Politique de réessai pour les destinations.