As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Solucionar problemas de erros de API do Amazon SQS
Os tópicos a seguir abordam os erros mais comuns retornados ao fazer chamadas de API do Amazon SQS e como solucioná-los.
Erro QueueDoesNotExist
Esse erro será retornado quando o serviço Amazon SQS não conseguir encontrar a fila mencionada para a ação do Amazon SQS.
Possíveis causas e mitigações:
-
Região incorreta: revise a configuração do cliente do Amazon SQS para confirmar se você configurou a região correta no cliente. Quando você não configura uma região no cliente, o SDK ou a AWS CLI escolhe a região no arquivo de configuração ou na variável de ambiente. Se o SDK não encontrar uma região no arquivo de configuração, ele definirá a região como us-east-1 por padrão.
-
A fila pode ter sido excluída recentemente: se a fila foi excluída antes da chamada de API ser feita, a chamada da API retornará esse erro. Verifique se há alguma operação de DeleteQueue no CloudTrail antes do momento do erro.
-
Problemas de permissão: se o perfil ou usuário solicitante do AWS Identity and Access Management (IAM) não tiver as permissões necessárias, você poderá receber o seguinte erro:
The specified queue does not exist or you do not have access to it.
Verifique as permissões e faça a chamada de API com as permissões corretas.
Consulte mais detalhes sobre a solução de problemas do erro QueueDoesNotExist em Como soluciono o erro QueueDoesNotExist ao fazer chamadas de API para minha fila do Amazon SQS?
Erro InvalidAttributeValue
Esse erro será retornado ao atualizar a política de recursos de fila do Amazon SQS ou propriedades com uma política ou uma entidade principal incorretas.
Possíveis causas e mitigações:
-
Política de recursos inválida: verifique se a política de recursos tem todos os campos obrigatórios. Consulte mais informações Referência de elemento de política JSON do IAM e Validação de política do IAM. Você também pode usar o gerador de políticas do IAM para criar e testar uma política de recursos do Amazon SQS. Verifique se a política está no formato JSON.
-
Entidade principal inválida: verifique se o elemento
Principalexiste na política de recursos e se o valor é válido. Se o elementoPrincipalda política de recursos do Amazon SQS incluir uma entidade do IAM, certifique-se de que a entidade exista antes de usar a política. O Amazon SQS valida a política de recursos e verifica a entidade do IAM. Se a entidade do IAM não existir, você receberá um erro. Para confirmar as entidades do IAM, use as APIsGetUsereGetRole.
Consulte mais informações sobre a solução de problemas do erro InvalidAttributeValue em Como soluciono o erro QueueDoesNotExist ao fazer chamadas de API para minha fila do Amazon SQS?
Erro ReceiptHandle
Ao fazer uma chamada de API DeleteMessage, o erro ReceiptHandleIsInvalid ou InvalidParameterValue poderá ser retornado se o identificador do recibo estiver incorreto ou expirado.
-
Erro ReceiptHandleIsInvalid: se o identificador do recibo estiver incorreto, você receberá um erro semelhante a este exemplo:
An error occurred (ReceiptHandleIsInvalid) when calling the DeleteMessage operation: The input receipt handle <YOUR RECEIPT HANDLE> is not a valid receipt handle.
-
Erro InvalidParameterValue: se o identificador do recibo estiver expirado, você receberá um erro semelhante a este exemplo:
An error occurred (InvalidParameterValue) when calling the DeleteMessage operation: Value <YOUR RECEIPT HANDLE> for parameter ReceiptHandle is invalid. Reason: The receipt handle has expired.
Possíveis causas e mitigações:
O identificador do recibo é criado para cada mensagem recebida e só é válido para o período de tempo limite de visibilidade. Quando o período de tempo limite de visibilidade expira, a mensagem fica visível na fila para os consumidores. Ao receber a mensagem novamente do consumidor, você recebe um novo identificador de recibo. Para evitar erros incorretos ou expirados no identificador de recibo, use o identificador de recibo correto para excluir a mensagem dentro do período de tempo limite de visibilidade da fila do Amazon SQS.
Consulte mais informações sobre como solucionar um erro ReceiptHandle em Como solucionar os erros “ReceiptHandleIsInvalid” e “InvalidParameterValue” ao usar a chamada de API DeleteMessage do Amazon SQS?