Como utilizar o template QStash EdgeFunction Scheduler através da Azion
Preview
O template QStash EdgeFunction Scheduler foi projetado para configurar e gerenciar uma edge function personalizada, que recebe um agendamento configurado pelo usuário e o despacha através do QStash, agendador e gestor de tarefas e mensagens para tempos de execução serverless.
Pré-requisitos
Seção intitulada Pre-requisitosAntes de usar este template, você precisa:
- Criar uma conta no Upstash.
- No console do Upstash, obter sua Current Signing Key, a Next Signing Key e o QStash Token na aba QStash.
- Gerar seu token pessoal do GitHub.
Você também deve ativar:
Para fazer isso:
- Acesse o Azion Console.
- Selecione Account menu > Billing & Subscriptions.
- Clique na aba Subscriptions.
- Active o switch do módulo.
Obtenha o template
Seção intitulada Obtenha o templatePara obter o template QStash EdgeFunction Scheduler, acesse o Azion Console e selecione a opção Start with a template na página inicial.
Isso abrirá uma nova página onde você pode selecionar o card do QStash EdgeFunction Scheduler.
Configure o template
Seção intitulada Configure o templateNa página do template, clique na aba Settings para abrir o formulário de configuração e fornecer as informações para configurar sua aplicação.
Os campos identificados com asterisco são obrigatórios.
- Application Name *: o nome de sua edge application. Ele é usado para identificar e gerenciar sua aplicação na plataforma da Azion.
- Use um nome único e fácil de lembrar. Se o nome já tiver sido usado, a plataforma retornará uma mensagem de erro.
- QStash Current Signing Key *: uma string para assinar todas as mensagens enviadas para o destino.
- Acesse o console do Upstash e copie a informação
QSTASH_CURRENT_SIGNING_KEY
na aba Qstash.
- Acesse o console do Upstash e copie a informação
- QStash Next Signing Key *: uma string usada para assinar mensagens depois de você ter girado suas chaves de assinatura.
- Acesse seu console do Upstash e copie a informação
QSTASH_NEXT_SIGNING_KEY
na aba Qstash.
- Acesse seu console do Upstash e copie a informação
- GitHub Personal Token *: seu token pessoal do GitHub.
Depois de preencher todas as informações, clique no botão Next, localizado no canto inferior direito. Isso iniciará o processo de implantação.
Implante o template
Seção intitulada Implante o templateDurante a implantação, você poderá acompanhar o processo através de uma janela mostrando os logs. Quando estiver concluída, uma nova página será exibida, confirmando que a edge application foi criada com sucesso.
Esta página mostra as seguintes seções:
- A seção Access your Edge Application, que inclui o link para visitar e explorar sua aplicação.
- O Build Summary contém o nome e a função da aplicação.
- A aba Deployment details pode ser aberta para acessar os logs relacionados à implantação.
- What do you want to do next? fornece recomendações sobre opções avançadas para aprimorar sua edge application: Customize Domain, Manage Edge Application, View Edge Application Metrics, View Edge Application Logs e o botão Back to Home.
Principais configurações
Seção intitulada Principais configuracoesQuando implantado, este template cria uma edge function que inclui os argumentos fornecidos pelo usuário. Ele também cria um novo repositório do GitHub que inclui uma automação para permitir continuous deployment. Além disso, o modelo cria e instancia uma edge application e seu domínio para facilitar a interação com a edge function.
Agende tarefas
Seção intitulada Agende tarefasDepois que a implantação for concluída e propagada, você poderá começar a agendar tarefas.
Para fazer isso, você tem duas opções: via terminal ou via console Upstash.
Via terminal
Seção intitulada Via terminal- Obtenha seu domínio da edge application.
- No console do Upstash, copie a informação
QSTASH_TOKEN
na aba QStash. - Em seu ambiente de desenvolvimento, abra o terminal.
- Faça uma requisição HTTP POST para a URL especificada para agendar suas mensagens.
Use os seguintes exemplos para sua solicitação, de acordo com o intervalo necessário:
Uma vez
Seção intitulada Uma vezA cada minuto
Seção intitulada A cada minutoA cada 10 minutos
Seção intitulada A cada 10 minutosA cada hora
Seção intitulada A cada horaOnde:
Flag | Descrição |
---|---|
--request POST | Especifica o método de requisição enviada. Nesse caso, um método HTTP POST para postar ou agendar uma mensagem HTTP. |
-H "Autorization" | Fornece informações de autorização através de um token para autenticação. Você deve adicionar seu token QStash aqui. |
-H "Content-Type" | Especifica o tipo de conteúdo do corpo da requisição. Nesse caso, formato JSON. |
-H "Upstash-Cron" | Programa uma tarefa semelhante ao cron no Upstash, permitindo que você automatize tarefas em intervalos específicos. |
d | Fornece os dados para o corpo da requisição, incluindo o payload JSON. As barras invertidas (\ ) antes das aspas duplas (" ) são usadas para garantir que as aspas sejam tratadas como parte dos dados dentro do payload JSON. |
Pronto. A sua tarefa está agendada e será executada de acordo o agendamento definido. Suas tarefas agendadas ficam visíveis no console do Upstash, dentro da aba QStash*, para sua revisão e monitoramento.
Via console do Upstash
Seção intitulada Via console do Upstash- Copie seu domínio da edge application da Azion.
- Vá para o console do Upstash e abra a aba QStash.
- Preencha o formulário com as informações solicitadas.
- No campo Type, selecione Scheduled e escolha o delay.
- Como alternativa, selecione Once para enviar uma mensagem imediata e uma única vez.
- Clique no botão Schedule.
Pronto. Sua tarefa está agendada e visível na seção Scheduled Jobs para sua revisão e monitoramento.
Gerencie o template
Seção intitulada Gerencie o templateConsiderando que a configuração inicial pode não ser ideal para sua edge application, todas as configurações podem ser personalizadas sempre que você precisar usando o Azion Azion Console. Depois que o template for implantado, você também terá controle total sobre a personalização de sua conta e configurações do QStash.
Para gerenciar e editar as configurações da sua edge application na Azion, siga estas etapas:
- Acesse o Azion Console.
- No canto superior esquerdo, selecione Products menu > Edge Application.
- Você será redirecionado para a página de Edge Application. Ela lista todas as edge applications que você criou.
- Encontre a edge application relacionada ao template Qstash Scheduler e selecione-a.
- A lista é organizada em ordem alfabética. Você também pode usar a barra de busca localizada no canto superior esquerdo da lista; atualmente, ela filtra apenas pelo nome das aplicações.
Depois de selecionar a edge application em que você trabalhará, você será direcionado para uma página que contém todas as configurações que você pode configurar.
Continuous deployment
Seção intitulada Continuous deploymentUma vez que o template é implantado, você pode editar e atualizar seus args e código, bem como implementar um fluxo de trabalho de continuous deployment, ou implantação contínua. No entanto, você precisará primeiro declarar seus secrets no repositório do GitHub do seu projeto para concluir com sucesso o segundo build com as alterações. Assim que esta segunda compilação for concluída, você poderá gerenciar seu projeto com um fluxo de trabalho de implantação contínua e editar os argumentos conforme desejado.
Para fazer isso, abra seu repositório QStash EdgeFunction Scheduler no GitHub. Em seguida, vá para Settings > Secrets and Variables > Action para adicionar suas variáveis, seguindo estas instruções:
- Adicione o personal token da Azion aos segredos:
- Leia como gerar um personal token da Azion na documentação.
- Adicione os ambientes para uso no action workflow no arquivo main.yml, dentro da pasta .github/workflows do seu repositório:
- Adicione as Signing Keys do Upstash aos secrets, sendo:
- QSTASH_CURRENT_SIGNING_KEY *: uma string para assinar todas as mensagens enviadas para o destino.
- Acesse o console do Upstash e copie a
QSTASH_CURRENT_SIGNING_KEY
na aba Qstash. - QSTASH_NEXT_SIGNING_KEY *: uma string usada para assinar mensagens depois de você ter girado suas signing keys.
- Acesse seu console do Upstash e copie a
QSTASH_NEXT_SIGNING_KEY
na aba QStash.
- Adicione os ambientes para uso no action workflow no arquivo main.yml, dentro da pasta .github/workflows do seu repositório:
- Abra um pull request com as alterações na main branch e inicie a implantação automática.
Agora, seu projeto está pronto para trabalhar com um fluxo de trabalho de implantação contínua, atualizando instantaneamente quaisquer alterações na aplicação ou no repositório.
Adicionar um domínio personalizado
Seção intitulada Adicionar um dominio personalizadoA edge application criada durante a implantação tem um domínio Azion atribuído para torná-la acessível através do navegador. O domínio tem o seguinte formato: xxxxxxxxxx.map.azionedge.net/
. No entanto, você pode adicionar um domínio personalizado para que os usuários acessem sua edge application por meio dele.
Contribuidores