Error S3: la diferencia entre la hora de la solicitud y la hora actual es demasiado grande


119

Tengo un error La diferencia entre la hora de la solicitud y la hora actual es demasiado grande cuando se llama al método amazons3.ListObjects

ListObjectsRequest request = new ListObjectsRequest() {
    BucketName = BucketName, Prefix = fullKey 
}; 
using (ListObjectsResponse response = s3Client.ListObjects(request))
{
    bool result = response.S3Objects.Count > 0;

    return result;
}

¿Qué podría ser?

Respuestas:


160

La hora de su caja local no está sincronizada con la hora actual. Sincronice el reloj de su sistema y el problema desaparecerá.


Así es. Descubierto a partir del mensaje de error. En caso de que se esté preguntando cómo encontrar la hora local en una máquina remota o en la nube, use Internet para encontrar la hora actual. timeanddate.com :)
user_v

1
Me he enfrentado al mismo error. Dígame cómo realizar la sincronización
Stas

38
Sueño con el día en que los mensajes de error sean más directos, "La hora de su servidor está configurada incorrectamente" estaría bien para mí.
Adamdport

2
La configuración de la zona horaria no debería importar. Lo importante es la precisión del tiempo establecido actualmente.
Mark At Ramp51

1
En Australia acabamos de entrar en el horario de verano (1 hora antes) y ahora se lanza este error. Mi reloj es correcto. Parece ser un error en AWS.
Lucas

74

Para aquellos que usan Vagrant, un vagrant haltseguido de vagrant upfuncionó para mí.


62

El reloj no está sincronizado.

Seguí los pasos de esta publicación para que vuelva a funcionar, pero también tuve que ejecutar el siguiente comando.

sudo ntpdate ntp.ubuntu.com
sudo apt-get install ntp

Si en algún momento recibe un mensaje que dice que el socket NTP todavía está en uso, deténgalo sudo /etc/init.d/ntp stopy vuelva a ejecutar su comando.


3
¡Gracias! Trabajado como un encanto. :)
NightMICU

Sí, esto solucionó mi problema. Si no tiene apt-get , use yum en su lugar: sudo yum install ntp -y
Shougo Makishima

1
Trabajó. Sin sudo ntpdate ntp.ubuntu.comembargo, solo tuve que ejecutar en mi servidor.
spnkr

27

Tuve el mismo error y estoy usando Docker para Mac. Simplemente reiniciar Docker funcionó para mí.


15

En caso de que alguien encuentre esto usando Laravel y Homestead, simplemente ejecute

homestead halt

seguido por

homestead up

Y estás listo para volver.


15

Para aquellos que usan Docker en Windows, intente reiniciar Docker Engine en Configuración-> Restablecer-> Reiniciar Docker.


Ésta no es una respuesta. Probablemente algún comentario.
hB0

8

Como han dicho otros, su reloj local no está sincronizado con AWS. Puede mantenerlo sincronizado con los servidores de Amazon directamente usando NTP para que no tenga que preocuparse por la desviación del reloj ahora o en el futuro.

Nota: Las siguientes instrucciones son para usuarios de * nix. Agregué un comentario sobre cómo podría hacerlo en Windows, pero como no soy usuario de Windows, no puedo verificar su precisión.

  1. Para instalar NTP, simplemente elija uno de los siguientes, dependiendo de su distribución:

    apt-get install ntp
    

    o

    yum install ntp 
    

    etc.

  2. Configure NTP para usar servidores de Amazon, así:

    vim /etc/ntp.conf
    

    Y en él, comente los servidores predeterminados y agregue estos:

    server 0.amazon.pool.ntp.org iburst
    server 1.amazon.pool.ntp.org iburst
    server 2.amazon.pool.ntp.org iburst
    server 3.amazon.pool.ntp.org iburst
    
  3. Y luego reinicie el servicio ntp:

    sudo service ntp restart
    

Fuente: https://www.allcloud.io/how-to/how-to-fix-amazon-s3-requesttimetooskewed/

Y un artículo más general sobre cómo mantener su tiempo sincronizado con NTP: https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-12-04


C: \ Usuarios \ Usuario> apt-get install ntp 'apt-get' no se reconoce como un comando interno o externo, programa operable o archivo por lotes.
st78

