Utilisation du producteur d'événement de temporisateur périodique (cron)

Le producteur d'événement de temporisateur périodique (cron) génère un événement à intervalles réguliers. L'intervalle peut être exprimé en minutes, heures, jours ou mois ou correspondre à une combinaison de plusieurs intervalles différents. Vous pouvez souscrire à Code Engine apps, fonctions et jobs pour recevoir des événements cron.

L'abonnement à l'événement Periodic timer utilise la syntaxe crontab standard pour spécifier les détails de l'intervalle, au format * * * * *, où les champs sont les minutes, les heures, le jour du mois, le mois de l'année et le jour de la semaine. Par exemple, pour planifier l'exécution d'un événement à minuit, spécifiez 0 0 * * *. Pour planifier l'exécution d'un événement tous les vendredis à minuit, spécifiez 0 0 * * 5. Pour plus d'informations sur la crontab, voir CRONTAB.

Lorsque vous vous abonnez à un producteur d'événements périodiques, vous devez fournir une destination (application, fonction ou travail) et un type de destination pour l'abonnement. Si vous n'indiquez pas de planning, la valeur par défaut * * * * * (toutes les minutes) est utilisée.

Code Engine dispose de quotas pour les abonnements au compteur périodique au sein d'un projet et de limites d'abonnement. Pour plus d'informations sur les limites dans Code Engine, voir Limites et quotas pour Code Engine.

Abonnement à des événements de temporisateur périodique (cron) pour une application

Vous pouvez utiliser les abonnements périodiques à partir de la console ou de l'interface de programmation.

Les événements sont envoyés aux applications en tant que demandes HTTP POST. Pour plus de détails sur les informations incluses dans un événement, voir Informations relatives aux en-têtes et au corps HTTP pour les événements.

Abonnement à des événements de temporisateur périodique (cron) pour une application depuis la console

Vous pouvez créer et mettre à jour des abonnements à des événements périodiques pour une application à partir de la console.

Avant de commencer

Effectuez les étapes suivantes pour créer et mettre à jour un abonnement à un événement périodique pour une application à partir de la console.

  1. Sur la page Code Engine Projects, accédez à votre projet.

  2. Sur la page Présentation, cliquez sur Abonnements à des événements.

  3. Sur la page Abonnements à des événements, cliquez sur Créer pour créer votre abonnement.

  4. Sur la page Créer un abonnement à un événement, effectuez les étapes suivantes :

    1. Pour leType d’évènement, sélectionnez la mosaïque de temporisateur périodique. Cliquez sur Suivant.
    2. Pour Général, indiquez le nom de l'abonnement au temporisateur périodique, myptimer par exemple. Vous pouvez le cas échéant fournir des attributs d'événement. Sachez que si le consommateur d'événement de temporisateur périodique est une application, les attributs de l'événement sont disponibles sous forme d'en-têtes HTTP. Si le consommateur d'événement est un travail, les attributs de l'événement sont disponibles sous forme de variables d'environnement. Cliquez sur Suivant pour continuer.
    3. Pour le paramètre de planification Schedule, fournissez des informations sur l'échelonnement des événements. Le producteur d'événements périodiques utilise la syntaxe crontab standard pour spécifier les détails de l'intervalle. Choisissez votre intervalle parmi les modèles fournis ou fournissez votre propre expression cron personnalisée, telle que 0 0 * * * indiquant que l'événement doit se produire tous les jours à minuit. Dans le cas présent, sélectionnez le modèle de planification pour chaque jour, chaque heure, chaque minute. Notez que l'expression cron est générée automatiquement. Les modèles de jour, d'heure et de minute et l'expression Cron sont en temps universel coordonné (UTC). Si vous ne définissez pas la planification, cet abonnement envoie un événement toutes les minutes. Une liste des événements planifiés à venir s'affiche. Notez que ces événements sont affichés dans votre fuseau horaire. Cliquez sur Suivant pour continuer.
    4. Pour Données d'événements personnalisées, fournissez les données à inclure dans le corps de votre message d'événement. Vous pouvez spécifier le message en texte brut ou au format base64. Dans le cas présent, spécifiez le texte hello stranger en tant que corps du message d'événement. Si le message est au format base64, vous pouvez faire en sorte qu'il soit décodé lors de l'envoi de l'événement. Vous pouvez également spécifier le type de contenu pour vos données d'événement personnalisées. Cliquez sur Suivant pour continuer.
    5. Pour Consommateur d'événement, spécifiez l'application ou le travail devant recevoir des événements. Notez que vous pouvez faire un choix dans une liste d'applications et de travaux définis. Pour cet exemple, utilisez l'application myapp qui référence l'image icr.io/codeengine/cron. Si vous n'avez pas encore créé votre application ou votre tâche, vous pouvez spécifier le nom de votre application ou de votre tâche et créer votre application ou créer votre tâche après avoir créé l'abonnement au programmateur périodique. Pour les applications uniquement, vous pouvez le cas échéant spécifier un chemin. Par défaut, les événements sont acheminés vers l'URL racine de l'application de destination. Vous pouvez envoyer des événements vers une autre destination dans l'application en spécifiant un chemin. Par exemple, si votre chemin d'abonnement indique /events, les évènements sont envoyés à https://<base application URL>/events. Cliquez sur Suivant pour continuer.
    6. Pour Récapitulatif, vérifiez les paramètres de votre abonnement aux événements de temporisateur périodique et modifiez-les si nécessaire. Lorsque vous êtes prêt, cliquez sur Créer pour créer l'abonnement au minuteur périodique.
  5. Maintenant que votre abonnement à la minuterie périodique est créé, rendez-vous sur la page Abonnements aux événements pour afficher la liste des abonnements définis.

  6. Pour mettre à jour un abonnement, accédez à votre page d'abonnement à l'horloge périodique. Sur cette dernière, cliquez sur le nom de l'abonnement à mettre à jour.

  7. Sur la page d'abonnement au compteur périodique, modifiez les données du message d'événement. Dans l'onglet Données d'événement personnalisées, remplacez les données d'événement spécifiées par hello sunshine. Cliquez sur Sauvegarder pour sauvegarder vos modifications.

  8. Étant donné que l'application myapp fait référence à l'exemple d'application cron, qui imprime des informations dans les fichiers journaux, vous pouvez afficher les journaux. Dans les journaux de l'application du consommateur d'événement myapp, vous constaterez que le message d'événement est hello sunshine. Voir Affichage des journaux d'application à partir de la console.

