Como utilizar a solução Schedule Blocking através do Marketplace da Azion
Visão geral
A solução Schedule Blocking da Azion é uma solução serverless disponível no Azion Marketplace.
Essa solução permite controlar o acesso ao seu aplicativo com base em um cronograma, de acordo com suas necessidades.
1. Obtendo a solução
Para usar a solução de Schedule Blocking fornecida pelo Marketplace da Azion, você deve seguir os passos:
- Acesse sua conta no Real-Time Manager (RTM).
- Se você não tiver uma, crie uma conta visitando a página de cadastro.
- No canto superior esquerdo da página, selecione Products menu > Marketplace.
- Na caixa de busca Explore for solutions, digite “schedule blocking” ou navegue pelos cards para encontrar a solução Schedule Blocking.
- Selecione o card Schedule Blocking. Você será redirecionado para a página da solução.
- Na seção Subscribe for, localizada no canto inferior direito da tela, clique no botão Get It Now.
Você verá uma mensagem indicando que sua solução foi instalada com sucesso e está pronta para uso.
2. Usando a solução
2.1 Configurando uma regra no Edge Firewall
Para instanciar a solução de Schedule Blocking, siga as etapas:
- Em Products menu, selecione Edge Firewall dentro da seção SECURE.
- Clique no botão Add Rule Set.
- Dê um nome fácil de lembrar para a sua nova regra.
- Selecione os domínios que você deseja proteger.
- Habilite o switch Functions para que você rode edge functions no seu edge firewall.
- Clique no botão Save.
Pronto. Agora você instanciou a regra para sua função.
2.2 Configurando a solução
Para instanciar a solução Schedule Blocking, ainda na página do Edge Firewall, selecione a aba Functions e siga estes passos:
- Clique no botão Add Function.
- Dê um nome fácil de lembrar para a sua instância.
- No menu suspenso, selecione a função Schedule Blocking.
Esta ação carregará a função, mostrando um formulário com seu código-fonte e, logo acima dele, duas abas: Code e Args.
Ao clicar na aba Code, você poderá navegar pelo código, mas não alterá-lo. No mesmo formulário, você tem outra aba: Args, que é onde você passará os parâmetros que deseja usar com sua solução.
A aba Args carregará um arquivo JSON
que se parece com o mostrado abaixo:
{
"schedule": [
{
"action": "deny",
"execute_action_when": "in_interval",
"interval": {
"starts_at_utc": "00:00",
"finishes_at_utc": "00:59"
},
"week_days": {
"Sun": true,
"Mon": true,
"Tue": true,
"Wed": true,
"Thu": true,
"Fri": false,
"Sat": true
}
},
{
"action": "drop",
"execute_action_when": "not_in_interval",
"interval": {
"starts_at_utc": "01:00",
"finishes_at_utc": "20:00"
},
"week_days": {
"Mon": true,
"Tue": true
}
},
{
"action": "static_response",
"execute_action_when": "in_interval",
"static_response_data": {
"status": 503,
"message": "You can write a custom message here",
"html": "<!-- Some HTML can go here -->"
},
"interval": {
"starts_at_utc": "20:00",
"finishes_at_utc": "23:59"
},
"week_days": {
"Sun": true,
"Sat": true
}
}
]
}
Os argumentos que você pode passar para este arquivo JSON são os seguintes:
Atributo | Tipo de dado | Descrição |
---|---|---|
action |
String | Define a ação que a função executará sempre que uma solicitação corresponder aos critérios de disparo. Os valores possíveis são: Deny : fechará a solicitação com uma resposta HTTP 403 Proibida.Drop : encerra o pedido sem enviar qualquer resposta ao cliente.static_response : encerrará a solicitação com uma resposta estática a ela. |
execute_action_when |
String | Os valores possíveis são:in_interval not_in_interval Quando este argumento é definido como in_interval , a action será executada sempre que esta função for chamada durante o intervalo de tempo definido. Quando o argumento é definido como not_in_interval a action será executada mesmo que a função seja chamada fora do intervalo de tempo definido. |
interval |
Dicionário de Strings | Define o intervalo de tempo. Os valores devem estar no formato “HH:MM”, com base em um relógio de 24 horas. Esta função é usada no fuso horário UTC. |
interval.starts_at_utc |
String | Define a hora de início do intervalo. |
interval.finishes_at_utc |
String | Define a hora final do intervalo. |
week_days |
Dicionário de Booleanos | Define os dias da semana em que a função será executada. Os índices do dicionário representam cada dia da semana. Espera-se que eles usem um formato de data EEE, de 3 letras, começando com maiúsculas. Por exemplo: “Sun” para domingo, “Mon” para segunda. Se um dia inválido for usado, ele será ignorado. Se um dia não estiver presente no dicionário, ele será considerado falso . |
static_response_data |
Dicionário de Strings | Permite a personalização da página de resposta estática que será retornada sempre que a ação for definida como static_response . |
static_response_data.status |
Número | O código de status usado na resposta estática. |
static_response_data.message |
String | Este argumento permite que você personalize a mensagem exibida na página de resposta estática. |
static_response_data.html |
String | Permite que você forneça um HTML personalizado para ser usado ao fornecer a resposta estática. |
É importante notar que os valores de data são repassados em inglês, assim, atente-se ao fato de que as três letras devem ser condizentes com os dias da semana em inglês.
Note que para o valor
Static Response
no parâmetro action, você pode definir o código de status que será usado na resposta, bem como definir uma página HTML personalizada que será entregue aos seus usuários.
Clique no botão Save. Sua solução Edge Firewall está instanciada.
3. Configurando o Rules Engine
Para concluir, você precisa configurar o Rules Engine para determinar o behavior (comportamento) e os criteria (critérios) para executar a função.
Ainda na página Edge Firewall, selecione a aba Rules Engine e siga estes passos:
- Clique no botão New Rule.
- Dê um nome fácil de lembrar para a sua regra.
- Selecione um criteria para executar e selecione os domínios nos quais você deseja executar a solution.
- Abaixo, selecione um behavior para o criteria. Neste caso será Run Function.
- Selecione a função de Schedule Blocking adequada de acordo com o nome que você deu na etapa instanciada.
- Clicar no botão Save.
Pronto. Agora, a solução de Schedule Blocking está em execução para cada solicitação feita ao domínio que você indicou.
Não encontrou o que procurava? Abra um ticket.