apt-getes un instalador de paquetes para ciertas distribuciones de Linux. Para Windows, puede buscar en línea la mejor manera de sincronizar con NTP. Aquí hay una referencia que encontré para win10: tenforums.com/tutorials/… , y aquí hay una para Windows Server: support.microsoft.com/en-us/help/816042/…
Kyle Chadha


4

si este problema en tu localhost para Windows 10

establecer la hora automáticamente en ON y establecer la zona horaria automáticamente en esto resuelve mi problema.

ingrese la descripción de la imagen aquí


3

Esto también puede deberse al uso de async / await con la construcción del objeto de solicitud fuera de la tarea y la llamada real a AWS dentro de la tarea. Si hay muchas tareas en ejecución y la tarea no está programada a tiempo, o hay alguna otra operación que retrasa la llamada real a AWS, se puede lanzar esta excepción.



1

Si está utilizando una caja virtual, la hora en la máquina virtual se sincroniza con la hora de la máquina real. Simplemente fije la hora en la máquina virtual no solucionará el problema.


1

Tuve este error porque la hora y la zona horaria de mi máquina local se establecieron incorrectamente. Cambiarlos a la hora y zona horaria correctas funcionó para mí.


1

Si recibe este error en Windows, siga estos pasos para resolver su problema ... Cambie la configuración de la hora local:
paso 1: haga clic en cambiar la configuración de fecha y hora
paso 2: en la ventana emergente Fecha y hora, haga clic en la pestaña Hora de Internet,
paso 3: siguiente Haga clic en Cambiar configuración
paso 4: en el menú desplegable Servidor seleccione time.nist.gov o consulte este sitio web
paso 5: haga clic en Aceptar

Reinicie su consola y verifique. Funciona...


0

Es posible que el uso de ntp no funcione en todas las versiones de su servidor basado en Linux (por ejemplo, una versión desactualizada del servidor de Ubuntu que ya no es compatible, lo que le impedirá descargar ntp si aún no está instalado).

Si esta es su situación, puede establecer zonas horarias independientes para su máquina virtual Linux: https://community.rackspace.com/products/f/25/t/650

Después de hacer esto, es posible que deba restablecer la fecha y la hora. Las instrucciones para hacer esto se encuentran en este artículo: http://codeghar.wordpress.com/2007/12/06/manage-time-in-ubuntu-through-command-line


0

Si está en 2016 y en Estambul, aquí hay una situación extraña en la que Turquía decidió no cambiar a los estándares de horario de invierno de todos modos, configure su zona horaria local en Moscú y luego reinicie su máquina.


Creo que esto debería ser un comentario.
BlackVegetable

@BlackVegetable También pensé que podría ser un comentario pero la cosa es que si estás en una situación que mencioné y vas a seguir las instrucciones dentro de la respuesta aceptada quedará sin resolver; es por eso que esta es una respuesta que brinda una solución alternativa.
Ömer Faruk Almalı

0

Me encontré con este problema al ejecutar Jet (Codeship) y Terraform en MacOS usando Docker para Mac Beta canal 1.13.1-beta42.

Failed to read state: Error reloading remote state: RequestTimeTooSkewed: The difference between the request time and the current time is too large.
status code: 403, request id: 9D32BA2A5360FC18

Esto se resolvió reiniciando Docker.


0

Recién comencé a recibir este error y sincronizar mi reloj no ayuda. (He pasado 2 horas sincronizándolo con todos los servidores de tiempo que puedo encontrar, incluidos los servidores de AWS, pero nada marca la diferencia).

Exactamente lo mismo comenzó a suceder hace un año el 31 de diciembre de 2017. En ese caso, reiniciar mi sistema y reconstruir mi servidor (que usa el sdk aws java) lo solucionó. No sé por qué. Supuse que AWS tenía alguna peculiaridad de zona horaria de fin de año. También es posible que mientras hacía estas cosas, los servidores de tiempo de AWS se arreglaran solos. No tengo forma de probar esa hipótesis.

Ahora, lo mismo comenzó a suceder repentinamente el 30 de diciembre de 2018. No está bien a fin de año, pero lo suficientemente cerca como para parecer sospechoso. (Nunca recibí este error excepto en estas fechas). Reiniciar y reconstruir no está ayudando esta vez.

Mi entorno de desarrollo en esta caja es Windows 10 en Parallels. Nada más en mi sistema ha cambiado, ya que lo comprobé al volver a las instantáneas anteriores de Parallels. Los relojes de mi host MacOS y el virtual Windows 10 son correctos.

Sospecho de un error de AWS.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.