Abonnement à des événements de temporisateur périodique (cron) pour une application à l'aide de l'interface de ligne de commande

Avant de commencer

ibmcloud ce application create --name myapp --image icr.io/codeengine/cron

Pour connecter votre application à l'abonnement à la minuterie périodique à l'aide de l'interface de programmation, utilisez la commande ibmcloud ce sub cron create commande.

ibmcloud ce sub cron create --name NAME --destination-type APP --destination APPLICATION_NAME --schedule CRON

Par exemple, pour créer un abonnement cron qui envoie un événement à une application appelée myapp tous les jours à minuit :

ibmcloud ce sub cron create --name mycronevent --destination-type app --destination myapp --schedule '0 0 * * *'

Vous devez placer la valeur de planification entre guillemets pour qu'elle soit traitée comme une chaîne unique.

Le tableau ci-dessous récapitule les options utilisées dans l'exemple précédent avec la commande sub cron create. Pour plus d'informations sur la commande et ses options, voir la commande ibmcloud ce subscription cron create.

Options de commande
Option Description
--name Nom de la source d'événement cron. Cette valeur est obligatoire.
--destination Nom d'une application ou d'un travail Code Engine dans le projet en cours destiné à recevoir les événements du producteur d'événement. Cette valeur est obligatoire.
--destination-type Type de la destination, en l'occurrence, app. La valeur par défaut est app.
--schedule Permet de planifier la fréquence à laquelle l'événement est déclenché, au format crontab. Par exemple, indiquez */2 * * * * (au format chaîne) pour un déclenchement toutes les 2 minutes. Par défaut, l'événement cron est déclenché toutes les minutes et utilise le fuseau horaire UTC. Pour modifier le fuseau horaire, utilisez l'option --time-zone. Cette valeur est facultative.
Conseils pour l'utilisation des commandes sub cron
  • Par défaut, les événements sont acheminés vers l'URL racine de l'application de destination. Vous pouvez envoyer des événements vers une autre destination dans l'application à l'aide de l'option --path. Par exemple, si votre abonnement indique --path /events, les évènements sont envoyés à https://<base application URL>/events.
  • La taille des données pour les événements de la minuterie périodique est limitée à un maximum de 4096 octets. Ainsi, lorsque vous utilisez l'option --data ou --data-base64, vous pouvez envoyer 4096 octets maximum. Pour plus d'informations, voir Limites et quotas pour Code Engine.
  • Les abonnements cron utilisent le fuseau horaire UTC par défaut. Vous pouvez modifier le fuseau horaire en spécifiant l'option --time-zone dans la commande sub cron create ou sub cron update. Pour connaître les valeurs valables des fuseaux horaires, voir la base de données TZ. Notez que si vous créez un abonnement à l'aide de kubectl et que vous ne spécifiez pas de fuseau horaire, le fuseau horaire UTC est utilisé.
  • Si vous n'avez pas encore créé votre consommateur d'événement d'application ou de travail, utilisez l'option --force avec la commande sub cron create pour forcer la création de l'abonnement aux événements cron. Vous pouvez indiquer le nom de votre application ou travail et créer votre application ou créer votre travail après avoir créé l'abonnement cron.

Pour vérifier que votre abonnement cron a été créé, exécutez la commande ibmcloud ce sub cron get --name mycronevent.

Exemple de sortie

Getting cron source 'mycronevent'...
OK

Name:          mycronevent
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           2m21s
Created:       2021-03-14T13:37:51-05:00

Destination Type:  app
Destination:       myapp
Schedule:          0 0 * * *
Time Zone:         UTC
Ready:             true

Events:
    Type     Reason            Age        Source                 Messages
    Normal   FinalizerUpdate   12s        pingsource-controller  Updated "mycronevent" finalizers

Dans cette sortie, vous pouvez constater que l'application de destination est myapp, que la planification est 0 0 * * * (chaque jour à minuit) et que l'état Ready a pour valeur true.

Mise à jour de votre abonnement cron avec l'interface de ligne de commande

Pour mettre à jour l'abonnement cron à l'aide de l'interface de ligne de commande, utilisez la commande ibmcloud ce subscription cron update. Par exemple, mettez à jour l'abonnement mycronevent pour modifier la planification de l'envoi d'un événement à une application appelée myapp toutes les 2 minutes.

ibmcloud ce sub cron update --name mycronevent --schedule '*/2 * * * *'

Pour vérifier que votre abonnement cron a été mis à jour, exécutez la commande ibmcloud ce sub cron get --name mycronevent. La planification de l'abonnement est mise à jour.

Exemple de sortie

Getting cron source 'mycronevent'...
OK

Name:          mycronevent
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           2m21s
Created:       2021-08-31T16:00:49-04:00

Destination Type:  app
Destination:       myapp
Schedule:          */2 * * * *
Time Zone:         UTC
Ready:             true

Events:
  Type    Reason                       Age               Source                 Messages
  Normal  PingSourceSynchronized       7s (x3 over 13m)  pingsource-controller  PingSource adapter is synchronized

Vous voulez suivre un tutoriel ? Voir Abonnement à des événements de temporisateur périodique (cron). Vous recherchez d'autres exemples de code ? Consultez les exemples pour IBM Cloud Code Engine GitHub.

Affichage des informations d'événement pour une application à partir de la console

Pour afficher des informations sur vos abonnements à des événements,

  1. Sur la page Code Engine Projects, accédez à votre projet.
  2. Sur la page Présentation, cliquez sur Abonnements à des événements pour afficher une liste des abonnements définis.

Si votre application imprime des informations dans les fichiers journaux, comme le fait l'exemple d'application cron, affichez les fichiers journaux de votre application client d’évènement. Voir Affichage des journaux d'application à partir de la console.

Affichage des informations d'événement pour une application à l'aide de l'interface de ligne de commande

Si votre application imprime des informations dans les fichiers journaux, comme le fait l'exemple d'application cron, affichez les fichiers journaux de votre application de consommateur d'événement à l'aide de la commande d'interface de ligne de commande ibmcloud ce app logs. Par exemple, pour afficher les journaux de l'application que vous avez créée dans l'exemple précédent, utilisez la commande :

