Solucionar problemas da Azion API
Corrija requisições à Azion API que falham com 401, 400, 404 ou 405, usando o código e a mensagem que a resposta de erro retorna.
Esta página lista os erros que você pode encontrar com a Azion API, cada um com a causa e a correção. Toda resposta de erro contém um array errors. Cada item traz um code, um title, um detail, um status como string e, geralmente, um source.
Uma requisição falha com Authentication credentials were not provided
Uma requisição responde 401, com o header WWW-Authenticate: Bearer realm="api" e este corpo:
A requisição não tem o header Authorization. O código 10002 e "source":{"headers":"Authorization"} indicam o header que falta.
- Envie o header do token: adicione
Authorization: Token [TOKEN VALUE]a todas as requisições, com o seu personal token no lugar de[TOKEN VALUE]. - Use o esquema Bearer se o seu cliente precisar dele: a API também aceita um personal token como
Authorization: Bearer [TOKEN VALUE]. - Obtenha um personal token: crie um no Azion Console ou com a Azion CLI. Para as etapas, consulte Gerencie personal tokens.
A mesma requisição passa a responder 200.
Uma requisição falha com Invalid authentication credentials
Uma requisição que envia um header Authorization responde 401, com o header WWW-Authenticate: Bearer realm="api" e este corpo:
O header está presente, mas a API não aceita o token que ele leva. O código 10001 diferencia este caso de um header ausente, que retorna o código 10002.
- Confira o valor do token: compare o token do header com o token que você salvou ao criá-lo.
- Substitua o token: crie um personal token e envie-o no header. Para as etapas, consulte Gerencie personal tokens.
Com um token válido, a mesma requisição responde 200.
Uma lista falha com Page size must be between 0 and 100
GET https://api.azion.com/v4/workspace/workloads?page_size=1000&fields=id responde 400 com este corpo:
O parâmetro de query page_size está acima do máximo. Uma lista retorna no máximo 100 itens por página, e 10 quando você omite page_size.
- Reduza o tamanho da página: envie
page_size=100ou menos. - Leia o restante página por página: envie
page=2,page=3e assim por diante, até o valor detotal_pagesda resposta.
A lista responde 200, e o campo page_size da resposta repete o valor que você enviou.
Uma lista falha com Not found depois da última página
Uma requisição de lista com um valor alto de page responde 404. Um GET com um page além de total_pages, como GET https://api.azion.com/v4/workspace/workloads?page=99, responde este corpo:
O valor de page é maior que o número de páginas da lista. Este 404 traz "source":{"pointer":"/data"}, e um 404 de um recurso inexistente não traz nenhum.
- Leia primeiro o número de páginas: solicite a página 1 e leia
total_pagesecountna resposta. - Pare na última página: aumente
pageaté que ele seja igual atotal_pages. Com umpage_sizemaior, a lista tem menos páginas.
Todas as páginas de 1 a total_pages respondem 200.
Uma requisição de recurso falha com Not found
Uma requisição de um recurso pelo ID dele responde 404. Um GET com um ID que não existe, como GET https://api.azion.com/v4/workspace/network_lists/999999999, responde este corpo:
Nenhum recurso com esse ID existe na conta. Um recurso que você excluiu retorna o mesmo corpo: depois de um DELETE, um GET no mesmo caminho responde este 404. A resposta não tem o membro source, ao contrário do 404 de uma página além do fim de uma lista.
- Encontre o ID na lista: liste a coleção, por exemplo
GET https://api.azion.com/v4/workspace/network_lists, e copie oidderesults. - Encurte a lista: adicione
fields=id,namepara retornar só o ID e o nome de cada item.
Com um ID da lista, a requisição responde 200 e retorna o recurso em data.
Uma requisição falha com Method not allowed
Uma requisição responde 405. Um DELETE em um caminho de coleção, como DELETE https://api.azion.com/v4/workspace/network_lists, responde com o header Allow: GET, POST e este corpo:
Um POST em um caminho de item, como POST https://api.azion.com/v4/workspace/network_lists/<network-list-id>, responde com o header Allow: GET, PUT, PATCH, DELETE e este corpo:
O caminho não aceita o método que você enviou, que meta.method indica. Um caminho de coleção e um caminho de item aceitam métodos diferentes.
- Use um método do header Allow: o header
Allowda resposta lista os métodos que o caminho aceita. - Crie na coleção: envie
POSTpara o caminho da coleção, como/v4/workspace/network_lists. - Altere ou exclua no item: envie
PUT,PATCHouDELETEpara o caminho do item, como/v4/workspace/network_lists/<network-list-id>.
Com um método do header Allow, a requisição responde 200, ou 201 em uma criação.