Quando tento acessar um objeto no Amazon Simple Storage Service (Amazon S3), recebo a mensagem de erro “A solicitação expirou”.
Resolução
O Amazon S3 retorna essa mensagem de erro quando você tenta acessar uma URL pré-assinada após a data de expiração especificada da URL.
Por exemplo, na resposta a seguir, a data de expiração do URL pré-assinado é 28 de outubro de 2022. Você receberá uma mensagem de erro se tentar acessar a URL pré-assinada após 28 de outubro de 2022:
<Error>
<Code>AccessDenied</Code>
<Message>Request has expired</Message>
<Expires>2022-10-28T07:13:14Z</Expires>
<ServerTime>2022-10-28T20:03:02Z</ServerTime>
<RequestId>87E1D2CFAAA7F9A6</RequestId>
<HostId>
A9BEluTV2hk3ltdFkixvQFa/yUBfUSgDjptwphKze+jXR6tYbpHCx8Z7y6WTfxu3rS4cGk5/WTQ=
</HostId>
</Error>
Para resolver esse problema, você deve criar uma nova URL pré-assinada para acessar o objeto. É possível definir o URL para expirar entre 1 minuto e 12 horas ao usar o console do Amazon S3 para definir o tempo de expiração. Ou é possível definir o prazo de validade de até 7 dias ao usar a AWS Command Line Interface (AWS CLI) ou os AWS SDKs.
Para criar um novo URL pré-assinado, use uma das seguintes credenciais:
- Perfil de instância do AWS Identity and Access Management (AWS IAM)
- Serviço de token de segurança da AWS
- Usuário do IAM
Observação: se você usar um token temporário para criar um URL pré-assinado, o URL expirará quando o token expirar. Uma URL pré-assinada expira quando a credencial que você usou para criar a URL é revogada, excluída ou desativada. Isso é verdade mesmo quando você define o URL para expirar mais tarde do que a credencial.
Informações relacionadas
Tempo de expiração para URLs pré-assinados
Por que minha URL pré-assinada para um bucket do Amazon S3 está expirando antes do prazo de expiração que eu especifiquei?