ibmcloud ce application logs --application myapp

Exemple de sortie

Getting logs for all instances of application 'myapp'...
OK

myapp-mw25y-1-deployment-8579d868f4-ssfnr/user-container:
Listening on port 8080
2021-04-13 17:22:08 - Received:
URL: /
Header: Accept-Encoding=[gzip]
Header: Ce-Id=[d2faa29c-8088-410f-bb30-416085c52a0b]
Header: Ce-Source=[/apis/v1/namespaces/81fvkfqi3n6/pingsources/mycronevent]
Header: Ce-Specversion=[1.0]
Header: Ce-Time=[2021-04-13T17:22:00.059682656Z]
Header: Ce-Type=[dev.knative.sources.ping]
Header: Content-Length=[0]
Header: Forwarded=[for=172.30.136.209;proto=http, for=172.30.48.203]
Header: K-Proxy-Request=[activator]
Header: Traceparent=[00-b13196fe439b6d7d67f3205b2f655788-e9fee441cd41158c-00]
Header: User-Agent=[Go-http-client/1.1]
Header: X-B3-Sampled=[0]
Header: X-B3-Spanid=[1dd2d76079811204]
Header: X-B3-Traceid=[710b7c383682d0cd1dd2d76079811204]
Header: X-Envoy-Attempt-Count=[1]
Header: X-Envoy-Decorator-Operation=[myapp-mw25y-1.81fvkfqi3n6.svc.cluster.local:80/*]
Header: X-Envoy-Internal=[true]
Header: X-Envoy-Peer-Metadata=[ChQKDkFQUF9DT05UQUlORVJTEgIaAAoaCgpDTFVTVEVSX0lEEgwaCkt1YmVybmV0ZXMKGAoNSVNUSU9fVkVSU0lPThIHGgUxLjkuMQq+AwoGTEFCRUxTErMDKrADCh0KA2FwcBIWGhRpc3Rpby1pbmdyZXNzZ2F0ZXdheQoTCgVjaGFydBIKGghnYXRld2F5cwoUCghoZXJpdGFnZRIIGgZUaWxsZXIKNgopaW5zdGFsbC5vcGVyYXRvci5pc3Rpby5pby9vd25pbmctcmVzb3VyY2USCRoHdW5rbm93bgoZCgVpc3RpbxIQGg5pbmdyZXNzZ2F0ZXdheQoZCgxpc3Rpby5pby9yZXYSCRoHZGVmYXVsdAowChtvcGVyYXRvci5pc3Rpby5pby9jb21wb25lbnQSERoPSW5ncmVzc0dhdGV3YXlzCiAKEXBvZC10ZW1wbGF0ZS1oYXNoEgsaCTU1YjU0N2Y0ZgoSCgdyZWxlYXNlEgcaBWlzdGlvCjkKH3NlcnZpY2UuaXN0aW8uaW8vY2Fub25pY2FsLW5hbWUSFhoUaXN0aW8taW5ncmVzc2dhdGV3YXkKLwojc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtcmV2aXNpb24SCBoGbGF0ZXN0CiIKF3NpZGVjYXIuaXN0aW8uaW8vaW5qZWN0EgcaBWZhbHNlChoKB01FU0hfSUQSDxoNY2x1c3Rlci5sb2NhbAouCgROQU1FEiYaJGlzdGlvLWluZ3Jlc3NnYXRld2F5LTU1YjU0N2Y0Zi10aHN4cAobCglOQU1FU1BBQ0USDhoMaXN0aW8tc3lzdGVtCl0KBU9XTkVSElQaUmt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9pc3Rpby1zeXN0ZW0vZGVwbG95bWVudHMvaXN0aW8taW5ncmVzc2dhdGV3YXkKFwoRUExBVEZPUk1fTUVUQURBVEESAioACicKDVdPUktMT0FEX05BTUUSFhoUaXN0aW8taW5ncmVzc2dhdGV3YXk=]
Header: X-Envoy-Peer-Metadata-Id=[router~172.30.48.203~istio-ingressgateway-55b547f4f-thsxp.istio-system~istio-system.svc.cluster.local]
Header: X-Forwarded-For=[172.30.136.209, 172.30.48.203, 172.30.167.171]
Header: X-Forwarded-Proto=[http]
Header: X-Request-Id=[fe8d6cec-f0e4-47c2-b9ae-81764cb377bc]

Pour plus d'informations sur la journalisation, voir Affichage des journaux.

Vous recherchez d'autres exemples de code ? Consultez les exemples pour IBM Cloud Code Engine GitHub.

Informations d'en-tête et de corps pour les événements distribués aux applications

Tous les événements distribués aux applications sont reçus en tant que messages POST HTTP. Les événements contiennent des en-têtes HTTP qui vous aident à déterminer rapidement des informations clés sur les événements sans examiner le corps (logique métier) de l'événement. Pour plus d'informations, voir la spécification CloudEvents.

En-têtes

Le tableau suivant décrit les en-têtes des événements de la minuterie périodique (cron):

Champs d'en-tête pour les événements
En-tête Description
ce-id Identificateur unique de l'événement, sauf si un événement est réexécuté. Dans ce cas, il se voit attribuer le même ID.
ce-source Référence d'URI qui indique l'origine de cet événement au sein du producteur d'événement. Pour les événements cron, cet en-tête est une référence d'URI associée au sous-domaine du projet et au nom de l'abonnement, au format suivant : /apis/v1/namespaces/[PROJECT_SUBDOMAIN]/pingsources/[SUBSCRIPTION_NAME].
ce-specversion Version de la spécification CloudEvents. Cette valeur est toujours 1.0.
ce-time Heure à laquelle l'événement a été généré.
ce-type Type de l'événement. Pour les événements cron, il s'agit de dev.knative.sources.ping.

Exemple de sortie

ce-id: c329ed76-5004-4383-a3cc-c7a9b82e3ac6
ce-source: /apis/v1/namespaces/6b0v3x9xek5/pingsources/mycronevent
ce-specversion: 1.0
ce-time: 2021-02-26T19:19:00.497637287Z
ce-type: dev.knative.sources.ping

Corps HTTP

Le corps HTTP contient l'événement lui-même et se présente sous le format que vous avez spécifié lors de la création ou de la mise à jour de l'abonnement.

S'abonner à des événements périodiques (cron) pour une fonction

Vous pouvez utiliser les abonnements périodiques à partir de la console ou de l'interface de programmation.

Les événements sont envoyés aux fonctions sous la forme de demandes POST à l'adresse HTTP. Pour plus de détails sur les informations incluses dans un événement, voir Informations relatives aux en-têtes et au corps HTTP pour les événements.

S'abonner à des événements périodiques (cron) pour une fonction à partir de la console

Vous pouvez créer et mettre à jour des abonnements à des événements périodiques pour une fonction à partir de la console.

Avant de commencer

/**
 * The `main` function is the entry-point into the function.
 * It has one optional argument 'params', which carries all the
 * parameters the function was invoked with.
*/
async function main(params) {

  // add process environment variables
  params.env = process.env

  // print recognizable string to the log
  console.log('Function invocation via cron subscription');

  // log params object, so invocation can be observed in the logs
  console.dir(params);

  // craft a simple HTTP RC 200 response,
  // which also echos the params object
  response = {
    statusCode: 200,
    headers: {
      'Content-Type': 'application/json;charset=utf-8'
    },
    body: params
  };
  return response
}

Effectuez les étapes suivantes pour créer et mettre à jour un abonnement à un événement périodique pour une fonction à partir de la console.

  1. Sur la page Code Engine Projects, accédez à votre projet.

  2. Sur la page Présentation, cliquez sur Abonnements à des événements.

  3. Sur la page Abonnements à des événements, cliquez sur Créer pour créer votre abonnement.

  4. Sur la page Créer un abonnement à un événement, effectuez les étapes suivantes :

    1. Pour leType d’évènement, sélectionnez la mosaïque de temporisateur périodique. Cliquez sur Suivant.
    2. Pour Général, indiquez le nom de l'abonnement au temporisateur périodique, myptimer par exemple. Vous pouvez le cas échéant fournir des attributs d'événement. Sachez que si le consommateur d'événement de temporisateur périodique est une application, les attributs de l'événement sont disponibles sous forme d'en-têtes HTTP. Si le consommateur d'événement est une fonction, les attributs d'événement sont disponibles en tant que paires clé-valeur dans la propriété __ce_headers de l'objet params. Cliquez sur Suivant pour continuer.
    3. Pour le paramètre de planification Schedule, fournissez des informations sur l'échelonnement des événements. Le producteur d'événements périodiques utilise la syntaxe crontab standard pour spécifier les détails de l'intervalle. Choisissez votre intervalle parmi les modèles fournis ou fournissez votre propre expression cron personnalisée, telle que 0 0 * * * indiquant que l'événement doit se produire tous les jours à minuit. Dans le cas présent, sélectionnez le modèle de planification pour chaque jour, chaque heure, chaque minute. Notez que l'expression cron est générée automatiquement. Les modèles de jour, d'heure et de minute et l'expression Cron sont en temps universel coordonné (UTC). Si vous ne définissez pas la planification, cet abonnement envoie un événement toutes les minutes. Une liste des événements planifiés à venir s'affiche. Notez que ces événements sont affichés dans votre fuseau horaire. Cliquez sur Suivant pour continuer.
    4. Pour Données d'événements personnalisées, fournissez les données à inclure dans le corps de votre message d'événement. Vous pouvez spécifier le message en texte brut ou au format base64. Dans le cas présent, spécifiez le texte hello stranger en tant que corps du message d'événement. Si le message est au format base64, vous pouvez faire en sorte qu'il soit décodé lors de l'envoi de l'événement. Vous pouvez également spécifier le type de contenu pour vos données d'événement personnalisées. Cliquez sur Suivant pour continuer.
    5. Pour Event consumer, choisissez le type de composant Function et spécifiez la fonction de réception des événements. Notez que vous pouvez choisir parmi une liste de fonctions définies. Pour cet exemple, utilisez la fonction myfun qui utilise l'exemple de code en ligne. Si vous n'avez pas encore créé votre fonction, vous pouvez spécifier le nom de votre fonction et Création de charges de travail de fonction avec un code en ligne après avoir créé l'abonnement au temporisateur périodique. Cliquez sur Suivant pour continuer.
    6. Pour Récapitulatif, vérifiez les paramètres de votre abonnement aux événements de temporisateur périodique et modifiez-les si nécessaire. Lorsque vous êtes prêt, cliquez sur Créer pour créer l'abonnement au minuteur périodique.
  5. Maintenant que votre abonnement à la minuterie périodique est créé, rendez-vous sur la page Abonnements aux événements pour afficher la liste des abonnements définis.

  6. Pour mettre à jour un abonnement, accédez à votre page d'abonnement à l'horloge périodique. Sur cette dernière, cliquez sur le nom de l'abonnement à mettre à jour.

  7. Sur la page d'abonnement au compteur périodique, modifiez les données du message d'événement. Dans l'onglet Données d'événement personnalisé, remplacez les données d'événement par { "hello": "world" } et choisissez application/json comme Type de contenu des données d'événement personnalisé. Cliquez sur Sauvegarder pour sauvegarder vos modifications.

  8. Etant donné que la fonction myfun utilise l'exemple de code en ligne, qui imprime l'objet params complet dans les fichiers journaux, vous pouvez afficher les journaux pour vérifier que la fonction a été appelée. Affichez les journaux de la fonction de consommateur d'événement myfun et vérifiez que l'objet params contient une paire clé-valeur hello: world. Vous pouvez également voir que la zone body de l'objet params contient la valeur codée Base64. { "hello": "world" } Voir Affichage des journaux de fonction à partir de la console.

S'abonner à des événements périodiques (cron) pour une fonction à l'aide de l'interface de programmation (CLI)

Avant de commencer

/**
 * The `main` function is the entry-point into the function.
 * It has one optional argument 'params', which carries all the
 * parameters the function was invoked with.
*/
async function main(params) {

  // add process environment variables
  params.env = process.env

  // print recognizable string to the log
  console.log('Function invocation via cron subscription');

  // log params object, so invocation can be observed in the logs
  console.dir(params);

  // craft a simple HTTP RC 200 response,
  // which also echos the params object
  response = {
    statusCode: 200,
    headers: {
      'Content-Type': 'application/json;charset=utf-8'
    },
    body: params
  };
  return response
}

Sauvegardez le code dans un fichier appelé sample_inline_code.js et créez la fonction à l'aide de la commande suivante:

ibmcloud ce function create --name myfun --runtime nodejs --inline-code ./sample_inline_code.js

Pour connecter votre fonction à l'abonnement à la minuterie périodique à l'aide de la CLI, utilisez la commande suivante ibmcloud ce sub cron create commande :

ibmcloud ce sub cron create --name NAME --destination-type function --destination FUNCTION_NAME --schedule CRON

Par exemple, pour créer un abonnement cron qui envoie un événement à une application appelée myfun tous les jours à minuit :

ibmcloud ce sub cron create --name mycronevent --destination-type function --destination myfun --schedule '0 0 * * *'

Vous devez placer la valeur de planification entre guillemets pour qu'elle soit traitée comme une chaîne unique.

Le tableau ci-dessous récapitule les options utilisées dans l'exemple précédent avec la commande sub cron create. Pour plus d'informations sur la commande et ses options, voir la commande ibmcloud ce subscription cron create.

Options de commande
Option Description
--name Nom de la source d'événement cron. Cette valeur est obligatoire.
--destination Le nom d'une application, d'une fonction ou d'un travail Code Engine dans le projet en cours pour recevoir les événements du producteur d'événements. Cette valeur est obligatoire.
--destination-type Type de la destination, en l'occurrence, function. La valeur par défaut est app.
--schedule Permet de planifier la fréquence à laquelle l'événement est déclenché, au format crontab. Par exemple, indiquez */2 * * * * (au format chaîne) pour un déclenchement toutes les 2 minutes. Par défaut, l'événement cron est déclenché toutes les minutes et utilise le fuseau horaire UTC. Pour modifier le fuseau horaire, utilisez l'option --time-zone. Cette valeur est facultative.
Conseils pour l'utilisation des commandes sub cron
  • La taille des données pour les événements de la minuterie périodique est limitée à un maximum de 4096 octets. Ainsi, lorsque vous utilisez l'option --data ou --data-base64, vous pouvez envoyer 4096 octets maximum. Pour plus d'informations, voir Limites et quotas pour Code Engine.
  • Les abonnements cron utilisent le fuseau horaire UTC par défaut. Vous pouvez modifier le fuseau horaire en spécifiant l'option --time-zone dans la commande sub cron create ou sub cron update. Pour connaître les valeurs valables des fuseaux horaires, voir la base de données TZ. Notez que si vous créez un abonnement à l'aide de kubectl et que vous ne spécifiez pas de fuseau horaire, le fuseau horaire UTC est utilisé.
  • Si vous n'avez pas encore créé votre consommateur d'événement d'application ou de travail, utilisez l'option --force avec la commande sub cron create pour forcer la création de l'abonnement aux événements cron. Vous pouvez spécifier le nom de votre fonction Créer une fonction après avoir créé l'abonnement cron.

Pour vérifier que votre abonnement cron a été créé, exécutez la commande ibmcloud ce sub cron get --name mycronevent.

Exemple de sortie

Getting cron event subscription 'mycronevent'...
OK

Name:          mycronevent
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           2m21s
Created:       2024-03-14T13:37:51-05:00

Destination Type:  function
Destination:       myfun
Schedule:          0 0 * * *
Time Zone:         UTC
Ready:             true

Events:
  Type    Reason                  Age                Source                 Messages
  Normal  FinalizerUpdate         20s                pingsource-controller  Updated "mycronevent" finalizers
  Normal  PingSourceSynchronized  20s                pingsource-controller  PingSource adapter is synchronized

Cette sortie montre que la fonction de destination est myfun, que la programmation est 0 0 * * * (tous les jours à minuit) et que l'état Prêt est true.

Mise à jour de votre abonnement cron avec l'interface de ligne de commande

Pour mettre à jour l'abonnement cron à l'aide de l'interface de ligne de commande, utilisez la commande ibmcloud ce subscription cron update. Par exemple, mettez à jour l'abonnement mycronevent pour modifier l'horaire afin d'envoyer un événement à une fonction appelée myfun toutes les 2 minutes :

ibmcloud ce sub cron update --name mycronevent --schedule '*/2 * * * *'

Pour vérifier que votre abonnement cron a été mis à jour, exécutez la commande ibmcloud ce sub cron get --name mycronevent. La planification de l'abonnement est mise à jour.

Exemple de sortie

Getting cron event subscription 'mycronevent'...
OK

Name:          mycronevent
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           37m41s
Created:       2024-03-14T14:04:51-05:00

Destination Type:  function
Destination:       myfun
Schedule:          */2 * * * *
Time Zone:         UTC
Ready:             true

Events:
  Type    Reason                  Age                Source                 Messages
  Normal  FinalizerUpdate         20s                pingsource-controller  Updated "mycronevent" finalizers
  Normal  PingSourceSynchronized  20s                pingsource-controller  PingSource adapter is synchronized

Vous voulez suivre un tutoriel ? Voir Abonnement à des événements de temporisateur périodique (cron). Vous recherchez d'autres exemples de code ? Consultez les exemples pour IBM Cloud Code Engine GitHub.

Visualisation des informations sur les événements d'une fonction à partir de la console

Pour afficher des informations sur vos abonnements à des événements :

  1. Sur la page Code Engine Projects, accédez à votre projet.
  2. Sur la page Présentation, cliquez sur Abonnements à des événements pour afficher une liste des abonnements définis.

Si votre fonction imprime des informations dans des fichiers journaux, comme le fait l'exemple de la tâche codeengine, consultez les fichiers journaux de votre fonction. Voir Affichage des journaux de travail à partir de la console.

Informations d'en-tête et de corps de Cron pour les événements transmis aux fonctions

Tous les événements transmis aux fonctions sont reçus sous la forme de messages POST ( HTTP ). Les événements contiennent certains en-têtes HTTP qui vous aident à déterminer rapidement des informations clés sur les événements. HTTP sont stockés dans la propriété __ce_headers de l'objet params avec lequel la fonction est invoquée. Pour plus d'informations, voir la spécification CloudEvents.

En-têtes

Le tableau suivant décrit les paires clé-valeur dans __ce_headers pour les événements périodiques timer (cron):

Fichiers d'en-tête pour les événements
En-tête Description
Ce-Id Identificateur unique de l'événement, sauf si un événement est réexécuté. Dans ce cas, il se voit attribuer le même ID.
Ce-Source Référence d'URI qui indique l'origine de cet événement au sein du producteur d'événement. Pour les événements cron, cet en-tête est une référence d'URI associée au sous-domaine du projet et au nom de l'abonnement, au format suivant : /apis/v1/namespaces/[PROJECT_SUBDOMAIN]/pingsources/[SUBSCRIPTION_NAME].
Ce-Specversion Version de la spécification CloudEvents. Cette valeur est toujours 1.0.
Ce-Time Heure à laquelle l'événement a été généré.
Ce-Type Type de l'événement. Pour les événements cron, il s'agit de dev.knative.sources.ping.

Exemple de sortie

  __ce_headers: {
     "Ce-Id": "b861440f-0e17-44ab-9bab-826da0c9713f",
     "Ce-Source": "/apis/v1/namespaces/7iuw2furi55/pingsources/mycronevent",
     "Ce-Specversion": "1.0",
     "Ce-Time": "2024-06-02T10:56:00.062572905Z",
     "Ce-Type": "dev.knative.sources.ping"
  }

Corps HTTP

Le corps du message HTTP contient les données de l'événement personnalisé dans le format spécifié lors de la création ou de la mise à jour de l'abonnement. Vous pouvez accéder aux données d'événement personnalisé à partir de la propriété body dans l'objet params.

Exemple d'objet params pour un appel d'événement avec un fichier d'événements personnalisé défini sur hello stranger et Content Type of custom event data défini sur text/plain:

  {
    "__ce_headers": {
        "Ce-Id": "b861440f-0e17-44ab-9bab-826da0c9713f",
        "Ce-Source": "/apis/v1/namespaces/7iuw2furi55/pingsources/mycronevent",
        "Ce-Specversion": "1.0",
        "Ce-Time": "2024-06-02T10:56:00.062572905Z",
        "Ce-Type": "dev.knative.sources.ping",
        "Content-Length": "14",
        "Content-Type": "text/plain"
    },
    "body": "hello stranger"
  }

La valeur de body est Base64 codée, si Type de contenu des données d'événement personnalisé est défini sur application/json.

Abonnement à des événements de temporisateur périodique (cron) pour un travail

Vous pouvez utiliser les abonnements périodiques à partir de la console ou de l'interface de programmation.

Votre travail reçoit les événements en tant que variables d'environnement. Pour plus d'informations sur les variables d'environnement envoyées par cron, voir Variables d'environnement pour les événements.

Abonnement à des événements de temporisateur périodique (cron) pour un travail depuis la console

Vous pouvez créer et mettre à jour des abonnements à des événements périodiques pour un travail à partir de la console.

Avant de commencer

Effectuez les étapes suivantes pour créer et mettre à jour un abonnement à un événement périodique pour un travail à partir de la console.

  1. Sur la page Code Engine Projects, accédez à votre projet.

  2. Sur la page Présentation, cliquez sur Abonnements à des événements.

  3. Sur la page Abonnements à des événements, cliquez sur Créer pour créer votre abonnement.

  4. Sur la page Créer un abonnement à un événement, effectuez les étapes suivantes :

    1. Pour Général, indiquez le nom de l'abonnement au temporisateur périodique, myptimer2 par exemple. Vous pouvez le cas échéant fournir des attributs d'événement. Sachez que si le consommateur d'événement de temporisateur périodique est une application, les attributs de l'événement sont disponibles sous forme d'en-têtes HTTP. Si le consommateur d'événement est un travail, les attributs de l'événement sont disponibles sous forme de variables d'environnement. Cliquez sur Suivant pour continuer.
    2. Pour le paramètre de planification Schedule, fournissez des informations sur l'échelonnement des événements. Le producteur d'événements périodiques utilise la syntaxe crontab standard pour spécifier les détails de l'intervalle. Choisissez votre intervalle parmi les modèles fournis ou fournissez votre propre expression cron personnalisée, telle que 0 0 * * * indiquant que l'événement doit se produire tous les jours à minuit. Dans le cas présent, sélectionnez le modèle de planification pour chaque jour, chaque heure, chaque minute. Notez que l'expression cron est générée automatiquement. Les modèles de jour, d'heure et de minute et l'expression Cron sont en temps universel coordonné (UTC). Si vous ne définissez pas la planification, cet abonnement envoie un événement toutes les minutes. Une liste des événements planifiés à venir s'affiche. Notez que ces événements sont affichés dans votre fuseau horaire. Cliquez sur Suivant pour continuer.
    3. Pour Données d'événements personnalisées, fournissez les données à inclure dans le corps de votre message d'événement. Vous pouvez spécifier le message en texte brut ou au format base64. Dans le cas présent, spécifiez le texte hello stranger en tant que corps du message d'événement. Si le message est au format base64, vous pouvez faire en sorte qu'il soit décodé lors de l'envoi de l'événement. Vous pouvez également spécifier le type de contenu pour vos données d'événement personnalisées. Cliquez sur Suivant pour continuer.
    4. Pour Consommateur d'événement, spécifiez l'application ou le travail devant recevoir des événements. Notez que vous pouvez faire un choix dans une liste d'applications et de travaux définis. Pour cet exemple, utilisez le travail myjob qui référence l'image icr.io/codeengine/codeengine. Si vous n'avez pas encore créé votre tâche, vous pouvez spécifier le nom de votre tâche et la créer après avoir créé l'abonnement au programmateur périodique. Cliquez sur Suivant pour continuer.
    5. Pour Récapitulatif, vérifiez les paramètres de votre abonnement aux événements de temporisateur périodique et modifiez-les si nécessaire. Lorsque vous êtes prêt, cliquez sur Créer pour créer l'abonnement au minuteur périodique.
  5. Maintenant que votre abonnement à la minuterie périodique est créé, rendez-vous sur la page Abonnements aux événements pour afficher la liste des abonnements définis.

  6. Pour mettre à jour un abonnement, accédez à votre page d'abonnement à l'horloge périodique. Sur cette dernière, cliquez sur le nom de l'abonnement à mettre à jour.

  7. Sur la page d'abonnement au compteur périodique, modifiez les données du message d'événement. Dans l'onglet Données d'événement personnalisées, remplacez les données d'événement spécifiées par hello sunshine. Cliquez sur Sauvegarder pour sauvegarder vos modifications.

  8. Etant donné que le travail myjob fait référence à l'exemple d'application codeengine qui imprime des informations dans des fichiers journaux, ces derniers sont consultables. En affichant les journaux du travail du consommateur d'événement myjob, vous constaterez que le message d'événement est hello sunshine. Voir Affichage des journaux de travail à partir de la console.

Abonnement à des événements de temporisateur périodique (cron) pour un travail à l'aide de l'interface de ligne de commande

Avant de commencer

ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine

Pour connecter votre travail à l'abonnement périodique avec la CLI en utilisant la commande ibmcloud ce sub cron create à l'aide de la commande

ibmcloud ce sub cron create --name NAME --destination-type job --destination JOB_NAME --schedule CRON

Par exemple, pour créer un abonnement cron qui envoie un événement à une application appelée myjob toutes les 5 minutes,

ibmcloud ce sub cron create --name mycronevent --destination-type job --destination myjob --schedule '*/5 * * * *' --data '{ "message": "Hello world!" }' --content-type application/json

Vous devez placer la valeur de planification entre guillemets pour qu'elle soit traitée comme une chaîne unique.

Le tableau ci-dessous récapitule les options utilisées avec la commande sub cron create dans cet exemple. Pour plus d'informations sur la commande et ses options, voir la commande ibmcloud ce subscription cron create.

Options de commande
Option Description
--name Nom de la source d'événement cron.
--destination-type Type de la destination, en l'occurrence, job.
--destination Nom d'un travail Code Engine dans le projet en cours qui doit recevoir les événements du producteur d'événement.
--schedule Permet de planifier la fréquence à laquelle l'événement est déclenché, au format crontab. Par exemple, indiquez */2 * * * * (au format chaîne) pour un déclenchement toutes les 2 minutes. Par défaut, l'événement cron est déclenché toutes les minutes et utilise le fuseau horaire UTC. Pour modifier le fuseau horaire, utilisez l'option --time-zone. Cette valeur est facultative.
Conseils pour l'utilisation des commandes sub cron
  • La taille des données pour les événements de la minuterie périodique est limitée à un maximum de 4096 octets. Ainsi, lorsque vous utilisez l'option --data ou --data-base64, vous pouvez envoyer 4096 octets maximum. Pour plus d'informations, voir Limites et quotas pour Code Engine.
  • Les abonnements cron utilisent le fuseau horaire UTC par défaut. Vous pouvez modifier le fuseau horaire en spécifiant l'option --time-zone dans la commande sub cron create ou sub cron update. Pour connaître les valeurs valables des fuseaux horaires, voir la base de données TZ. Notez que si vous créez un abonnement à l'aide de kubectl et que vous ne spécifiez pas de fuseau horaire, le fuseau horaire UTC est utilisé.
  • Si vous n'avez pas encore créé votre consommateur d'événement d'application ou de travail, utilisez l'option --force avec la commande sub cron create pour forcer la création de l'abonnement aux événements cron. Vous pouvez indiquer le nom de votre application ou travail et créer votre application ou créer votre travail après avoir créé l'abonnement cron.

Pour vérifier que votre abonnement cron a été créé, exécutez ibmcloud ce sub cron get --name mycronevent.

Exemple de sortie

Getting cron source 'mycronevent'...
OK

Name:          mycronevent
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           54s
Created:       2021-04-13T11:38:50-05:00

Destination Type:  job
Destination:       myjob
Schedule:          */5 * * * *
Time Zone:         UTC
Content Type:      application/json
Data:              { "message": "Hello world!" }
Ready:             true

Events:
    Type     Reason            Age        Source                 Messages
    Normal   FinalizerUpdate   12s        pingsource-controller  Updated "mycronevent" finalizers

Dans cette sortie, vous pouvez constater que le travail de destination est myjob, que la planification est */5 * * * * (toutes les 5 minutes) et que l'état Ready a pour valeur true.

Les exécutions de travail qui sont créées par des abonnements sont supprimées au bout de 10 minutes.

Mise à jour de l'abonnement cron avec l'interface de ligne de commande (travail)

Pour mettre à jour l'abonnement cron à l'aide de l'interface de ligne de commande, utilisez la commande ibmcloud ce subscription cron update. Par exemple, mettez à jour l'abonnement mycronevent pour modifier la planification de l'envoi d'un événement à une application appelée myapp toutes les 2 minutes.

ibmcloud ce sub cron update --name mycronevent --schedule '*/2 * * * *'

Pour vérifier que votre abonnement cron a été mis à jour, exécutez la commande ibmcloud ce sub cron get --name mycronevent. La planification de l'abonnement est mise à jour.

Exemple de sortie

Getting cron source 'mycronevent'...
OK

Name:          mycronevent
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           2m21s
Created:       2021-08-31T16:00:49-04:00

Destination Type:  job
Destination:       myjob
Schedule:          */2 * * * *
Time Zone:         UTC
Content Type:      application/json
Data:              { "message": "Hello world!" }
Ready:             true

Events:
  Type    Reason                       Age               Source                 Messages
  Normal  PingSourceSynchronized       7s (x3 over 13m)  pingsource-controller  PingSource adapter is synchronized

Affichage des informations d'événement pour un travail à partir de la console

Pour afficher des informations sur vos abonnements à des événements,

  1. Sur la page Code Engine Projects, accédez à votre projet.
  2. Sur la page Présentation, cliquez sur Abonnements à des événements pour afficher une liste des abonnements définis.

Si votre travail imprime des informations dans les fichiers journaux, comme le fait l'exemple de travail codeengine, affichez les fichiers journaux de votre travail de consommateur d'événement. Voir Affichage des journaux de travail à partir de la console.

Affichage des informations d'événement pour un travail à l'aide de l'interface de ligne de commande

Si votre travail imprime des informations dans les fichiers journaux, comme c'est le cas de l'exemple de travail codeengine, vous pouvez localiser l'exécution de travail qui a été créée à partir de l'événement de temporisateur périodique (cron), puis afficher les journaux d'exécution de travail. Par exemple, pour trouver l'exécution du travail dans l'exemple précédent,

ibmcloud ce jobrun list

Exemple de sortie

Listing job runs...
OK

Name         Failed  Pending  Requested  Running  Succeeded  Unknown  Age
myjob-kd829  0       0        0          0        1          0        43s

Affichez les journaux pour l'exécution du travail en indiquant le nom d'exécution du travail.

ibmcloud ce jobrun logs --jobrun myjob-kd829

Exemple de sortie

Hello from helloworld! I'm a batch job! Index: 0

Hello World from:
. ___  __  ____  ____
./ __)/  \(    \(  __)
( (__(  O )) D ( ) _)
.\___)\__/(____/(____)
.____  __ _   ___  __  __ _  ____
(  __)(  ( \ / __)(  )(  ( \(  __)
.) _) /    /( (_ \ )( /    / ) _)
(____)\_)__) \___/(__)\_)__)(____)

