Cómo trabajar con el productor de sucesos de temporizador periódico (cron)
El productor de sucesos de temporizador periódico (cron) genera un suceso a intervalos regulares. Este intervalo se puede planificar por minuto, hora, día o mes o una combinación de varios intervalos de tiempo diferentes. Puede suscribirse a aplicaciones, funciones y trabajos de Code Engine para recibir eventos cron.
La suscripción al evento Temporizador periódico utiliza la sintaxis estándar de crontab para especificar los detalles del intervalo, en el formato * * * * *, donde los campos son minuto, hora, día del mes, mes del año y día de la
semana. Por ejemplo, para planificar un suceso para medianoche, especifique 0 0 * * *. Para planificar un suceso para cada viernes a medianoche, especifique 0 0 * * 5. Para obtener más información sobre crontab, consulte
CRONTAB.
Cuando se suscribe a un productor de eventos de temporizador periódico, debe proporcionar un destino (aplicación, función o trabajo) y un tipo de destino para la suscripción. Si no proporciona una planificación, se utiliza como valor predeterminado
* * * * * (cada minuto).
Code Engine tiene cuotas para las suscripciones a temporizadores periódicos dentro de un proyecto y límites de suscripción. Para obtener más información sobre los límites de Code Engine, consulte Límites y cuotas de Code Engine.
Suscripción a sucesos de temporizador periódico (cron) para una aplicación
Puede trabajar con suscripciones a temporizadores periódicos desde la consola o con la CLI.
Los sucesos se envían a las aplicaciones como solicitudes HTTP POST. Para obtener más información sobre la información que se incluye con el suceso, consulte Cabeceras HTTP e información de cuerpo para sucesos.
Suscripción a sucesos de temporizador periódico (cron) para una aplicación desde la consola
Puede crear y actualizar suscripciones a eventos de temporizador periódico para una aplicación desde la consola.
Antes de empezar
- Crear un proyecto.
- Cree una aplicación. Por ejemplo, cree una aplicación denominada
myappque utilice la imagenicr.io/codeengine/cron. Esta imagen se ha creado a partir decron.go, disponible en el repositorio Samples for IBM Cloud Code Engine GitHub.
Complete los siguientes pasos para crear y actualizar una suscripción a eventos de temporizador periódico para una aplicación desde la consola.
-
En la página Code Engine Projects, vaya a su proyecto.
-
En la página Visión general, pulse Suscripciones de sucesos.
-
En la página Suscripciones de sucesos, pulse Crear para crear la suscripción.
-
En la página Crear suscripción a un evento, complete los siguientes pasos:
- En Tipo de suceso, seleccione el mosaico Temporizador periódico. Pulse Siguiente.
- Para General, proporcione un nombre para la suscripción de temporizador periódico, por ejemplo,
myptimer. Opcionalmente, puede proporcionar atributos de suceso. Tenga en cuenta que si el consumidor de sucesos de temporizador periódico es una aplicación, los atributos de sucesos están disponibles como cabeceras HTTP. Si el consumidor de sucesos es un trabajo, los atributos de sucesos están disponibles como variables de entorno. Pulse Siguiente para continuar. - Para Planificar, proporcione información sobre la temporización de los sucesos. El productor de eventos Temporizador periódico utiliza la sintaxis estándar de crontab para especificar los detalles del intervalo. Elija
el intervalo entre los patrones proporcionados o proporcione su propia expresión cron personalizada, como por ejemplo
0 0 * * *, que especifica que el suceso se producirá todos los días a medianoche. Para este ejemplo, seleccione el patrón de planificación para cada día, cada hora, cada minuto. Observe que la expresión cron se genera por usted. Los patrones de día, hora y minuto y la expresión Cron están en Hora universal coordinada (UTC). Si no especifica una planificación, esta suscripción de suceso envía un suceso cada minuto. Se muestra una lista de los próximos sucesos planificados. Tenga en cuenta que estos próximos sucesos planificados se visualizan en su huso horario. Pulse Siguiente para continuar. - Para Datos de sucesos personalizados, proporcione datos para incluir en el cuerpo del mensaje de suceso. Puede especificar el mensaje como texto sin formato o en formato base64. Para este ejemplo, especifique el texto,
hello strangercomo el cuerpo del mensaje de suceso. Si el mensaje está en formato base64, puede optar por tener el mensaje decodificado cuando se envíe el suceso. También puede especificar el tipo de contenido para los datos de sucesos personalizados. Pulse Siguiente para continuar. - Para Consumidor de sucesos, especifique la aplicación o el trabajo para recibir sucesos. Observe que puede elegir entre una lista de aplicaciones y trabajos definidos. Para este ejemplo, utilice la aplicación
myappque hace referencia a la imagenicr.io/codeengine/cron. Si aún no ha creado su aplicación o trabajo, puede especificar el nombre de su aplicación o trabajo y crear su aplicación o crear su trabajo después de crear la suscripción al temporizador periódico. Solo para las aplicaciones, puede especificar opcionalmente una vía de acceso. De forma predeterminada, los sucesos se direccionan al URL raíz de la aplicación de destino. Puede enviar sucesos a un destino diferente dentro de la app especificando una vía de acceso. Por ejemplo, si la vía de acceso de suscripción especifica/events, los sucesos se envían ahttps://<base application URL>/events. Pulse Siguiente para continuar. - Para Resumen, revise los valores de la suscripción de sucesos de temporizador periódico y realice los cambios si es necesario. Cuando esté listo, haga clic en Crear para crear la suscripción al temporizador Periódico.
-
Una vez creada la suscripción al temporizador periódico, vaya a la página Suscripciones a eventos para ver una lista de las suscripciones definidas.
-
Para actualizar una suscripción, vaya a su página de suscripción al temporizador periódico. En la página Suscripciones de sucesos, pulse el nombre de la suscripción que desea actualizar.
-
En la página de suscripción al temporizador periódico, cambie los datos del mensaje de evento. En el separador Datos de suceso personalizados, cambie los datos de suceso a
hello sunshine. Pulse Guardar para guardar los cambios. -
Dado que la aplicación
myapphace referencia a la aplicación de ejemplocron, que imprime información en los archivos de registro, puede ver los registros. Consulte los registros de la aplicación para la aplicación de consumidor de sucesosmyappy vea que el mensaje de suceso eshello sunshine. Consulte Visualización de registros de aplicaciones desde la consola.
Suscripción a sucesos de temporizador periódico (cron) para una aplicación con la CLI
Antes de empezar
- Configure su entorno de CLI de Code Engine.
- Crear un proyecto.
- Cree una aplicación. Por ejemplo, cree una aplicación denominada
myappque utilice la imagenicr.io/codeengine/cron. Esta imagen se ha creado a partir decron.go, disponible en el repositorio Samples for IBM Cloud Code Engine GitHub
ibmcloud ce application create --name myapp --image icr.io/codeengine/cron
Para conectar su aplicación a la suscripción del temporizador periódico con la CLI, utilice el comando ibmcloud ce sub cron create comando.
ibmcloud ce sub cron create --name NAME --destination-type APP --destination APPLICATION_NAME --schedule CRON
Por ejemplo, para crear una suscripción cron que envíe un evento a una aplicación llamada myapp todos los días a medianoche:
ibmcloud ce sub cron create --name mycronevent --destination-type app --destination myapp --schedule '0 0 * * *'
Debe ajustar el valor de la planificación entre comillas para asegurarse de que se trata como una sola serie.
En la tabla siguiente se resumen las opciones que se utilizan en el ejemplo anterior con el mandato sub cron create. Para obtener más información sobre el mandato y sus opciones, consulte el mandato ibmcloud ce subscription cron create.
| Opción | Descripción |
|---|---|
--name |
Nombre del origen de sucesos de cron. Este valor es obligatorio. |
--destination |
El nombre de una aplicación o trabajo de Code Engine en el proyecto actual para recibir los sucesos del productor de sucesos. Este valor es obligatorio. |
--destination-type |
El tipo del destination, en este caso, app. El valor predeterminado es app. |
--schedule |
Planificar la frecuencia con la que se desencadena el suceso, en formato crontab. Por ejemplo, especifique */2 * * * * (en formato de serie) para cada 2 minutos. De forma predeterminada, el suceso de cron se desencadena
cada minuto y se establece en el huso horario de UTC . Para modificar el huso horario, utilice la opción --time-zone. Este valor es opcional. |
- Consejos para utilizar los mandatos de
sub cron -
- De forma predeterminada, los sucesos se direccionan al URL raíz de la aplicación de destino. Puede enviar sucesos a un destino diferente dentro de la app utilizando la opción
--path. Por ejemplo, si la suscripción indica--path /events, los sucesos se envían ahttps://<base application URL>/events. - El tamaño de los datos de los eventos periódicos del temporizador está limitado a un máximo de 4096 bytes. Por lo tanto, si utiliza la opción
--datao la opción--data-base64, puede enviar un máximo de 4096 bytes. Para obtener más información, consulte Límites y cuotas para Code Engine. - Las suscripciones de cron utilizan la zona horaria
UTCde forma predeterminada. Puede cambiar el huso horario especificando la opción--time-zonecon los mandatossub cron createosub cron update. Para conocer los valores de zona horaria válidos, consulte la base de datos TZ. Tenga en cuenta que si crea una suscripción utilizandokubectly no especifica un huso horario, se asigna el uso horarioUTC. - Si todavía no ha creado la app o el consumidor de sucesos de trabajo, utilice la opción
--forcecon el mandatosub cron createpara forzar la creación de la suscripción de sucesos de cron. Puede especificar el nombre de la aplicación o el trabajo y crear la aplicación o crear su trabajo después de crear la suscripción de cron.
- De forma predeterminada, los sucesos se direccionan al URL raíz de la aplicación de destino. Puede enviar sucesos a un destino diferente dentro de la app utilizando la opción
Para verificar que la suscripción de cron se ha creado correctamente, ejecute el mandato ibmcloud ce sub cron get --name mycronevent .
Salida de ejemplo
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
Desde esta salida, puede ver que la aplicación de destino es myapp, la planificación es 0 0 * * * (todos los días a medianoche) y el estado Ready (Preparado) es true (verdadero).
Actualizar la suscripción de cron con la CLI
Para actualizar la suscripción de cron con la CLI, utilice el mandatoibmcloud ce subscription cron update. Por ejemplo, actualice
la suscripción de mycronevent para cambiar la planificación para enviar un suceso a una app denominada myapp cada 2 minutos.
ibmcloud ce sub cron update --name mycronevent --schedule '*/2 * * * *'
Para verificar que la suscripción de cron se ha actualizado correctamente, ejecute el mandato ibmcloud ce sub cron get --name mycronevent. Se actualiza la planificación de la suscripción.
Salida de ejemplo
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
¿Desea probar una guía de aprendizaje? Consulte Suscripción a sucesos de temporizador periódico (cron). ¿Desea ver más ejemplos de código? Consulte los ejemplos de para IBM Cloud Code Engine GitHub.
Visualización de la información de sucesos para una aplicación desde la consola
Para ver información sobre las suscripciones de sucesos,
- En la página Code Engine Projects, vaya a su proyecto.
- En la página Visión general, pulse Suscripciones de sucesos para ver una lista de suscripciones definidas.
Si la aplicación imprime información en los archivos de registro, como lo hace la aplicación cron de ejemplo, visualice los archivos de registro de la aplicación consumidora de sucesos. Consulte Visualización de registros de aplicaciones desde la consola.
Visualización de información de sucesos para una aplicación con la CLI
Si la aplicación imprime información en los archivos de registro, como la aplicación cronde ejemplo, consulte los archivos de registro para la aplicación de consumidor de sucesos con el mandato de CLI ibmcloud ce app logs.
Por ejemplo, para ver los registros de la aplicación que ha creado en el ejemplo anterior,
ibmcloud ce application logs --application myapp
Salida de ejemplo
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]
Para obtener más información sobre el registro, consulte Visualización de registros.
¿Desea ver más ejemplos de código? Consulte los ejemplos de para IBM Cloud Code Engine GitHub.
Información de cabecera y cuerpo de cron para sucesos entregados a aplicaciones
Todos los sucesos que se entregan a aplicaciones se reciben como mensajes HTTP POST. Los sucesos contienen determinadas cabeceras HTTP que le ayudan a determinar rápidamente los bits clave de información sobre los sucesos sin mirar el cuerpo
(lógica empresarial) del suceso. Para más información, consulte las especificaciones de CloudEvents.
Cabeceras
La siguiente tabla describe las cabeceras de los eventos de temporizador periódico (cron):
| Cabecera | Descripción |
|---|---|
ce-id |
Un identificador exclusivo para el suceso, a menos que se vuelva a reproducir un suceso, en cuyo caso se le asigna el mismo ID. |
ce-source |
Una referencia de URI que indica dónde se ha originado este suceso en el generador de sucesos. Para los sucesos de cron, esta cabecera es una referencia de URI con subdominio para el proyecto y el nombre de la suscripción de cron,
en el formato siguiente: /apis/v1/namespaces/[PROJECT_SUBDOMAIN]/pingsources/[SUBSCRIPTION_NAME]. |
ce-specversion |
La versión de la especificación de CloudEvents. Este valor siempre es 1.0. |
ce-time |
La hora a la que se ha generado el suceso. |
ce-type |
El tipo del suceso. Para los sucesos de cron, se trata de dev.knative.sources.ping. |
Salida de ejemplo
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
Cuerpo HTTP
El cuerpo HTTP contiene el propio suceso y está en el formato que especifique al crear o actualizar la suscripción.
Suscripción a eventos de temporizador periódico (cron) para una función
Puede trabajar con suscripciones a temporizadores periódicos desde la consola o con la CLI.
Los eventos se envían a las funciones como peticiones POST a HTTP. Para obtener más información sobre la información que se incluye con el suceso, consulte Cabeceras HTTP e información de cuerpo para sucesos.
Suscripción a eventos de temporizador periódico (cron) para una función desde la consola
Puede crear y actualizar suscripciones a eventos de temporizador periódico para una función desde la consola.
Antes de empezar
- Crear un proyecto.
- Crear una función. Por ejemplo, cree una función denominada
myfunque utilice el siguiente código en línea de ejemplo:
/**
* 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
}
Complete los siguientes pasos para crear y actualizar una suscripción a eventos de temporizador periódico para una función desde la consola.
-
En la página Code Engine Projects, vaya a su proyecto.
-
En la página Visión general, pulse Suscripciones de sucesos.
-
En la página Suscripciones de sucesos, pulse Crear para crear la suscripción.
-
En la página Crear suscripción a un evento, complete los siguientes pasos:
- En Tipo de suceso, seleccione el mosaico Temporizador periódico. Pulse Siguiente.
- Para General, proporcione un nombre para la suscripción de temporizador periódico, por ejemplo,
myptimer. Opcionalmente, puede proporcionar atributos de suceso. Tenga en cuenta que si el consumidor de sucesos de temporizador periódico es una aplicación, los atributos de sucesos están disponibles como cabeceras HTTP. Si el consumidor de sucesos es una función, los atributos de suceso están disponibles como pares de clave-valor en la propiedad__ce_headersdel objetoparams. Pulse Siguiente para continuar. - Para Planificar, proporcione información sobre la temporización de los sucesos. El productor de eventos Temporizador periódico utiliza la sintaxis estándar de crontab para especificar los detalles del intervalo. Elija
el intervalo entre los patrones proporcionados o proporcione su propia expresión cron personalizada, como por ejemplo
0 0 * * *, que especifica que el suceso se producirá todos los días a medianoche. Para este ejemplo, seleccione el patrón de planificación para cada día, cada hora, cada minuto. Observe que la expresión cron se genera por usted. Los patrones de día, hora y minuto y la expresión Cron están en Hora universal coordinada (UTC). Si no especifica una planificación, esta suscripción de suceso envía un suceso cada minuto. Se muestra una lista de los próximos sucesos planificados. Tenga en cuenta que estos próximos sucesos planificados se visualizan en su huso horario. Pulse Siguiente para continuar. - Para Datos de sucesos personalizados, proporcione datos para incluir en el cuerpo del mensaje de suceso. Puede especificar el mensaje como texto sin formato o en formato base64. Para este ejemplo, especifique el texto,
hello strangercomo el cuerpo del mensaje de suceso. Si el mensaje está en formato base64, puede optar por tener el mensaje decodificado cuando se envíe el suceso. También puede especificar el tipo de contenido para los datos de sucesos personalizados. Pulse Siguiente para continuar. - Para Consumidor de sucesos, elija el tipo de componente
Functiony especifique la función para recibir sucesos. Observe que puede elegir entre una lista de funciones definidas. Para este ejemplo, utilice la funciónmyfunque utiliza el código en línea de ejemplo. Si todavía no ha creado la función, puede especificar el nombre de la función y Creación de cargas de trabajo de función con código en línea después de crear la suscripción de temporizador periódico. Pulse Siguiente para continuar. - Para Resumen, revise los valores de la suscripción de sucesos de temporizador periódico y realice los cambios si es necesario. Cuando esté listo, haga clic en Crear para crear la suscripción al temporizador Periódico.
-
Una vez creada la suscripción al temporizador periódico, vaya a la página Suscripciones a eventos para ver una lista de las suscripciones definidas.
-
Para actualizar una suscripción, vaya a su página de suscripción al temporizador periódico. En la página Suscripciones de sucesos, pulse el nombre de la suscripción que desea actualizar.
-
En la página de suscripción al temporizador periódico, cambie los datos del mensaje de evento. En la pestaña Datos de suceso personalizados, cambie los datos de suceso a
{ "hello": "world" }y elijaapplication/jsoncomo Tipo de contenido de datos de suceso personalizados. Pulse Guardar para guardar los cambios. -
Puesto que la función
myfunutiliza el código en línea de ejemplo, que imprime el objetoparamscompleto en los archivos de registro, puede ver los registros para verificar que se ha invocado la función. Vea los registros de función para la función de consumidor de sucesos demyfuny compruebe que el objetoparamscontiene un par de clave-valorhello: world. También puede ver que el campobodydel objetoparamscontiene el valor codificado Base64{ "hello": "world" }Consulte Visualización de registros de función desde la consola.
Suscripción a eventos de temporizador periódico (cron) para una función con la CLI
Antes de empezar
- Configure su entorno de CLI de Code Engine.
- Crear un proyecto.
- Crear una función. Por ejemplo, cree una función denominada
myfunque utilice el siguiente código en línea de ejemplo:
/**
* 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
}
Guarde el código en un archivo denominado sample_inline_code.js y cree la función utilizando el mandato siguiente:
ibmcloud ce function create --name myfun --runtime nodejs --inline-code ./sample_inline_code.js
Para conectar su función a la suscripción del temporizador periódico con la CLI, utilice el ibmcloud ce sub cron create comando
:
ibmcloud ce sub cron create --name NAME --destination-type function --destination FUNCTION_NAME --schedule CRON
Por ejemplo, para crear una suscripción cron que envíe un evento a una aplicación llamada myfun todos los días a medianoche:
ibmcloud ce sub cron create --name mycronevent --destination-type function --destination myfun --schedule '0 0 * * *'
Debe ajustar el valor de la planificación entre comillas para asegurarse de que se trata como una sola serie.
En la tabla siguiente se resumen las opciones que se utilizan en el ejemplo anterior con el mandato sub cron create. Para obtener más información sobre el mandato y sus opciones, consulte el mandato ibmcloud ce subscription cron create.
| Opción | Descripción |
|---|---|
--name |
Nombre del origen de sucesos de cron. Este valor es obligatorio. |
--destination |
El nombre de una aplicación, función o trabajo de Code Engine en el proyecto actual para recibir los eventos del productor de eventos. Este valor es obligatorio. |
--destination-type |
El tipo del destination, en este caso, function. El valor predeterminado es app. |
--schedule |
Planificar la frecuencia con la que se desencadena el suceso, en formato crontab. Por ejemplo, especifique */2 * * * * (en formato de serie) para cada 2 minutos. De forma predeterminada, el suceso de cron se desencadena
cada minuto y se establece en el huso horario de UTC . Para modificar el huso horario, utilice la opción --time-zone. Este valor es opcional. |
- Consejos para utilizar los mandatos de
sub cron -
- El tamaño de los datos de los eventos periódicos del temporizador está limitado a un máximo de 4096 bytes. Por lo tanto, si utiliza la opción
--datao la opción--data-base64, puede enviar un máximo de 4096 bytes. Para obtener más información, consulte Límites y cuotas para Code Engine. - Las suscripciones de cron utilizan la zona horaria
UTCde forma predeterminada. Puede cambiar el huso horario especificando la opción--time-zonecon los mandatossub cron createosub cron update. Para conocer los valores de zona horaria válidos, consulte la base de datos TZ. Tenga en cuenta que si crea una suscripción utilizandokubectly no especifica un huso horario, se asigna el uso horarioUTC. - Si todavía no ha creado la app o el consumidor de sucesos de trabajo, utilice la opción
--forcecon el mandatosub cron createpara forzar la creación de la suscripción de sucesos de cron. Puede especificar el nombre de la función Crear una función después de crear la suscripción cron.
- El tamaño de los datos de los eventos periódicos del temporizador está limitado a un máximo de 4096 bytes. Por lo tanto, si utiliza la opción
Para verificar que la suscripción de cron se ha creado correctamente, ejecute el mandato ibmcloud ce sub cron get --name mycronevent .
Salida de ejemplo
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
De esta salida, se puede ver que la función de destino es myfun, el horario es 0 0 * * * (todos los días a medianoche), y el estado Listo es true.
Actualizar la suscripción de cron con la CLI
Para actualizar la suscripción de cron con la CLI, utilice el mandatoibmcloud ce subscription cron update. Por ejemplo, actualice
la suscripción a mycronevent para cambiar la programación y enviar un evento a una función llamada myfun cada 2 minutos:
ibmcloud ce sub cron update --name mycronevent --schedule '*/2 * * * *'
Para verificar que la suscripción de cron se ha actualizado correctamente, ejecute el mandato ibmcloud ce sub cron get --name mycronevent. Se actualiza la planificación de la suscripción.
Salida de ejemplo
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
¿Desea probar una guía de aprendizaje? Consulte Suscripción a sucesos de temporizador periódico (cron). ¿Desea ver más ejemplos de código? Consulte los ejemplos de para IBM Cloud Code Engine GitHub.
Visualización de la información de eventos de una función desde la consola
Para ver información sobre sus suscripciones a eventos:
- En la página Code Engine Projects, vaya a su proyecto.
- En la página Visión general, pulse Suscripciones de sucesos para ver una lista de suscripciones definidas.
Si su función imprime información en archivos de registro, como lo hace el ejemplo de trabajo codeengine, entonces vea los archivos de registro para su función. Consulte Visualización de registros de trabajo desde la consola.
Información de cabecera y cuerpo de Cron para eventos enviados a funciones
Todos los eventos que se entregan a las funciones se reciben como mensajes POST de HTTP. Los eventos contienen ciertas cabeceras HTTP que le ayudarán a determinar rápidamente fragmentos clave de información sobre los eventos. HTTP se almacenan
en la propiedad __ce_headers del objeto params con el que se invoca la función. Para más información, consulte las especificaciones de CloudEvents.
Cabeceras
La tabla siguiente describe los pares de clave-valor en __ce_headers para sucesos de temporizador periódico (cron):
| Cabecera | Descripción |
|---|---|
Ce-Id |
Un identificador exclusivo para el suceso, a menos que se vuelva a reproducir un suceso, en cuyo caso se le asigna el mismo ID. |
Ce-Source |
Una referencia de URI que indica dónde se ha originado este suceso en el generador de sucesos. Para los sucesos de cron, esta cabecera es una referencia de URI con subdominio para el proyecto y el nombre de la suscripción de cron,
en el formato siguiente: /apis/v1/namespaces/[PROJECT_SUBDOMAIN]/pingsources/[SUBSCRIPTION_NAME]. |
Ce-Specversion |
La versión de la especificación de CloudEvents. Este valor siempre es 1.0. |
Ce-Time |
La hora a la que se ha generado el suceso. |
Ce-Type |
El tipo del suceso. Para los sucesos de cron, se trata de dev.knative.sources.ping. |
Salida de ejemplo
__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"
}
Cuerpo HTTP
El cuerpo de HTTP contiene los datos del evento personalizado y está en el formato que especifique al crear o actualizar la suscripción. Puede acceder a los datos de sucesos personalizados desde la propiedad body en el objeto
params.
Ejemplo de objeto params para una invocación de suceso con un conjunto de datos de suceso personalizado en hello stranger y Tipo de contenido de datos de suceso personalizado establecido en 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"
}
El valor de body está codificado en Base64, si Tipo de contenido de datos de sucesos personalizados está establecido en application/json.
Suscripción a sucesos de temporizador periódico (cron) para un trabajo
Puede trabajar con suscripciones a temporizadores periódicos desde la consola o con la CLI.
El trabajo recibe sucesos como variables de entorno. Para obtener más información sobre las variables de entorno enviadas por cron, consulte Variables de entorno para sucesos.
Suscripción a sucesos de temporizador periódico (cron) para un trabajo desde la consola
Puede crear y actualizar suscripciones a eventos de temporizador periódico para un trabajo desde la consola.
Antes de empezar
- Crear un proyecto.
- Cree un trabajo. Por ejemplo, cree un trabajo denominado
myjobque utilice la imagencodeengine. Esta imagen se ha creado a partir decodeengine.go, disponible en el repositorio Samples for IBM Cloud Code Engine GitHub.
Realice los siguientes pasos para crear y actualizar una suscripción a eventos de temporizador periódico para un trabajo desde la consola.
-
En la página Code Engine Projects, vaya a su proyecto.
-
En la página Visión general, pulse Suscripciones de sucesos.
-
En la página Suscripciones de sucesos, pulse Crear para crear la suscripción.
-
En la página Crear suscripción a un evento, complete los siguientes pasos:
- Para General, proporcione un nombre para la suscripción de temporizador periódico, por ejemplo,
myptimer2. Opcionalmente, puede proporcionar atributos de suceso. Tenga en cuenta que si el consumidor de sucesos de temporizador periódico es una aplicación, los atributos de sucesos están disponibles como cabeceras HTTP. Si el consumidor de sucesos es un trabajo, los atributos de sucesos están disponibles como variables de entorno. Pulse Siguiente para continuar. - Para Planificar, proporcione información sobre la temporización de los sucesos. El productor de eventos Temporizador periódico utiliza la sintaxis estándar de crontab para especificar los detalles del intervalo. Elija
el intervalo entre los patrones proporcionados o proporcione su propia expresión cron personalizada, como por ejemplo
0 0 * * *, que especifica que el suceso se producirá todos los días a medianoche. Para este ejemplo, seleccione el patrón de planificación para cada día, cada hora, cada minuto. Observe que la expresión cron se genera por usted. Los patrones de día, hora y minuto y la expresión Cron están en Hora universal coordinada (UTC). Si no especifica una planificación, esta suscripción de suceso envía un suceso cada minuto. Se muestra una lista de los próximos sucesos planificados. Tenga en cuenta que estos próximos sucesos planificados se visualizan en su huso horario. Pulse Siguiente para continuar. - Para Datos de sucesos personalizados, proporcione datos para incluir en el cuerpo del mensaje de suceso. Puede especificar el mensaje como texto sin formato o en formato base64. Para este ejemplo, especifique el texto,
hello strangercomo el cuerpo del mensaje de suceso. Si el mensaje está en formato base64, puede optar por tener el mensaje decodificado cuando se envíe el suceso. También puede especificar el tipo de contenido para los datos de sucesos personalizados. Pulse Siguiente para continuar. - Para Consumidor de sucesos, especifique la aplicación o el trabajo para recibir sucesos. Observe que puede elegir entre una lista de aplicaciones y trabajos definidos. Para este ejemplo, utilice el trabajo
myjobque aparece en la imagenicr.io/codeengine/codeengine. Si aún no ha creado el trabajo, puede especificar el nombre del trabajo y crearlo después de crear la suscripción al temporizador periódico. Pulse Siguiente para continuar. - Para Resumen, revise los valores de la suscripción de sucesos de temporizador periódico y realice los cambios si es necesario. Cuando esté listo, haga clic en Crear para crear la suscripción al temporizador Periódico.
- Para General, proporcione un nombre para la suscripción de temporizador periódico, por ejemplo,
-
Una vez creada la suscripción al temporizador periódico, vaya a la página Suscripciones a eventos para ver una lista de las suscripciones definidas.
-
Para actualizar una suscripción, vaya a su página de suscripción al temporizador periódico. En la página Suscripciones de sucesos, pulse el nombre de la suscripción que desea actualizar.
-
En la página de suscripción al temporizador periódico, cambie los datos del mensaje de evento. En el separador Datos de suceso personalizados, cambie los datos de suceso a
hello sunshine. Pulse Guardar para guardar los cambios. -
Puesto que el trabajo
myjobhace referencia a la aplicacióncodeenginede ejemplo, que imprime información en los archivos de registro, puede ver los registros. Consulte los registros de trabajo para el trabajo de consumidor de sucesosmyjoby vea que el mensaje de suceso eshello sunshine. Consulte Visualización de registros de trabajo desde la consola.
Suscripción a sucesos de temporizador periódico (cron) para un trabajo con la CLI
Antes de empezar
- Configure su entorno de CLI de Code Engine.
- Crear un proyecto.
- Cree un trabajo. Por ejemplo, cree un trabajo denominado
myjobque utilice la imagenicr.io/codeengine/codeengine. Esta imagen se ha creado a partir decodeengine.go, disponible en el repositorio Samples for IBM Cloud Code Engine GitHub.
ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine
Para conectar su trabajo a la suscripción del temporizador periódico con la CLI mediante el comando ibmcloud ce sub cron create comando.
ibmcloud ce sub cron create --name NAME --destination-type job --destination JOB_NAME --schedule CRON
Por ejemplo, para crear una suscripción de cron que envíe un suceso a un trabajo llamado myjob cada 5 minutos,
ibmcloud ce sub cron create --name mycronevent --destination-type job --destination myjob --schedule '*/5 * * * *' --data '{ "message": "Hello world!" }' --content-type application/json
Debe ajustar el valor de la planificación entre comillas para asegurarse de que se trata como una sola serie.
En la tabla siguiente se resumen las opciones que se utilizan con el mandato sub cron create en este ejemplo. Para obtener más información sobre el mandato y sus opciones, consulte el mandato ibmcloud ce subscription cron create.
| Opción | Descripción |
|---|---|
--name |
Nombre del origen de sucesos de cron. |
--destination-type |
El tipo del destination, en este caso, job. |
--destination |
El nombre de un trabajo de Code Engine en el proyecto actual para recibir los sucesos del generador de sucesos. |
--schedule |
Planificar la frecuencia con la que se desencadena el suceso, en formato crontab. Por ejemplo, especifique */2 * * * * (en formato de serie) para cada 2 minutos. De forma predeterminada, el suceso de cron se desencadena
cada minuto y se establece en el huso horario de UTC . Para modificar el huso horario, utilice la opción --time-zone. Este valor es opcional. |
- Consejos para utilizar los mandatos de
sub cron -
- El tamaño de los datos de los eventos periódicos del temporizador está limitado a un máximo de 4096 bytes. Por lo tanto, si utiliza la opción
--datao la opción--data-base64, puede enviar un máximo de 4096 bytes. Para obtener más información, consulte Límites y cuotas para Code Engine. - Las suscripciones de cron utilizan la zona horaria
UTCde forma predeterminada. Puede cambiar el huso horario especificando la opción--time-zonecon los mandatossub cron createosub cron update. Para conocer los valores de zona horaria válidos, consulte la base de datos TZ. Tenga en cuenta que si crea una suscripción utilizandokubectly no especifica un huso horario, se asigna el uso horarioUTC. - Si todavía no ha creado la app o el consumidor de sucesos de trabajo, utilice la opción
--forcecon el mandatosub cron createpara forzar la creación de la suscripción de sucesos de cron. Puede especificar el nombre de la aplicación o el trabajo y crear la aplicación o crear su trabajo después de crear la suscripción de cron.
- El tamaño de los datos de los eventos periódicos del temporizador está limitado a un máximo de 4096 bytes. Por lo tanto, si utiliza la opción
Para verificar que la suscripción de cron se ha creado correctamente, ejecute ibmcloud ce sub cron get --name mycronevent.
Salida de ejemplo
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
En esta salida, puede ver que el trabajo de destino es myjob, la planificación es */5 * * * * (cada 5 minutos) y el estado Listo es true.
Las ejecuciones de trabajo creadas por suscripciones se suprimen al cabo de 10 minutos.
Actualizar la suscripción de cron con la CLI (trabajo)
Para actualizar la suscripción de cron con la CLI, utilice el mandatoibmcloud ce subscription cron update. Por ejemplo, actualice
la suscripción de mycronevent para cambiar la planificación para enviar un suceso a una app denominada myapp cada 2 minutos.
ibmcloud ce sub cron update --name mycronevent --schedule '*/2 * * * *'
Para verificar que la suscripción de cron se ha actualizado correctamente, ejecute el mandato ibmcloud ce sub cron get --name mycronevent. Se actualiza la planificación de la suscripción.
Salida de ejemplo
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
Visualización de información de sucesos para un trabajo desde la consola
Para ver información sobre las suscripciones de sucesos,
- En la página Code Engine Projects, vaya a su proyecto.
- En la página Visión general, pulse Suscripciones de sucesos para ver una lista de suscripciones definidas.
Si el trabajo imprime información en los archivos de registro, como el trabajo de ejemplo codeengine, consulte los archivos de registro para el trabajo de consumidor de sucesos. Consulte Visualización de registros de trabajo desde la consola.
Visualización de la información de sucesos para un trabajo con la CLI
Si el trabajo imprime información en los archivos de registro, como el trabajo de ejemplo codeengine, puede encontrar la ejecución del trabajo que se ha creado a partir del suceso de temporizador periódico (cron) y, a continuación,
ver los registros de ejecución del trabajo. Por ejemplo, para encontrar la ejecución del trabajo para el trabajo en el ejemplo anterior,
ibmcloud ce jobrun list
Salida de ejemplo
Listing job runs...
OK
Name Failed Pending Requested Running Succeeded Unknown Age
myjob-kd829 0 0 0 0 1 0 43s
Visualice los registros de la ejecución del trabajo especificando el nombre de la ejecución del trabajo.
ibmcloud ce jobrun logs --jobrun myjob-kd829
Salida de ejemplo
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
Tenga en cuenta que la información de registro de las ejecuciones de trabajo sólo dura una hora. Para obtener más información sobre el registro, consulte Visualización de registros.
Para obtener más información sobre las variables de entorno enviadas por cron, consulte Variables de entorno para sucesos.
¿Desea ver más ejemplos de código? Consulte los ejemplos de para IBM Cloud Code Engine GitHub.
Variables de entorno para sucesos que se entregan a trabajos
Todos los sucesos que se entregan a un trabajo se reciben como variables de entorno. Estas variables de entorno incluyen el prefijo CE_ y se basan en la especificación CloudEvents.
Cada suceso contiene algunas variables de entorno comunes que aparecen cada vez que se entrega el suceso a un trabajo. El conjunto real de variables en cada suceso puede incluir más opciones. Para más información, consulte los atributos CloudEvent.
En la tabla siguiente se describen las variables de entorno específicas de los sucesos de cron.
| Variable | Descripción |
|---|---|
CE_DATA |
Los datos (cuerpo) para el suceso. Consulte CE_DATA para sucesos de cron. |
CE_ID |
Un identificador exclusivo para el suceso, a menos que se vuelva a reproducir un suceso, en cuyo caso se le asigna el mismo ID. |
CE_SOURCE |
Una referencia de URI que indica dónde se ha originado este suceso en el generador de sucesos. Para sucesos de cron, se trata de una referencia de URI con subdominio para el proyecto y el nombre de la suscripción de cron, en el formato
siguiente: /apis/v1/namespaces/[PROJECT_SUBDOMAIN]/pingsources/[SUBSCRIPTION_NAME]. |
CE_SPECVERSION |
La versión de la especificación de CloudEvents. Este valor siempre es 1.0. |
CE_TIME |
La hora a la que se ha generado el suceso. |
CE_TYPE |
El tipo del suceso. Para los sucesos de cron, se trata de dev.knative.sources.ping. |
Variable de entorno de CE_DATA
Para los eventos de temporizador periódico, la variable de entorno CE_DATA contiene el evento en sí y tiene el formato que se especifica al crear o actualizar la suscripción.
Salida de ejemplo
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
Definición de atributos de suceso adicionales
Al crear una suscripción, puede definir atributos de suceso adicionales que se incluirán en los sucesos generados. Estos atributos de suceso parecen similares a cualquier otro atributo de CloudEvent en la entrega de sucesos. Si
elige especificar el nombre de un atributo CloudEvent existente, prevalece sobre el valor original incluido en el suceso. Para obtener más información, consulte ¿Puedo utilizar otras especificaciones de CloudEvents?
Desde la consola, puede especificar atributos de suceso como pares de clave-valor desde el separador General para la suscripción de sucesos de temporizador periódico (cron).
Con la CLI, para definir atributos adicionales, utilice las opciones --extension con el mandato de CLI ibmcloud ce sub cron create.
Supresión de un suscripción
Cuando ya no necesite una suscripción de temporizador periódico (cron), puede suprimirla.
Supresión de una suscripción desde la consola
- En la página Code Engine Projects, vaya a su proyecto.
- En la página Visión general, pulse Suscripciones de sucesos para ver una lista de suscripciones definidas.
- En la lista de suscripciones, suprima la suscripción que desea eliminar de la aplicación o del trabajo.
Si suprime una app o un trabajo, la suscripción no se suprime.
Supresión de una suscripción con la CLI
Puede suprimir una suscripción ejecutando el mandato ibmcloud ce sub cron delete o el mandato ibmcloud ce sub cos delete.
Por ejemplo, suprima una suscripción de cron denominada mycronevent2,
ibmcloud ce subscription cron delete --name mycronevent2
Si suprime una app o un trabajo, la suscripción no se suprime. En su lugar, en la CLI, la suscripción pasa al estado preparado de false porque la suscripción depende de la disponibilidad de la aplicación o del trabajo. Si vuelve
a crear la app o el trabajo (u otra app o trabajo con el mismo nombre), la reconexión de la suscripción y el estado preparado son true.