Trabalhando com o produtor de eventos de cronômetro periódico (cron)
O produtor de eventos de cronômetro periódico (cron) gera um evento em intervalos regulares. Esse intervalo pode ser planejado por minuto, hora, dia, mês ou por uma combinação de vários intervalos de tempos diferentes. Você pode assinar aplicativos, funções e trabalhos Code Engine para receber eventos cron.
A assinatura do evento Periodic timer usa a sintaxe padrão do crontab para especificar detalhes do intervalo, no formato ' * * * * *
, em que os campos são minuto, hora, dia do mês, mês do ano e dia da semana. Por exemplo, para planejar
um evento para a meia-noite, especifique 0 0 * * *
. Para programar um evento para todas as sextas-feiras à meia-noite, especifique 0 0 * * 5
. Para obter mais informações sobre o crontab, consulte CRONTAB.
Ao assinar um produtor de eventos do timer Periodic, você deve fornecer um destino (aplicativo, função ou trabalho) e um tipo de destino para a assinatura. Se você não fornecer um planejamento, o padrão de * * * * *
(a cada minuto)
será usado.
Code Engine tem cotas para assinaturas de cronômetro periódico em um projeto e limites de assinatura. Para obter mais informações sobre limites do Code Engine, consulte Limites e cotas para o Code Engine.
Inscrevendo-se em eventos de cronômetro periódico (cron) para um aplicativo
É possível trabalhar com assinaturas de temporizador periódico no console ou com a CLI.
Os eventos são enviados para aplicativos como solicitações de POST HTTP. Para obter mais informações sobre as informações que estão incluídas com o evento, consulte cabeçalhos de HTTP e informações do corpo para eventos.
Inscrevendo-se em eventos de cronômetro periódico (cron) para um aplicativo a partir do console
É possível criar e atualizar assinaturas de eventos do timer Periodic para um aplicativo no console.
Antes de Iniciar
- Crie um projeto.
- Criar um aplicativo. Por exemplo, crie um aplicativo que seja chamado
myapp
e que use a imagemicr.io/codeengine/cron
. Essa imagem foi criada a partir de 'cron.go
, disponível no Samples for IBM Cloud Code Engine No repositório GitHub.
Conclua as etapas a seguir para criar e atualizar uma assinatura de evento de timer periódico para um aplicativo no console.
-
Na página Code Engine Acesse seu projeto.
-
A partir da página Visão Geral, clique em Assinaturas de eventos.
-
A partir da página de Assinaturas de eventos, clique em Criar para criar sua assinatura.
-
Na página Criar assinatura de evento, conclua as etapas a seguir:
- Para Tipo de evento, selecione o tile Cronômetro periódico. Clique em Avançar.
- Para Geral, forneça um nome para a assinatura de cronômetro Periódico, por exemplo,
myptimer
. É possível, opcionalmente, fornecer atributos de eventos. Observe que, se o consumidor de evento de cronômetro periódico for um aplicativo, os atributos do evento estarão disponíveis como cabeçalhos HTTP. Se o consumidor do evento for uma tarefa, os atributos do evento estarão disponíveis como variáveis de ambiente. Clique em Avançar para continuar. - Para Programação, forneça informações sobre o horário dos eventos. O produtor de eventos do timer Periodic usa a sintaxe padrão do crontab para especificar os detalhes do intervalo. Escolha seu intervalo a partir dos
padrões fornecidos ou forneça sua própria expressão cron customizada, como
0 0 * * *
, que especifica que o evento ocorra todos os dias à meia-noite. Para este exemplo, selecione o padrão de programação para todos os dias, todas as horas, todos os minutos. Observe que a expressão cron é gerada para você. Os padrões de dia, hora e minuto e a expressão Cron estão em Hora Universal Coordenada (UTC). Se você não especificar uma programação, então esta assinatura de evento enviará um evento a cada minuto. Uma lista dos próximos eventos programados é exibida. Observe que esses próximos eventos programados são exibidos em seu fuso horário. Clique em Avançar para continuar. - Para Dados de eventos customizados, forneça dados para incluir no corpo da sua mensagem do evento. É possível especificar a mensagem como texto simples ou em formato Base64. Para este exemplo, especifique o texto,
hello stranger
como o corpo da mensagem do evento. Se a mensagem estiver em formato Base64, é possível optar por ter a mensagem decodificada quando o evento for enviado. Também é possível especificar o tipo de conteúdo para seus dados de eventos customizados. Clique em Avançar para continuar. - Para Consumidor de evento, especifique o aplicativo ou a tarefa a receber eventos. Observe que você pode escolher a partir de uma lista de aplicativos e tarefas definidos. Para este exemplo, use o aplicativo
myapp
que referencia a imagemicr.io/codeengine/cron
. Se ainda não tiver criado o aplicativo ou o trabalho, você poderá especificar o nome do aplicativo ou do trabalho e criar o aplicativo ou o trabalho depois de criar a assinatura do Periodic Timer. Apenas para aplicativos, é possível especificar opcionalmente um caminho. Por padrão, os eventos são encaminhados para a URL raiz do aplicativo de destino. É possível enviar eventos para um destino diferente dentro do app especificando um caminho. Por exemplo, se o seu caminho de assinatura especificar/events
, os eventos serão enviados parahttps://<base application URL>/events
. Clique em Avançar para continuar. - Para Resumo, revise as configurações de sua assinatura de evento de cronômetro periódico e faça as alterações, se necessário. Quando estiver pronto, clique em Criar para criar a assinatura do cronômetro periódico.
-
Agora que a assinatura do cronômetro Periodic foi criada, acesse a página Assinaturas de eventos para visualizar uma listagem da assinatura definida.
-
Para atualizar uma assinatura, navegue até a página de assinatura do Periodic Timer. Na página Assinaturas de eventos, clique no nome da assinatura que deseja atualizar.
-
Na página de assinatura do cronômetro periódico, altere os dados na mensagem do evento. Na guia Dados do evento customizado, altere os dados do evento para
hello sunshine
. Clique em Salvar para salvar suas mudanças. -
Como o aplicativo
myapp
faz referência ao aplicativocron
de amostra, que imprime informações nos arquivos de log, é possível visualizar os logs. Visualize os logs do aplicativo para o aplicativo consumidor de eventomyapp
e veja se a mensagem do evento éhello sunshine
. Consulte Visualizando logs do aplicativo a partir do console.
Inscrevendo-se em eventos de cronômetro periódico (cron) para um aplicativo com a CLI
Antes de Iniciar
- Configure o seu ambiente da CLI do Code Engine.
- Crie um projeto.
- Criar um aplicativo. Por exemplo, crie um aplicativo que seja chamado
myapp
e que use a imagemicr.io/codeengine/cron
. Essa imagem foi criada a partir de 'cron.go
, disponível nas amostras para IBM Cloud Code Engine Repositório GitHub
ibmcloud ce application create --name myapp --image icr.io/codeengine/cron
Para conectar seu aplicativo à assinatura do timer Periodic com a CLI, use o comando ' ibmcloud ce sub cron create
.
ibmcloud ce sub cron create --name NAME --destination-type APP --destination APPLICATION_NAME --schedule CRON
Por exemplo, para criar uma assinatura cron que envia um evento para um aplicativo chamado " myapp
todos os dias à meia-noite:
ibmcloud ce sub cron create --name mycronevent --destination-type app --destination myapp --schedule '0 0 * * *'
Deve-se agrupar o valor da programação entre aspas para garantir que ele seja tratado como uma única sequência.
A tabela a seguir resume as opções usadas no exemplo anterior com o comando sub cron sub cron create
. Para obter mais informações sobre o comando e suas opções, consulte o comando ibmcloud ce subscription cron create
.
Opção | Descrição |
---|---|
--name |
O nome da origem de eventos de cron Este valor é necessário. |
--destination |
O nome de um aplicativo ou tarefa do Code Engine no projeto atual para receber os eventos do produtor do evento. Este valor é necessário. |
--destination-type |
O tipo do destination , neste caso, o app . O valor padrão é app . |
--schedule |
Planeje com que frequência o evento é acionado, em formato crontab. Por exemplo, especifique */2 * * * * (em formato de sequência) para cada 2 minutos. Por padrão, o evento de cron é acionado a cada minuto e é configurado
para o fuso horário UTC. Para modificar o fuso horário, use a opção --time-zone . Este valor é opcional. |
- Dicas para usar os comandos
sub cron
-
- Por padrão, os eventos são encaminhados para a URL raiz do aplicativo de destino. É possível enviar eventos para um destino diferente dentro do app, usando a opção
--path
. Por exemplo, se a sua assinatura especificar--path /events
, os eventos serão enviados parahttps://<base application URL>/events
. - O tamanho dos dados dos eventos do timer Periodic é limitado a um máximo de 4096 bytes. Portanto, se você usar a opção
--data
ou--data-base64
, poderá enviar um máximo de 4096 bytes. Para obter mais informações, consulte Limites e cotas para o Code Engine. - As assinaturas de cron usam o fuso horário
UTC
por padrão. É possível mudar o fuso horário especificando a opção--time-zone
com os comandos**sub cron create
** ousub cron update
. Para obter valores válidos de fuso horário, consulte o banco de dados TZ. Observe que, se você criar uma assinatura usandokubectl
e não especificar um fuso horário, o fuso horárioUTC
será designado. - Se você ainda não criou seu aplicativo ou consumidor de evento de tarefa, use a opção
--force
com o comandosub cron create
para forçar a criação da assinatura de evento de cron. É possível especificar o nome do seu aplicativo ou tarefa e criar seu aplicativo ou criar sua tarefa depois de criar a assinatura de cron.
- Por padrão, os eventos são encaminhados para a URL raiz do aplicativo de destino. É possível enviar eventos para um destino diferente dentro do app, usando a opção
Para verificar se a sua assinatura de cron foi criada com sucesso, execute o comando ibmcloud ce sub cron get --name mycronevent
.
Saída de exemplo
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
A partir desta saída, é possível ver que o aplicativo de destino é o myapp
, a programação é 0 0 * * *
(todos os dias à meia-noite) e o estado Pronto é true
.
Atualizando sua assinatura de cron com a CLI
Para atualizar a assinatura de cron com a CLI, use o comando ibmcloud ce subscription cron update
. Por exemplo, atualize a assinatura
mycronevent
para alterar a programação para enviar um evento a um aplicativo chamado myapp
a cada 2 minutos.
ibmcloud ce sub cron update --name mycronevent --schedule '*/2 * * * *'
Para verificar se a sua assinatura de cron foi atualizada com sucesso, execute o comando ibmcloud ce sub cron get --name mycronevent
. A programação da assinatura foi atualizada.
Saída de exemplo
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
Deseja experimentar um tutorial? Consulte Inscrevendo-se em eventos de cronômetro periódico (cron). Procurando mais exemplos de código? Confira as Amostras para IBM Cloud Code Engine GitHub repo.
Visualizando informações de eventos para um aplicativo a partir do console
Para visualizar informações sobre suas assinaturas de eventos,
- Na página Code Engine Acesse seu projeto.
- A partir da página Visão Geral, clique em Assinaturas de eventos para visualizar uma listagem de assinaturas definidas.
Se o seu aplicativo imprimir informações em arquivos de log, como o aplicativo cron
de amostra faz, visualize os arquivos de log para o seu aplicativo de consumidor de eventos. Consulte Visualizando logs do aplicativo a partir do console.
Visualizando informações de evento para um aplicativo com a CLI
Se seu aplicativo imprimir informações em arquivos de log, como o aplicativo cron
de amostra faz, visualize os arquivos de log para seu aplicativo de consumidor de evento com o comando da CLI ibmcloud ce app logs
.
Por exemplo, para visualizar os logs para o aplicativo que você criou no exemplo anterior.
ibmcloud ce application logs --application myapp
Saída de exemplo
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 obter mais informações sobre a criação de log, consulte Visualizando logs.
Procurando mais exemplos de código? Confira as Amostras para IBM Cloud Code Engine GitHub repo.
Informações de cabeçalho e corpo do cron para eventos entregues a aplicativos
Todos os eventos que são entregues aos aplicativos são recebidos como mensagens HTTP POST. Os eventos contêm certos cabeçalhos de HTTP que o ajudam a determinar rapidamente os bits de chave de informações sobre os eventos sem olhar para o
corpo (lógica de negócios) do evento. Para obter mais informações, consulte a especificação 'CloudEvents
.
Cabeçalhos
A tabela a seguir descreve os cabeçalhos dos eventos de cronômetro periódico (cron):
Cabeçalho | Descrição |
---|---|
ce-id |
Um identificador exclusivo para o evento, a menos que um evento seja reproduzido. Nesse caso, ele é designado com o mesmo ID. |
ce-source |
Uma referência de URI que indica de que local esse evento teve origem dentro do produtor de evento. Para eventos de cron, este cabeçalho é uma referência de URI com subdomínio para o projeto e o nome da assinatura de cron, no seguinte
formato: /apis/v1/namespaces/[PROJECT_SUBDOMAIN]/pingsources/[SUBSCRIPTION_NAME] . |
ce-specversion |
A versão da especificação CloudEvents . Esse valor é sempre 1.0 . |
ce-time |
O horário no qual o evento foi gerado. |
ce-type |
O tipo do evento. Para eventos de cron, este é dev.knative.sources.ping . |
Saída de exemplo
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
Corpo HTTP
O corpo HTTP contém o próprio evento e está no formato que você especifica ao criar ou ao atualizar a assinatura.
Assinatura de eventos de cronômetro periódico (cron) para uma função
É possível trabalhar com assinaturas de temporizador periódico no console ou com a CLI.
Os eventos são enviados às funções como solicitações HTTP POST. Para obter mais informações sobre as informações que estão incluídas com o evento, consulte cabeçalhos de HTTP e informações do corpo para eventos.
Assinatura de eventos de cronômetro periódico (cron) para uma função no console
É possível criar e atualizar assinaturas de eventos do timer Periodic para uma função no console.
Antes de Iniciar
- Crie um projeto.
- Criar uma função. Por exemplo, crie uma função chamada
myfun
que use o código sequencial de amostra a seguir:
/**
* 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
}
Conclua as etapas a seguir para criar e atualizar uma assinatura de evento de timer periódico para uma função no console.
-
Na página Code Engine Acesse seu projeto.
-
A partir da página Visão Geral, clique em Assinaturas de eventos.
-
A partir da página de Assinaturas de eventos, clique em Criar para criar sua assinatura.
-
Na página Criar assinatura de evento, conclua as etapas a seguir:
- Para Tipo de evento, selecione o tile Cronômetro periódico. Clique em Avançar.
- Para Geral, forneça um nome para a assinatura de cronômetro Periódico, por exemplo,
myptimer
. É possível, opcionalmente, fornecer atributos de eventos. Observe que, se o consumidor de evento de cronômetro periódico for um aplicativo, os atributos do evento estarão disponíveis como cabeçalhos HTTP. Se o consumidor de eventos for uma função, os atributos de eventos estarão disponíveis como pares chave-valor na propriedade__ce_headers
do objetoparams
. Clique em Avançar para continuar. - Para Programação, forneça informações sobre o horário dos eventos. O produtor de eventos do timer Periodic usa a sintaxe padrão do crontab para especificar os detalhes do intervalo. Escolha seu intervalo a partir dos
padrões fornecidos ou forneça sua própria expressão cron customizada, como
0 0 * * *
, que especifica que o evento ocorra todos os dias à meia-noite. Para este exemplo, selecione o padrão de programação para todos os dias, todas as horas, todos os minutos. Observe que a expressão cron é gerada para você. Os padrões de dia, hora e minuto e a expressão Cron estão em Hora Universal Coordenada (UTC). Se você não especificar uma programação, então esta assinatura de evento enviará um evento a cada minuto. Uma lista dos próximos eventos programados é exibida. Observe que esses próximos eventos programados são exibidos em seu fuso horário. Clique em Avançar para continuar. - Para Dados de eventos customizados, forneça dados para incluir no corpo da sua mensagem do evento. É possível especificar a mensagem como texto simples ou em formato Base64. Para este exemplo, especifique o texto,
hello stranger
como o corpo da mensagem do evento. Se a mensagem estiver em formato Base64, é possível optar por ter a mensagem decodificada quando o evento for enviado. Também é possível especificar o tipo de conteúdo para seus dados de eventos customizados. Clique em Avançar para continuar. - Para Consumidor de evento, escolha o tipo de componente
Function
e especifique a função para receber eventos. Observe que você pode escolher em uma lista de funções definidas. Para este exemplo, use a funçãomyfun
que usa o código sequencial de amostra Se você ainda não tiver criado sua função, será possível especificar o nome de sua função e Criando cargas de trabalho de função com código sequencial depois de criar a assinatura do cronômetro periódico. Clique em Avançar para continuar. - Para Resumo, revise as configurações de sua assinatura de evento de cronômetro periódico e faça as alterações, se necessário. Quando estiver pronto, clique em Criar para criar a assinatura do cronômetro periódico.
-
Agora que a assinatura do cronômetro Periodic foi criada, acesse a página Assinaturas de eventos para visualizar uma listagem da assinatura definida.
-
Para atualizar uma assinatura, navegue até a página de assinatura do Periodic Timer. Na página Assinaturas de eventos, clique no nome da assinatura que deseja atualizar.
-
Na página de assinatura do cronômetro periódico, altere os dados na mensagem do evento. Na guia Dados do evento customizado, altere os dados do evento para
{ "hello": "world" }
e escolhaapplication/json
como o Tipo de conteúdo de dados do evento customizado. Clique em Salvar para salvar suas mudanças. -
Como a função
myfun
usa o código sequencial de amostra, que imprime o objetoparams
completo para os arquivos de log, é possível visualizar os logs para verificar se a função foi chamada Visualize os logs de função para a função do consumidor de eventos domyfun
e veja se o objetoparams
contém um par chave-valorhello: world
.. Também é possível ver que o campobody
do objetoparams
contém o valor codificado Base64{ "hello": "world" }
Consulte Visualizando logs de função do console.
Assinatura de eventos de cronômetro periódico (cron) para uma função com a CLI
Antes de Iniciar
- Configure o seu ambiente da CLI do Code Engine.
- Crie um projeto.
- Criar uma função. Por exemplo, crie uma função chamada
myfun
que use o código sequencial de amostra a seguir:
/**
* 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
}
Salve o código em um arquivo chamado sample_inline_code.js
e crie a função usando o comando a seguir:
ibmcloud ce function create --name myfun --runtime nodejs --inline-code ./sample_inline_code.js
Para conectar sua função à assinatura do timer periódico com a CLI, use o comando ' ibmcloud ce sub cron create
:
ibmcloud ce sub cron create --name NAME --destination-type function --destination FUNCTION_NAME --schedule CRON
Por exemplo, para criar uma assinatura cron que envia um evento para um aplicativo chamado " myfun
todos os dias à meia-noite:
ibmcloud ce sub cron create --name mycronevent --destination-type function --destination myfun --schedule '0 0 * * *'
Deve-se agrupar o valor da programação entre aspas para garantir que ele seja tratado como uma única sequência.
A tabela a seguir resume as opções usadas no exemplo anterior com o comando sub cron sub cron create
. Para obter mais informações sobre o comando e suas opções, consulte o comando ibmcloud ce subscription cron create
.
Opção | Descrição |
---|---|
--name |
O nome da origem de eventos de cron Este valor é necessário. |
--destination |
O nome de um aplicativo, função ou trabalho Code Engine no projeto atual para receber os eventos do produtor de eventos. Este valor é necessário. |
--destination-type |
O tipo do destination , neste caso, o function . O valor padrão é app . |
--schedule |
Planeje com que frequência o evento é acionado, em formato crontab. Por exemplo, especifique */2 * * * * (em formato de sequência) para cada 2 minutos. Por padrão, o evento de cron é acionado a cada minuto e é configurado
para o fuso horário UTC. Para modificar o fuso horário, use a opção --time-zone . Este valor é opcional. |
- Dicas para usar os comandos
sub cron
-
- O tamanho dos dados dos eventos do timer Periodic é limitado a um máximo de 4096 bytes. Portanto, se você usar a opção
--data
ou--data-base64
, poderá enviar um máximo de 4096 bytes. Para obter mais informações, consulte Limites e cotas para o Code Engine. - As assinaturas de cron usam o fuso horário
UTC
por padrão. É possível mudar o fuso horário especificando a opção--time-zone
com os comandos**sub cron create
** ousub cron update
. Para obter valores válidos de fuso horário, consulte o banco de dados TZ. Observe que, se você criar uma assinatura usandokubectl
e não especificar um fuso horário, o fuso horárioUTC
será designado. - Se você ainda não criou seu aplicativo ou consumidor de evento de tarefa, use a opção
--force
com o comandosub cron create
para forçar a criação da assinatura de evento de cron. É possível especificar o nome de sua função Criar uma função depois de criar a assinatura cron.
- O tamanho dos dados dos eventos do timer Periodic é limitado a um máximo de 4096 bytes. Portanto, se você usar a opção
Para verificar se a sua assinatura de cron foi criada com sucesso, execute o comando ibmcloud ce sub cron get --name mycronevent
.
Saída de exemplo
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
Nessa saída, você pode ver que a função de destino é ' myfun
, a programação é ' 0 0 * * *
(todos os dias à meia-noite) e o estado Ready é ' true
.
Atualizando sua assinatura de cron com a CLI
Para atualizar a assinatura de cron com a CLI, use o comando ibmcloud ce subscription cron update
. Por exemplo, atualize a assinatura
" mycronevent
para alterar a programação e enviar um evento para uma função chamada " myfun
a cada 2 minutos:
ibmcloud ce sub cron update --name mycronevent --schedule '*/2 * * * *'
Para verificar se a sua assinatura de cron foi atualizada com sucesso, execute o comando ibmcloud ce sub cron get --name mycronevent
. A programação da assinatura foi atualizada.
Saída de exemplo
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
Deseja experimentar um tutorial? Consulte Inscrevendo-se em eventos de cronômetro periódico (cron). Procurando mais exemplos de código? Confira as Amostras para IBM Cloud Code Engine GitHub repo.
Visualização de informações de eventos de uma função no console
Para visualizar informações sobre suas assinaturas de eventos:
- Na página Code Engine Acesse seu projeto.
- A partir da página Visão Geral, clique em Assinaturas de eventos para visualizar uma listagem de assinaturas definidas.
Se a sua função imprime informações em arquivos de registro, como faz o trabalho de exemplo " codeengine
, visualize os arquivos de registro da sua função. Consulte Visualizando logs de tarefas a partir do console.
Informações de cabeçalho e corpo do Cron para eventos entregues a funções
Todos os eventos que são entregues às funções são recebidos como mensagens HTTP POST. Os eventos contêm determinados cabeçalhos HTTP que ajudam a determinar rapidamente bits de informações chave sobre os eventos. Cabeçalhos HTTP são armazenados
na propriedade __ce_headers
do objeto params
com o qual a função é chamada. Para obter mais informações, consulte a especificação 'CloudEvents
.
Cabeçalhos
A tabela a seguir descreve os pares chave-valor em __ce_headers
para eventos de cronômetro periódico (cron):
Cabeçalho | Descrição |
---|---|
Ce-Id |
Um identificador exclusivo para o evento, a menos que um evento seja reproduzido. Nesse caso, ele é designado com o mesmo ID. |
Ce-Source |
Uma referência de URI que indica de que local esse evento teve origem dentro do produtor de evento. Para eventos de cron, este cabeçalho é uma referência de URI com subdomínio para o projeto e o nome da assinatura de cron, no seguinte
formato: /apis/v1/namespaces/[PROJECT_SUBDOMAIN]/pingsources/[SUBSCRIPTION_NAME] . |
Ce-Specversion |
A versão da especificação CloudEvents . Esse valor é sempre 1.0 . |
Ce-Time |
O horário no qual o evento foi gerado. |
Ce-Type |
O tipo do evento. Para eventos de cron, este é dev.knative.sources.ping . |
Saída de exemplo
__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"
}
Corpo HTTP
O corpo HTTP contém os dados do evento personalizado e está no formato que você especifica ao criar ou atualizar a assinatura. É possível acessar os dados do evento customizado da propriedade body
no objeto params
.
Objeto de exemplo params
para uma chamada de evento com dados do evento customizado configurado como hello stranger
e Tipo de conteúdo de dados do evento customizado configurado como 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"
}
O valor para body
é Base64 codificado, se Tipo de conteúdo de dados do evento customizado for configurado como application/json
.
Inscrevendo-se em eventos de cronômetro periódico (cron) para um tarefa
É possível trabalhar com assinaturas de temporizador periódico no console ou com a CLI.
A sua tarefa recebe eventos como variáveis de ambiente. Para obter mais informações sobre as variáveis de ambiente enviadas pelo cron, consulte Variáveis de ambiente para eventos.
Inscrevendo-se em eventos de cronômetro periódico (cron) para uma tarefa a partir do console
É possível criar e atualizar assinaturas de eventos do timer Periodic para um trabalho no console.
Antes de Iniciar
- Crie um projeto.
- Crie uma tarefa. Por exemplo, crie uma tarefa que seja chamada
myjob
e que use a imagemcodeengine
. Essa imagem foi criada a partir de 'codeengine.go
, disponível no Samples for IBM Cloud Code Engine No repositório GitHub.
Conclua as etapas a seguir para criar e atualizar uma assinatura de evento de timer periódico para um trabalho no console.
-
Na página Code Engine Acesse seu projeto.
-
A partir da página Visão Geral, clique em Assinaturas de eventos.
-
A partir da página de Assinaturas de eventos, clique em Criar para criar sua assinatura.
-
Na página Criar assinatura de evento, conclua as etapas a seguir:
- Para Geral, forneça um nome para a assinatura de cronômetro Periódico, por exemplo,
myptimer2
. É possível, opcionalmente, fornecer atributos de eventos. Observe que, se o consumidor de evento de cronômetro periódico for um aplicativo, os atributos do evento estarão disponíveis como cabeçalhos HTTP. Se o consumidor do evento for uma tarefa, os atributos do evento estarão disponíveis como variáveis de ambiente. Clique em Avançar para continuar. - Para Programação, forneça informações sobre o horário dos eventos. O produtor de eventos do timer Periodic usa a sintaxe padrão do crontab para especificar os detalhes do intervalo. Escolha seu intervalo a partir dos
padrões fornecidos ou forneça sua própria expressão cron customizada, como
0 0 * * *
, que especifica que o evento ocorra todos os dias à meia-noite. Para este exemplo, selecione o padrão de programação para todos os dias, todas as horas, todos os minutos. Observe que a expressão cron é gerada para você. Os padrões de dia, hora e minuto e a expressão Cron estão em Hora Universal Coordenada (UTC). Se você não especificar uma programação, então esta assinatura de evento enviará um evento a cada minuto. Uma lista dos próximos eventos programados é exibida. Observe que esses próximos eventos programados são exibidos em seu fuso horário. Clique em Avançar para continuar. - Para Dados de eventos customizados, forneça dados para incluir no corpo da sua mensagem do evento. É possível especificar a mensagem como texto simples ou em formato Base64. Para este exemplo, especifique o texto,
hello stranger
como o corpo da mensagem do evento. Se a mensagem estiver em formato Base64, é possível optar por ter a mensagem decodificada quando o evento for enviado. Também é possível especificar o tipo de conteúdo para seus dados de eventos customizados. Clique em Avançar para continuar. - Para Consumidor de evento, especifique o aplicativo ou a tarefa a receber eventos. Observe que você pode escolher a partir de uma lista de aplicativos e tarefas definidos. Para este exemplo, use a tarefa
myjob
que referencia a imagemicr.io/codeengine/codeengine
. Se ainda não tiver criado o trabalho, você poderá especificar o nome do trabalho e criá-lo depois de criar a assinatura do Periodic Timer. Clique em Avançar para continuar. - Para Resumo, revise as configurações de sua assinatura de evento de cronômetro periódico e faça as alterações, se necessário. Quando estiver pronto, clique em Criar para criar a assinatura do cronômetro periódico.
- Para Geral, forneça um nome para a assinatura de cronômetro Periódico, por exemplo,
-
Agora que a assinatura do cronômetro Periodic foi criada, acesse a página Assinaturas de eventos para visualizar uma listagem da assinatura definida.
-
Para atualizar uma assinatura, navegue até a página de assinatura do Periodic Timer. Na página Assinaturas de eventos, clique no nome da assinatura que deseja atualizar.
-
Na página de assinatura do cronômetro periódico, altere os dados na mensagem do evento. Na guia Dados do evento customizado, altere os dados do evento para
hello sunshine
. Clique em Salvar para salvar suas mudanças. -
Como a tarefa
myjob
faz referência ao aplicativocodeengine
de amostra, que imprime informações em arquivos de log, é possível visualizar os logs. Visualize os logs da tarefa para a tarefa do consumidor de eventomyjob
e veja se a mensagem do evento éhello sunshine
. Consulte Visualizando logs de tarefas a partir do console.
Inscrevendo-se em eventos de cronômetro periódico (cron) para uma tarefa com a CLI
Antes de Iniciar
- Configure o seu ambiente da CLI do Code Engine.
- Crie um projeto.
- Crie uma tarefa. Por exemplo, crie uma tarefa que seja chamada
myjob
e que use a imagemicr.io/codeengine/codeengine
. Essa imagem foi criada a partir de 'codeengine.go
, disponível no Samples for IBM Cloud Code Engine No repositório GitHub.
ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine
Para conectar seu trabalho à assinatura do timer Periodic com a CLI, use o comando ' ibmcloud ce sub cron create
.
ibmcloud ce sub cron create --name NAME --destination-type job --destination JOB_NAME --schedule CRON
Por exemplo, para criar uma assinatura de cron que envia um evento para uma tarefa chamada myjob
a cada 5 minutes minutos,
ibmcloud ce sub cron create --name mycronevent --destination-type job --destination myjob --schedule '*/5 * * * *' --data '{ "message": "Hello world!" }' --content-type application/json
Deve-se agrupar o valor da programação entre aspas para garantir que ele seja tratado como uma única sequência.
A tabela a seguir resume as opções que são usadas com o comando sub cron create
neste exemplo. Para obter mais informações sobre o comando e suas opções, consulte o comando ibmcloud ce subscription cron create
.
Opção | Descrição |
---|---|
--name |
O nome da origem de eventos de cron |
--destination-type |
O tipo do destination , neste caso, o job . |
--destination |
O nome de uma tarefa do Code Engine no projeto atual para receber os eventos do produtor de evento. |
--schedule |
Planeje com que frequência o evento é acionado, em formato crontab. Por exemplo, especifique */2 * * * * (em formato de sequência) para cada 2 minutos. Por padrão, o evento de cron é acionado a cada minuto e é configurado
para o fuso horário UTC. Para modificar o fuso horário, use a opção --time-zone . Este valor é opcional. |
- Dicas para usar os comandos
sub cron
-
- O tamanho dos dados dos eventos do timer Periodic é limitado a um máximo de 4096 bytes. Portanto, se você usar a opção
--data
ou--data-base64
, poderá enviar um máximo de 4096 bytes. Para obter mais informações, consulte Limites e cotas para o Code Engine. - As assinaturas de cron usam o fuso horário
UTC
por padrão. É possível mudar o fuso horário especificando a opção--time-zone
com os comandos**sub cron create
** ousub cron update
. Para obter valores válidos de fuso horário, consulte o banco de dados TZ. Observe que, se você criar uma assinatura usandokubectl
e não especificar um fuso horário, o fuso horárioUTC
será designado. - Se você ainda não criou seu aplicativo ou consumidor de evento de tarefa, use a opção
--force
com o comandosub cron create
para forçar a criação da assinatura de evento de cron. É possível especificar o nome do seu aplicativo ou tarefa e criar seu aplicativo ou criar sua tarefa depois de criar a assinatura de cron.
- O tamanho dos dados dos eventos do timer Periodic é limitado a um máximo de 4096 bytes. Portanto, se você usar a opção
Para verificar se sua assinatura de cron foi criada com sucesso, execute ibmcloud ce sub cron get --name mycronevent
.
Saída de exemplo
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
Por meio dessa saída, é possível ver que a tarefa de destino é myjob
, o planejamento é */5 * * * *
(a cada cinco minutos) e o estado Pronto é true
.
As execuções de tarefas que são criadas por assinaturas são excluídas após 10 minutos.
Atualizando a assinatura do cron com a CLI (tarefa)
Para atualizar a assinatura de cron com a CLI, use o comando ibmcloud ce subscription cron update
. Por exemplo, atualize a assinatura
mycronevent
para alterar a programação para enviar um evento a um aplicativo chamado myapp
a cada 2 minutos.
ibmcloud ce sub cron update --name mycronevent --schedule '*/2 * * * *'
Para verificar se a sua assinatura de cron foi atualizada com sucesso, execute o comando ibmcloud ce sub cron get --name mycronevent
. A programação da assinatura foi atualizada.
Saída de exemplo
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
Visualizando informações do evento para uma tarefa a partir do console
Para visualizar informações sobre suas assinaturas de eventos,
- Na página Code Engine Acesse seu projeto.
- A partir da página Visão Geral, clique em Assinaturas de eventos para visualizar uma listagem de assinaturas definidas.
Se a sua tarefa imprime informações em arquivos de log, como a tarefa codeengine
de amostra faz, visualize os arquivos de log para sua tarefa de consumidor de evento. Consulte Visualizando logs de tarefas a partir do console.
Visualizando informações de evento para uma tarefa com a CLI
Se a sua tarefa imprimir informações em arquivos de log, como a tarefa codeengine
de amostra faz, é possível localizar a execução da tarefa que foi criada a partir do evento de cronômetro periódico e, em seguida, visualizar os
logs de execução da tarefa. Por exemplo, para localizar a execução da tarefa para a tarefa no exemplo anterior.
ibmcloud ce jobrun list
Saída de exemplo
Listing job runs...
OK
Name Failed Pending Requested Running Succeeded Unknown Age
myjob-kd829 0 0 0 0 1 0 43s
Visualize os logs para a execução da tarefa especificando o nome de execução da tarefa.
ibmcloud ce jobrun logs --jobrun myjob-kd829
Saída de exemplo
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
Observe que as informações de registro para execuções de trabalho duram apenas uma hora. Para obter mais informações sobre a criação de log, consulte Visualizando logs.
Para obter mais informações sobre as variáveis de ambiente enviadas pelo cron, consulte Variáveis de ambiente para eventos.
Procurando mais exemplos de código? Confira as Amostras para IBM Cloud Code Engine GitHub repo.
Variáveis de ambiente para eventos que são entregues a tarefas
Todos os eventos que são entregues a uma tarefa são recebidos como variáveis de ambiente. Essas variáveis de ambiente incluem um prefixo de " CE_
e são baseadas no " especificação CloudEvents
.
Cada evento contém algumas variáveis de ambiente comuns que aparecem sempre que o evento é entregue a uma tarefa. O conjunto real de variáveis em cada evento pode incluir mais opções. Para obter mais informações, consulte o ' atributos CloudEvent
.
A tabela a seguir descreve as variáveis de ambiente que são específicas para eventos de cron.
Variável | Descrição |
---|---|
CE_DATA |
Os dados (corpo) do evento. Consulte CE_DATA para eventos de cron. |
CE_ID |
Um identificador exclusivo para o evento, a menos que um evento seja reproduzido. Nesse caso, ele é designado com o mesmo ID. |
CE_SOURCE |
Uma referência de URI que indica de que local esse evento teve origem dentro do produtor de evento. Para eventos de cron, esta é uma referência de URI com subdomínio para o projeto e o nome da assinatura de cron, no formato a seguir:
/apis/v1/namespaces/[PROJECT_SUBDOMAIN]/pingsources/[SUBSCRIPTION_NAME] . |
CE_SPECVERSION |
A versão da especificação CloudEvents . Esse valor é sempre 1.0 . |
CE_TIME |
O horário no qual o evento foi gerado. |
CE_TYPE |
O tipo do evento. Para eventos de cron, este é dev.knative.sources.ping . |
CE_DATA
Variável de ambiente
Para eventos de cronômetro periódico, a variável de ambiente ' CE_DATA
contém o próprio evento e está no formato especificado quando você cria ou atualiza a assinatura.
Saída de exemplo
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
Definindo atributos de eventos adicionais
Ao criar uma assinatura, é possível definir atributos de eventos adicionais a serem incluídos em quaisquer eventos gerados. Esses atributos de evento parecem semelhantes a qualquer outro atributo de CloudEvent
na entrega do evento.
Se você optar por especificar o nome de um atributo CloudEvent
existente, ele substituirá o valor original que foi incluído no evento. Para obter mais informações, consulte É possível usar outras especificações CloudEvents
?
No console, é possível especificar atributos de eventos como pares de valores-chave na guia Geral para sua assinatura de evento de cronômetro periódico (cron).
Com a CLI, para definir atributos adicionais, use as opções --extension
com o comando da CLI ibmcloud ce sub cron create
.
Excluindo uma assinatura
Quando você não precisar mais de uma assinatura de cronômetro periódico (cron), será possível excluí-la.
Excluindo uma assinatura a partir do console
- Na página Code Engine Acesse seu projeto.
- A partir da página Visão Geral, clique em Assinaturas de eventos para visualizar uma listagem de assinaturas definidas.
- Na lista de assinaturas, exclua a assinatura que deseja remover de seu aplicativo ou tarefa.
Se você excluir um app ou uma tarefa, a assinatura não será excluída.
Excluindo uma assinatura com a CLI
É possível excluir uma assinatura executando o comando ibmcloud ce sub cron delete
ou o comando ibmcloud ce sub cos delete
.
Por exemplo, exclua uma assinatura de cron chamada mycronevent2
,
ibmcloud ce subscription cron delete --name mycronevent2
Se você excluir um app ou uma tarefa, a assinatura não será excluída. Em vez disso, na CLI, a assinatura passa para o estado pronto de false
porque a assinatura depende da disponibilidade do aplicativo ou da tarefa. Se você recriar
o app ou a tarefa (ou outro app ou tarefa com o mesmo nome), a sua assinatura se reconectará e o estado Pronto será true
.