Some Env Vars:
--------------
CE_DATA={ "message": "Hello world!" }
CE_ID=abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
CE_SOURCE=/apis/v1/namespaces/1234abcd1a2/pingsources/mycroneventjob
CE_SPECVERSION=1.0
CE_TIME=2021-04-13T17:41:00.429658447Z
CE_TYPE=dev.knative.sources.ping
CONTENT_TYPE=application/json
HOME=/root
HOSTNAME=myjob-mpps4-0-0
JOB_INDEX=0
KUBERNETES_PORT=tcp://172.21.0.1:443
KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443
KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_SERVICE_HOST=172.21.0.1
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
SHLVL=1

Notez que les informations du journal des travaux ne durent qu'une heure. Pour plus d'informations sur la journalisation, voir Affichage des journaux.

Pour plus d'informations sur les variables d'environnement envoyées par cron, voir Variables d'environnement pour les événements.

Vous recherchez d'autres exemples de code ? Consultez les exemples pour IBM Cloud Code Engine GitHub.

Variables d'environnement pour les événements distribués aux travaux

Tous les événements distribués à un travail sont reçus en tant que variables d'environnement. Ces variables d'environnement comportent le préfixe CE_ et sont basées sur la spécification CloudEvents.

Chaque événement contient un certain nombre de variables d'environnement communes qui s'affichent chaque fois que l'événement est distribué à un travail. Le jeu de variables réel de chaque événement peut comporter plus d'options. Pour plus d'informations, voir les attributs CloudEvent.

