Este tópico descreve os códigos de erro do API Gateway.
1. Códigos de erro para instâncias do API Gateway do tipo VPC
Os códigos de erro descritos nesta seção aplicam-se a instâncias compartilhadas ou serverless do tipo VPC e a instâncias dedicadas do tipo VPC.
Se o cabeçalho
X-Ca-Error-Codenão estiver vazio em uma resposta recebida pelo cliente, o API Gateway gerou o código de erro. Esse código é uma string de seis caracteres. A tabela a seguir lista todos os possíveis códigos de erro que o API Gateway pode gerar. Para obter a mensagem de erro detalhada, consulte o cabeçalhoX-Ca-Error-Message.Caso o cabeçalho
X-Ca-Error-Codeesteja vazio, um serviço de backend gerou o código de status HTTP. O API Gateway apenas repassa as informações de erro desse serviço.
Código de erro | Código de status HTTP | Mensagem | Descrição |
I400HD | 400 | Invalid Header | Retornado quando o cabeçalho da requisição HTTP é inválido. |
I400MH | 400 | Header | Indica que um cabeçalho obrigatório está ausente na requisição HTTP. |
I400BD | 400 | Invalid Body: ${Reason} | O corpo da requisição HTTP contém dados inválidos. |
I400PA | 400 | Invalid Request Path | Caminho da requisição HTTP inválido. |
I405UM | 405 | Unsupported Method | Método da requisição HTTP não suportado. |
I400RU | 400 | Invalid Request Uri | URL da requisição HTTP inválida. |
I403PT | 403 | Invalid protocol ${Protocol} unsupported | Protocolo não suportado conforme a configuração da API. Verifique as definições da API. |
I413RL | 413 | Request body too Large | Tamanho do corpo da requisição excede o permitido. Para mais detalhes, consulte Limites. |
I413UL | 413 | Request URL too Large | URL da requisição muito longa. Para mais informações, consulte Limites. |
I400CT | 400 | Invalid Content-Type: | Valor do Content-Type inválido. |
I404DO | 404 | Invalid Domain | Domínio solicitado desconhecido. Utilize um domínio vinculado para realizar a chamada. |
I410GG | 410 | Group's instance invalid | Instância solicitada inválida. O grupo de APIs pode não pertencer à instância atual. |
I400SG | 400 | Invalid Stage | Ambiente solicitado desconhecido. |
I404NF | 404 | API not found ${Reason} | API não encontrada no ambiente atual com base nos parâmetros de caminho e método da requisição. Para mais detalhes, consulte O que fazer se o erro I404NF for reportado? |
X400PM | 400 | Invalid plugin meta ${PluginName} ${Reason} | Metadados do plug-in inválidos. |
X500ED | 500 | Expired api definition | Metadados expirados de versões anteriores não são mais suportados pela nova versão do API Gateway. Para modificar metadados de uma versão antiga, abra um ticket. |
X500AM | 500 | Invalid Api Meta, try deploy again or contact us via ticket | Formato dos metadados salvos inválido. Para corrigir esse problema, abra um ticket. |
X403DG | 403 | Bad Domain or Group: ${Reason} | Dados do grupo de APIs inválidos. |
B451DO | 451 | Unavailable Domain for Legal Reasons | Domínio indisponível por motivos legais ou regulatórios. |
B451GO | 451 | Unavailable Group for Legal Reasons | Grupo de APIs indisponível por não atender a requisitos legais ou regulamentares. |
B403OD | 403 | Provider Account Overdue | Pagamento pendente na conta do provedor da API. Se a API foi adquirida no Alibaba Cloud Marketplace, entre em contato com o prestador de serviços. |
A401AC | 401 | Invalid AppCode ${Reason} | Autenticação via AppCode falhou porque o AppCode não foi encontrado. Verifique se a aplicação está autorizada e se o AppCode está correto. |
A400IK | 400 | Invalid AppKey | AppKey não encontrado durante a autorização usando par chave-segredo. |
A403IS | 403 | Invalid Signature, Server StringToSign: | Assinatura inválida. Para mais informações, consulte Assinatura inválida. |
A403EP | 403 | App authorization expired | Autorização expirada. Conceda as permissões novamente. |
A403PR | 403 | Plugin Authorization Needed | Autorização de plug-in necessária. |
A400MA | 400 | Need authorization, | Requer autorização no modo AppCode ou mediante par chave-segredo. |
I400I5 | 400 | Invalid Content-MD5 ${Reason} | Valor do Content-MD5 inválido. |
I400NC | 400 | X-Ca-Nonce is required | Cabeçalho X-Ca-Nonce não fornecido após ativar a verificação forçada de Nonce (Anti Replay por X-Ca-Nonce). |
S403NU | 403 | Nonce Used | Ataque de replay detectado. O cabeçalho X-Ca-Nonce da requisição já foi utilizado. |
S403TE | 403 | X-Ca-Timestamp is expired | Timestamp no cabeçalho X-Ca-Timestamp expirou. A validade do timestamp é de 15 minutos. |
I400MP | 400 | Parameter | Um ou mais parâmetros obrigatórios na configuração da API estão vazios. |
I400IP | 400 | Invalid parameter | Valor de um parâmetro na configuração da API é inválido. |
I400JR | 400 | JWT required | Parâmetros relacionados ao JSON Web Token (JWT) não encontrados. |
S403JI | 403 | Claim | Nenhuma claim jti válida incluída na requisição quando o parâmetro preventJtiReplay está definido como true no plug-in de autenticação JWT. |
A403SV | 403 | Claim | Claim jti incluída na requisição já foi usada, com o parâmetro preventJtiReplay definido como true no plug-in de autenticação JWT. |
I400JD | 400 | JWT Deserialize Failed: | Não foi possível analisar o JWT na requisição. |
A403JT | 403 | Invalid JWT: ${Reason} | JWT na requisição é inválido. |
A403JK | 403 | No matching JWK, | Nenhum JWK corresponde ao kid configurado no JWT da requisição. |
A403JE | 403 | JWT is expired at | JWT na requisição expirou. |
I400JP | 400 | Invalid JWT plugin config: ${JWT} | Configuração incorreta no plug-in de autenticação JWT. |
A403OL | 403 | OAuth2 Login failed: ${Reason} | |
A403OU | 403 | OAuth2 Get User Info failed: ${Reason} | |
A401OT | 401 | Invalid OAuth2 Access Token | |
A401OM | 401 | OAuth2 Access Token is required | |
T429ID | 429 | Throttled by INNER DOMAIN Flow Control, ${Domain} is a test domain, only 1000 requests per day | Limite de chamadas de API excedido. Ao usar o domínio de segundo nível padrão, o limite é de 1.000 chamadas por dia para regiões na China continental e 100 chamadas por dia para regiões fora da China continental. |
T429IN | 429 | Throttled by INSTANCE Flow Control | Limitação de taxa acionada para a instância atual. Atualize a especificação da instância. |
T429GR | 429 | Throttled by GROUP Flow Control | Limitação de taxa acionada para o grupo de APIs atual. Atualize a especificação da instância. |
T429PA | 429 | Throttled by API Flow Control | Política padrão de limitação no nível da API, definida no plug-in de throttling, foi acionada. |
T429PR | 429 | Throttled by PLUGIN Flow Control | Política especial de limitação, definida no plug-in de throttling, foi acionada. |
T429SR | 429 | Throttled by SERVER Flow Control | |
T429MR | 429 | Too Many Requests, throttle by | |
A403IP | 403 | Access denied by IP Control Policy | Acesso negado pelo plug-in de controle de acesso baseado em endereço IP. |
A403IN | 403 | Access from internet is disabled ${Reason} | Chamadas via Internet para APIs e grupos de APIs estão desabilitadas. É possível chamá-las por rede privada. Para mais informações, consulte Chamadas de API baseadas em VPC. |
A403VN | 403 | Access from invalid VPC is disabled | Acesso negado através da VPC especificada. |
A403AC | 403 | Access Control Forbidden by ${RuleName} | Acesso bloqueado pelo plug-in de controle de acesso. |
A403CO | 403 | Cross origin resource forbidden ${Domain} | Acesso negado pelo plug-in de compartilhamento de recursos de origem cruzada (CORS). |
I404CO | 404 | Cross origin resource not found ${Method} - ${Path} | Definição da API não encontrada com base no caminho e método da requisição pré-verificados pelo plug-in CORS. |
I404CH | 404 | Content not cached, with | |
I404NR | 404 | ${Resource} not found | |
I404SR | 404 | Stage route missing: ${Reason} | |
B403MO | 403 | Api Market Subscription overdue | Pagamento pendente na conta do provedor da API. Entre em contato com o prestador de serviços. |
B403MQ | 403 | Api Market Subscription quota exhausted | Cota de APIs adquiridas no Alibaba Cloud Marketplace esgotada. Renove a cota. |
B403ME | 403 | Api Market Subscription expired | Assinatura da API expirou. Crie uma nova assinatura. |
B403MI | 403 | Api Market Subscription invalid | Serviço de API assinado é inválido. |
D504RE | 504 | Backend domain | Falha na resolução do nome de domínio de backend. Verifique o domínio de backend. |
D504IL | 504 | Backend domain | Resultado da resolução do nome de domínio do serviço de backend é inválido. |
D504CO | 504 | Backend service connect failed | API Gateway não conseguiu acessar o serviço de backend. Nesse caso, verifique as configurações de grupo de segurança e firewall ou o status do servidor de backend. Para mais informações, consulte Solucionar erros D504CO. |
504 | Backend service connect failed | Falha na conexão com o serviço de backend devido ao pool de conexões esgotado. Atualize a especificação da instância. | |
D504CS | 504 | Backend http ssl connect failed | Falha na conexão HTTPS com o serviço de backend. Verifique se o protocolo configurado para o serviço de backend corresponde à porta. |
D504TO | 504 | Backend service request timeout | Tempo limite atingido na requisição ao serviço de backend. Aumente o tempo limite do backend ou melhore a capacidade de processamento do serviço. |
X504VE | 504 | Backend service vpc mapped failed | Falha no mapeamento VPC do serviço de backend. |
D503BB | 503 | Backend circuit breaker busy | API protegida pelo seu disjuntor (circuit breaker). |
D503CB | 503 | Backend circuit breaker open, ${Reason} | Disjuntor aberto para a API. Verifique o desempenho do serviço de backend. |
I508LD | 508 | Loop Detected | Chamada em loopback detectada. |
I404DD | 404 | Device id ${DeviceId} not found | ID do dispositivo não encontrado ao chamar APIs via WebSocket. |
A403FC | 403 | Function Compute AssumeRole failed ${RequestId}:${Reason} | Erro de autorização ao utilizar o Function Compute como serviço de backend. |
D502FC | 502 | Function Compute response invalid: ${Reason} | Resposta inválida do serviço de backend ao utilizar o Function Compute. |
N502RE | 502 | Send Response IO Exception: ${Reason} | Exceção ocorrida quando o servidor envia uma resposta ao cliente. Verifique se o cliente fechou a conexão prematuramente ou se houve um erro de rede. |
X500ER | 500 | Service Internal Error | Erro interno no servidor. Para resolver este problema, abra um ticket para contatar o suporte técnico do API Gateway. |
X503BZ | 503 | Service Busy | Serviço do API Gateway ocupado. Tente novamente mais tarde. |
X504TO | 504 | Service timeout | Erro de tempo limite no API Gateway. Para contatar o suporte técnico, abra um ticket. |
Códigos de erro específicos podem mudar quando o serviço é atualizado ou novos recursos são adicionados.
2. Códigos de erro para gerenciamento de operações de API
Ao chamar operações de API fornecidas pelo API Gateway, como CreateAPI, ModifyAPI e DeleteAPI, os códigos de erro listados nas seções a seguir podem ser reportados.
2,1 Códigos de erro para servidores
O código de status HTTP reportado é 5XX, indicando que os serviços estão indisponíveis. Nesse caso, recomendamos tentar novamente mais tarde.
|
Código de erro |
Mensagem |
Código de status HTTP |
Descrição |
Solução |
|
ServiceUnavailable |
A requisição falhou devido a uma falha temporária do servidor. |
503 |
Serviço indisponível. |
Tente novamente mais tarde. |
|
InternalError |
O processamento da requisição falhou devido a algum erro, exceção ou falha desconhecida. |
500 |
Erro interno ocorrido. |
Tente novamente mais tarde. |
2,2 Códigos de erro para clientes
O código de status HTTP reportado é 4XX, indicando um erro de negócio. Isso pode ser um erro de parâmetro, causado por controle de acesso ou um erro de lógica de negócio. Analise cuidadosamente as informações de erro antes de solucionar problemas.
|
Código de erro |
Mensagem de erro |
Código de status HTTP |
Descrição |
Solução |
|
Repeated%s |
O %s especificado está repetido. |
400 |
Valor de um parâmetro já foi utilizado. %s na mensagem é um espaço reservado que indica o nome do parâmetro. |
Altere o valor do parâmetro e tente novamente. |
|
RepeatedCommit |
Reenvie a requisição. |
400 |
Requisição já enviada anteriormente. |
Não envie a mesma requisição repetidamente. |
|
Missing%s |
O %s é obrigatório para esta ação. |
400 |
Parâmetro %s não especificado. |
Especifique o parâmetro %s conforme a descrição do erro e tente novamente. |
|
MissingAppIdOrAppOwner |
AppId ou AppOwner devem ter um valor válido. |
400 |
Parâmetro AppId ou AppOwner não especificado. |
Especifique o parâmetro AppId, AppOwner ou ambos. |
|
Invalid%s |
O valor do parâmetro %s especificado não é válido. |
400 |
Parâmetro especificado é inválido. |
Consulte os requisitos do parâmetro, modifique-o e tente novamente. |
|
NotFound%s |
Não é possível encontrar o recurso de acordo com o %s especificado. |
400 |
Nenhum recurso encontrado com base no valor do parâmetro %s. |
Verifique se o parâmetro %s foi especificado corretamente. |
|
InvalidFormat%s |
O valor do parâmetro %s especificado não está bem formatado. |
400 |
Formato do parâmetro inválido. |
Consulte os requisitos de formato para o valor do parâmetro %s, modifique-o e tente novamente. |
|
Duplicate%s |
O valor do parâmetro %s especificado é duplicado. |
400 |
Valor do parâmetro %s já está em uso. |
Altere o valor do parâmetro e tente novamente. |
|
DependencyViolation%s |
O %s especificado possui %s definições. |
400 |
Dependência de parâmetro inválida. |
Remova a dependência. Um parâmetro do qual outros dependem não pode ser excluído. Para excluí-lo, remova primeiro a dependência. |
|
Forbidden%s |
Não é permitido operar no %s especificado. |
403 |
Operação não permitida. |
Obtenha permissão para executar a operação. |
|
NoPermission |
Usuário não autorizado a operar no recurso especificado. |
403 |
Sem autorização para realizar operações no recurso especificado. |
Obtenha as permissões necessárias para operar no recurso. |
|
ExceedLimit%s |
A contagem de %s especificada excede o limite. |
400 |
Número de APIs, grupos de APIs ou aplicativos criados na sua conta Alibaba Cloud excede a cota. |
Modifique a cota de APIs, grupos de APIs ou aplicativos. |
|
UserNotFound |
O usuário especificado não pode ser encontrado. |
404 |
Usuário especificado não existe. |
Insira informações válidas sobre o usuário. |
|
DomainCertificateNotFound |
Não é possível encontrar o certificado do domínio. |
400 |
Certificado para o nome de domínio especificado não existe. |
Verifique o ID e o nome do certificado enviado. |
|
DomainNotResolved |
O domínio especificado não foi resolvido. |
400 |
Nome de domínio especificado não está resolvido. |
Vincule um registro CNAME específico ao domínio de segundo nível do grupo de APIs. A resolução de nomes de domínio é feita pelo registrador onde você comprou o domínio. |
|
InvalidICPLicense |
O domínio especificado não possui licença ICP, ou a licença ICP não pertence à Aliyun. |
400 |
Arquivamento ICP (Internet Content Provider) para o domínio especificado é inválido. |
Solicite um arquivamento ICP para o domínio no Sistema de Arquivamento ICP do Alibaba Cloud. Se já solicitou em outros sistemas, adicione o Alibaba Cloud como provedor de serviços ao arquivamento. Para solicitar, obtenha um número de identificação de serviço. Cada instância do Elastic Compute Service (ECS) com endereço IP público fornece cinco números de identificação. |
|
Invalid%s.LengthLimit |
O comprimento do parâmetro %s excede o limite. |
400 |
Valor do parâmetro %s ultrapassa o limite máximo de caracteres. |
Altere o valor do parâmetro e tente novamente. |
|
InvalidApiDefault |
O valor ApiDefault excede o limite. |
400 |
Valor do parâmetro apiDefault excede o limiar. |
Altere o valor do parâmetro apiDefault. Este valor não pode exceder 100 milhões, independentemente da unidade. |
|
InvalidAppDefault |
O valor AppDefault deve ser menor que UserDefault e ApiDefault. |
400 |
Valor do parâmetro appDefault não atende aos requisitos. |
Altere o valor do parâmetro appDefault. Ele deve ser menor que os valores dos parâmetros apiDefault e userDefault. |
|
InvalidUserDefault |
O valor UserDefault deve ser maior que AppDefault e menor que ApiDefault. |
400 |
Valor do parâmetro userDefault não atende aos requisitos. |
Altere o valor do parâmetro userDefault. Ele deve ser maior que o valor de appDefault, mas menor que o de apiDefault. |
|
InvalidParamMapping |
Os parâmetros devem ser totalmente mapeados. |
400 |
Mapeamento de parâmetros inválido. |
Especifique um parâmetro de backend para cada parâmetro de requisição. Ao criar uma API, mapeie cada parâmetro de requisição para um parâmetro de backend. |
|
InvalidOwnerAccount |
OwnerAccount é inválido. |
400 |
Conta do proprietário do aplicativo é inválida. |
Um ID de usuário inválido de uma conta Alibaba Cloud foi usado durante a autorização. Altere a conta do proprietário do aplicativo e tente novamente. |
|
ServiceForbidden |
Seu serviço Gateway foi proibido pelo controle de risco. |
400 |
Serviço do API Gateway negado pelo sistema de controle de risco. |
Não envie um grande volume de requisições em curto período. Tente novamente mais tarde. |
|
ServiceUnOpen |
Seu serviço Gateway não foi ativado. |
400 |
API Gateway não está ativado. |
Ative o API Gateway no site internacional do Alibaba Cloud. |
|
ServiceInDept |
Seu serviço API Gateway está inadimplente. |
400 |
Serviço do API Gateway possui pagamentos pendentes. |
Recarregue sua conta ou liquide os pagamentos pendentes. |
|
EqualSignature |
A nova assinatura é igual à anterior. |
400 |
Nova chave de assinatura de backend é idêntica à anterior. |
Modifique a chave de assinatura de backend. Certifique-se de que o novo par chave-segredo seja diferente do anterior. |
|
CertificateNotMatch |
O domínio não corresponde ao do certificado. |
400 |
Nome de domínio especificado não corresponde ao nome de domínio no certificado. |
Garanta que o domínio especificado corresponda ao domínio no certificado. |
|
CertificateKeyNotMatch |
A chave privada do certificado não corresponde à chave pública. |
400 |
Chaves pública e privada no certificado não correspondem. |
Verifique o certificado e garanta que as chaves pública e privada correspondam. |
|
PrivateKeyEncrypted |
A chave privada do certificado está criptografada; envie a versão não criptografada. |
400 |
Chave privada do certificado está criptografada. |
Especifique uma chave privada não criptografada. |
|
CertificateSecretKeyError |
A chave privada do certificado é inválida. |
400 |
Chave privada do certificado inválida. |
Especifique uma chave privada válida. |
|
InvalidApiServiceAddress |
O endereço de serviço especificado não é válido. |
400 |
Endereço IP especificado para o serviço de backend é inválido. |
Modifique as configurações do serviço de backend. |
2,3 Códigos de erro comuns para clientes
O código de status HTTP reportado é 4XX, indicando um erro de negócio que pode ocorrer ao chamar APIs de serviços do Alibaba Cloud. O erro pode ser formato de requisição inválido, método incorreto, parâmetros obrigatórios ausentes, formato de valor inválido, assinatura inválida ou limitação de taxa. Analise cuidadosamente as informações de erro antes de solucionar problemas.
|
Cenário |
Código de erro |
Mensagem de erro |
Código de status HTTP |
Solução |
|
A API especificada não foi encontrada. |
InvalidApi.NotFound |
Specified api is not found, please check your url and method. |
404 |
Verifique se o nome da operação da API especificada é válido. O nome diferencia maiúsculas de minúsculas. |
|
Um parâmetro obrigatório não foi especificado. |
Missing{ParameterName} |
{ParameterName} is mandatory for this action. |
400 |
Especifique o parâmetro obrigatório. |
|
O AccessKey ID não foi encontrado. |
InvalidAccessKeyId.NotFound |
Specified access key is not found. |
404 |
Verifique se um AccessKey ID válido está sendo usado ao chamar a API. |
|
O AccessKey ID está desativado. |
InvalidAccessKeyId.Inactive |
Specified access key is disabled. |
400 |
Verifique se o par AccessKey está disponível. |
|
O formato da data ou timestamp é inválido. |
InvalidTimeStamp.Format |
Specified time stamp or date value is not well formatted. |
400 |
Verifique o timestamp. |
|
A diferença entre a hora do cliente e do servidor excede 15 minutos. |
InvalidTimeStamp.Expired |
Specified time stamp or date value is expired. |
400 |
Verifique o timestamp. |
|
O valor SignatureNonce já foi utilizado. |
SignatureNonceUsed |
Specified signature nonce was used already. |
400 |
|
|
O valor do parâmetro retornado está em formato inválido. |
InvalidParameter.Format |
Specified parameter format is not valid. |
400 |
Especifique o parâmetro apenas no formato XML ou JSON. |
|
A verificação do valor do parâmetro falhou. |
Invalid{ParameterName} |
Specified parameter {ParameterName} is not valid. |
400 |
Verifique o valor do parâmetro. |
|
O método de requisição HTTP não é suportado. |
UnsupportedHTTPMethod |
Specified signature is not matched with our calculation. |
400 |
Verifique o método de requisição. |
|
O método de assinatura não é suportado. |
InvalidSignatureMethod |
Specified signature method is not valid. |
400 |
Especifique um método de assinatura disponível. Este parâmetro pode ficar vazio. |
|
A verificação da assinatura falhou. |
SignatureDoesNotMatch |
Specified signature is not matched with our calculation. |
400 |
Verifique a assinatura. |
|
A frequência de chamadas no nível do usuário excede o limiar. |
Throttling.User |
Request was denied due to user flow control. |
400 |
Reduza a frequência de chamadas. |
|
A frequência de chamadas no nível da API excede o limiar. |
Throttling.API |
Request was denied due to api flow control. |
400 |
Reduza a frequência de chamadas. |
|
O AccessKey ID está ausente. |
MissingSecurityToken |
SecurityToken is mandatory for this action. |
400 |
Verifique se você especificou um AccessKey ID válido. |