Como criar device groups

Agrupe usuários finais com base em seus dispositivos, sistemas operacionais ou navegadores com informações fornecidas pelo cabeçalho de requisição HTTP User-Agent. Ao usar Device Groups para categorizar requisições, você pode tornar sua aplicação mais responsiva.

Com este guia, você irá criar e ativar um novo device group para identificar dispositivos móveis que acessam sua aplicação.


  1. Acesse o Azion Console.
  2. No canto superior esquerdo da página, abra o Products menu, representado por três linhas horizontais, e selecione Edge Application.
  3. Clique na edge application para a qual você deseja criar um novo device group.
  4. Selecione a aba Device Groups.
  5. Clique no botão Add Device Group.
  6. Nomeie seu device group. O nome do seu device group não pode conter espaços e deve ter apenas caracteres alfanuméricos. Por exemplo: Mobile.
  7. No campo User Agent, especifique uma expressão regular que atenda aos critérios desejados. Por exemplo: (Mobile|iPhone|Android).
  8. Clique no botão Save.

Agora que seu device group está configurado, você pode usar o Rules Engine para determinar qual ação deve ser tomada se a expressão for correspondida a um cabeçalho User-Agent. Neste caso, um cabeçalho personalizado Device-Is será recebido na resposta:

  1. Navegue até a aba Rules Engine.
  2. Clique em Add Rule e selecione Response Phase.
  3. Dê um nome à sua regra. Por exemplo: Device Group: Mobile.
  4. Na seção Criteria, selecione a variável ${device_group}.
  5. Selecione o operador is equal.
  6. Adicione o nome do device group conforme configurado nas instruções anteriores. Por exemplo: Mobile.
  7. Na seção Behavior, selecione o comportamento Add Response Header.
  8. Como argumento, adicione Device-Is: Mobile.
  9. Clique no botão Save.
  10. Aguarde alguns minutos para que as alterações se propaguem pelo edge.

Se o seu navegador atual enviar um cabeçalho User-Agent semelhante ao exemplo, você pode testar se a requisição passou acessando sua aplicação de um dispositivo móvel ou injetando o cabeçalho e seu valor à requisição usando o seguinte comando:

Terminal window
curl -I https://xxxxxxxxxx.map.azionedge.net/ -H "User-Agent: iPhone Android"

Você deve receber uma lista de cabeçalhos incluindo o cabeçalho personalizado adicionado pela regra: device-is: Mobile. Agora que você verificou que os dispositivos estão sendo corretamente categorizados, você pode personalizar o comportamento desejado usando a mesma regra.


  1. Execute a seguinte requisição POST no seu terminal, substituindo [TOKEN VALUE] pelo seu personal token e a variável <edge_application_id> pelo ID da sua aplicação edge:
Terminal window
curl --location 'https://api.azionapi.net/edge_applications/<edge_application_id>/device_groups' \
--header 'Accept: application/json; version=3' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token [TOKEN VALUE]' \
--data '{
"name": "Mobile",
"user_agent": "(Mobile|iPhone|Android)"
}'
ChaveDescrição
nameO nome do device group. Deve ser alfanumérico.
user_agentA expressão regular que deve ser correspondida ao conteúdo do cabeçalho User-Agent da requisição.
  1. Você receberá uma resposta semelhante a esta:
{
"results": {
"id": <device_group_id>,
"name": "Mobile",
"user_agent": "(Mobile|iPhone|Android)"
}
}
  1. Execute a seguinte requisição POST no seu terminal, substituindo [TOKEN VALUE] pelo seu personal token, a variável <edge_application_id> pelo ID da sua aplicação edge, e a variável input_value pelo nome do seu device group:
Terminal window
curl --location 'https://api.azionapi.net/edge_applications/<edge_application_id>/rules_engine/response/rules' \
--header 'Accept: application/json; version=3' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token [TOKEN VALUE]' \
--data '{
"name": "DG - Mobile",
"behaviors": [
{
"name": "add_response_header",
"target": "Device-Is: Mobile device"
}
],
"criteria": [
[
{
"variable": "${device_group}",
"operator": "is_equal",
"conditional": "if",
"input_value": "Mobile"
}
]
]
}'
  1. Você receberá uma resposta semelhante a esta:
{
"results": {
"id": <rule_id>,
"name": "DG - Mobile",
"phase": "response",
"behaviors": [
{
"name": "add_response_header",
"target": "Device-Is: Mobile device"
}
],
"criteria": [
[
{
"variable": "${device_group}",
"operator": "is_equal",
"conditional": "if",
"input_value": "Mobile"
}
]
],
"is_active": true,
"order": 3,
"description": ""
},
}
  1. Aguarde alguns minutos para que as alterações se propaguem para os edge nodes.
  2. Execute a seguinte requisição cURL manipulando o cabeçalho User-Agent para corresponder ao device group:
Terminal window
curl -I https://xxxxxxxxxx.map.azionedge.net/ -H "User-Agent: Android"
  1. Se você receber uma resposta semelhante à seguinte, seu device group foi categorizado com sucesso:
Terminal window
HTTP/2 200
content-type: text/html; charset=utf-8
content-length: 9593
device-is: Mobile device

Agora você pode desativar a regra ou criar uma regra diferente para ajustar as configurações da aplicação às suas necessidades.


Contribuidores