Le tableau suivant décrit les variables d'environnement qui sont propres aux événements cron.

Variables d'environnement pour les événements
Variable Description
CE_DATA Données (corps) de l'événement. Voir CE_DATA pour les événements cron.
CE_ID Identificateur unique de l'événement, sauf si un événement est réexécuté. Dans ce cas, il se voit attribuer le même ID.
CE_SOURCE Référence d'URI qui indique l'origine de cet événement au sein du producteur d'événement. Pour les événements cron, il s'agit d'une référence d'URI associée au sous-domaine du projet et au nom de l'abonnement, au format suivant : /apis/v1/namespaces/[PROJECT_SUBDOMAIN]/pingsources/[SUBSCRIPTION_NAME].
CE_SPECVERSION Version de la spécification CloudEvents. Cette valeur est toujours 1.0.
CE_TIME Heure à laquelle l'événement a été généré.
CE_TYPE Type de l'événement. Pour les événements cron, il s'agit de dev.knative.sources.ping.

CE_DATAvariable d'environnement

Pour les événements périodiques, la variable d'environnement CE_DATA contient l'événement lui-même et est au format spécifié lors de la création ou de la mise à jour de l'abonnement.

Exemple de sortie

CE_DATA={ "message": "Hello world!" }
CE_ID=abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
CE_SOURCE=/apis/v1/namespaces/1234abcd1a2/pingsources/mycroneventjob
CE_SPECVERSION=1.0
CE_TIME=2021-04-13T17:41:00.429658447Z
CE_TYPE=dev.knative.sources.ping

Définition d'attributs d'événements supplémentaires

Lorsque vous créez un abonnement, vous pouvez définir des attributs d'événement supplémentaires à inclure dans les événements générés. Ces attributs d'événement sont similaires à tous les autres attributs CloudEvent dans la distribution d'événements. Si vous choisissez de spécifier le nom d'un attribut CloudEvent existant, il remplace la valeur d'origine incluse dans l'événement. Pour plus d'informations, voir Puis-je utiliser d'autres spécifications CloudEvents ?

A partir de la console, vous pouvez spécifier les attributs de l'événement sous forme de paires clé-valeur dans l'onglet Général pour votre abonnement aux événements de temporisateur périodique (cron).

Pour définir des attributs supplémentaires l'aide de l'interface de ligne de commande, utilisez les options --extension avec la commande d'interface de ligne de commande ibmcloud ce sub cron create.

Suppression d'un abonnement

Lorsque vous n'avez plus besoin d'un abonnement au temporisateur périodique (cron), vous pouvez le supprimer.

Suppression d'un abonnement de la console

  1. Sur la page Code Engine Projects, accédez à votre projet.
  2. Sur la page Présentation, cliquez sur Abonnements à des événements pour afficher une liste des abonnements définis.
  3. Dans la liste des abonnements, supprimez l'abonnement que vous souhaitez supprimer de votre application ou travail.

La suppression d'une application ou d'un travail n'entraîne pas la suppression de l'abonnement.

Suppression d'un abonnement avec l'interface de ligne de commande

Vous pouvez supprimer un abonnement en exécutant la commande ibmcloud ce sub cron delete ou ibmcloud ce sub cos delete.

Par exemple, supprimez un abonnement cron appelé mycronevent2 :

ibmcloud ce subscription cron delete --name mycronevent2

La suppression d'une application ou d'un travail n'entraîne pas la suppression de l'abonnement. Au lieu de cela, dans l'interface de ligne de commande, son état Prêt (Ready) devient false car l'abonnement dépend de la disponibilité de l'application ou du travail. Si vous recréez l'application ou le travail (ou une autre application du même nom), votre abonnement est reconnecté et l'état Ready prend la valeur true.