S3 Fehler: Die Differenz zwischen der Anforderungszeit und der aktuellen Zeit ist zu groß

118

Ich habe einen Fehler Der Unterschied zwischen der Anforderungszeit und der aktuellen Zeit ist zu groß, wenn die Methode amazons3.ListObjects aufgerufen wird

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

    return result;
}

Was könnte es sein?

st78
quelle

Antworten:

160

Die Uhrzeit auf Ihrer lokalen Box stimmt nicht mit der aktuellen Uhrzeit überein. Synchronisieren Sie Ihre Systemuhr und das Problem wird behoben.

Markieren Sie an der Rampe 51
quelle
Das stimmt. Aus der Fehlermeldung herausgefunden. Wenn Sie sich fragen, wie Sie die Ortszeit auf einem Remotecomputer oder in der Cloud ermitteln können, verwenden Sie das Internet, um die aktuelle Uhrzeit zu ermitteln. timeanddate.com :)
user_v
1
Ich habe den gleichen Fehler konfrontiert. Bitte sagen Sie mir, wie man eine Synchronisation durchführt
Stas
38
Ich träume von dem Tag, an dem Fehlermeldungen direkter sind: "Ihre Serverzeit ist falsch eingestellt", wäre für mich in Ordnung.
Adamdport
2
Die Zeitzoneneinstellung sollte keine Rolle spielen. Es ist die Genauigkeit der aktuell eingestellten Zeit, die wichtig ist.
Markieren Sie an der Rampe 51
1
In Australien sind wir gerade in die Sommerzeit gegangen (1 Stunde im Voraus) und jetzt wird dieser Fehler ausgelöst. Meine Uhr ist korrekt. Scheint ein Fehler in AWS zu sein.
Luke
71

Für diejenigen, die Vagrant verwenden, hat ein vagrant haltgefolgt von vagrant upfür mich gearbeitet.

Zar Pino
quelle
62

Die Uhr ist nicht synchron.

Ich habe die Schritte in diesem Beitrag befolgt , um es wieder zum Laufen zu bringen, musste aber auch den folgenden Befehl ausführen.

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

Wenn Sie zu irgendeinem Zeitpunkt die Meldung erhalten, dass der NTP-Socket noch verwendet wird, beenden Sie ihn mit sudo /etc/init.d/ntp stopund führen Sie Ihren Befehl erneut aus.

Manafire
quelle
3
Vielen Dank! Lief wie am Schnürchen. :)
NightMICU
Ja, das hat mein Problem behoben. Wenn Sie nicht apt-get haben , verwenden Sie stattdessen yum: sudo yum install ntp -y
Shougo Makishima
1
Hat funktioniert. Ich musste allerdings nur sudo ntpdate ntp.ubuntu.comauf meinem Server laufen .
spnkr
27

Ich hatte den gleichen Fehler und verwende Docker für Mac. Das einfache Neustarten von Docker hat bei mir funktioniert.

Dylan O'Carroll
quelle
15

Falls jemand dies mit Laravel und Homestead findet, läuft er einfach

homestead halt

gefolgt von

homestead up

Und du bist gut, wieder zu gehen.

Bürger
quelle
15

Wenn Sie Docker unter Windows verwenden, starten Sie die Docker Engine unter Einstellungen-> Zurücksetzen-> Docker neu starten neu.

Julio Colon
quelle
Dies ist keine Antwort. Wahrscheinlich ein Kommentar.
hB0
8

Wie andere bereits gesagt haben, ist Ihre lokale Uhr nicht mit AWS synchron. Sie können es direkt über NTP mit den Servern von Amazon synchronisieren, sodass Sie sich weder jetzt noch in Zukunft um die Zeitverschiebung kümmern müssen .

Hinweis: Die folgenden Anweisungen gelten für * nix-Benutzer. Ich habe einen Kommentar hinzugefügt, wie Sie dies unter Windows tun könnten, aber als Nicht-Windows-Benutzer kann ich deren Richtigkeit nicht überprüfen.

  1. Um NTP zu installieren, wählen Sie einfach eine der folgenden Optionen, abhängig von Ihrer Distribution:

    apt-get install ntp
    

    oder

    yum install ntp 
    

    etc.

  2. Konfigurieren Sie NTP für die Verwendung von Amazon-Servern wie folgt:

    vim /etc/ntp.conf
    

    Kommentieren Sie die Standardserver aus und fügen Sie diese hinzu:

    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. Und dann den NTP-Dienst neu starten:

    sudo service ntp restart
    

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

Und ein allgemeinerer Artikel zum Synchronisieren Ihrer Zeit mit NTP: https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-12-04

Kyle Chadha
quelle
C: \ Benutzer \ Benutzer> apt-get install ntp 'apt-get' wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt.
st78
apt-getist ein Paketinstallationsprogramm für bestimmte Linux-Distributionen. Für Windows können Sie online nach dem besten Weg zur Synchronisierung mit NTP suchen. Hier ist eine Referenz, die ich für win10 gefunden habe: tenforums.com/tutorials/… , und hier ist eine für Windows Server: support.microsoft.com/en-us/help/816042/…
Kyle Chadha
4

Dadurch wurde meine Systemuhr unter OSX korrekt zurückgesetzt. S3-Uploads mit dem JS SDK funktionieren jetzt für mich in der lokalen Entwicklung

ntpdate us.pool.ntp.org

Lesen Sie hier mehr darüber

Phoenixbox
quelle
4

wenn dieses Problem in Ihrem localhost für Windows 10

Zeit automatisch einschalten und Zeitzone automatisch einschalten, um mein Problem zu lösen.

Geben Sie hier die Bildbeschreibung ein

Atul Baldaniya
quelle
3

Dies kann auch durch die Verwendung von async / await bei der Erstellung des Anforderungsobjekts außerhalb der Aufgabe und dem tatsächlichen Aufruf von AWS innerhalb der Aufgabe verursacht werden. Wenn viele Aufgaben ausgeführt werden und die Aufgabe nicht rechtzeitig geplant ist oder eine andere Operation den tatsächlichen Aufruf von AWS verzögert, wird diese Ausnahme möglicherweise ausgelöst.

James
quelle
1

Um dieses Problem zu beheben, müssen Sie das Timing des Clients so anpassen, dass eine maximale Zeitstempeldifferenz von bis zu 15 Minuten besteht. Stellen Sie auch die Standardzeit und -zone für Ihr System ein.

Überprüfen Sie das vollständige Detail hier.

Nikunj Dhimar
quelle
1

Wenn Sie eine Virtualbox verwenden, wird die Zeit in der virtuellen Maschine mit der Zeit der realen Maschine synchronisiert. Korrigieren Sie einfach die Zeit in der virtuellen Maschine, um das Problem nicht zu beheben.

Thiago Mata
quelle
1

Ich hatte diesen Fehler, weil die Zeit und die Zeitzone meines lokalen Computers falsch eingestellt waren. Das Ändern auf die richtige Zeit und Zeitzone hat bei mir funktioniert.

Adim Victor
quelle
1

Wenn dieser Fehler in Windows auftritt, führen Sie die folgenden Schritte aus, um das Problem zu beheben. Ändern Sie Ihre lokale Zeiteinstellung:
Schritt 1: Klicken Sie auf Einstellungen für Datum und Uhrzeit ändern.
Schritt 2: Klicken Sie im Popup-Fenster Datum und Uhrzeit auf die Registerkarte Internetzeit.
Schritt 3: Weiter Klicken Sie auf Einstellungen ändern
Schritt 4: Wählen Sie in der Dropdown- Liste Server time.nist.gov aus oder überprüfen Sie diese Website.
Schritt 5: Klicken Sie auf OK

Starten Sie Ihre Konsole neu und überprüfen Sie. Es klappt...

Laxminarayana
quelle
0

Die Verwendung von ntp funktioniert möglicherweise nicht auf allen Versionen Ihres Linux-basierten Servers (z. B. eine veraltete Ubuntu-Serverversion, die nicht mehr unterstützt wird und Sie daran hindert, ntp herunterzuladen, wenn es nicht bereits installiert ist).

In diesem Fall können Sie unabhängige Zeitzonen für Ihre Linux-VM festlegen: https://community.rackspace.com/products/f/25/t/650

Nachdem Sie dies getan haben, müssen Sie möglicherweise die Uhrzeit / das Datum zurücksetzen. Anweisungen dazu finden Sie in diesem Artikel: http://codeghar.wordpress.com/2007/12/06/manage-time-in-ubuntu-through-command-line

socialmatchbox
quelle
0

Wenn Sie im Jahr 2016 und in Istanbul sind, ist dies eine seltsame Situation, in der die Türkei beschlossen hat, nicht auf Winterzeitstandards umzusteigen. Stellen Sie Ihre lokale Zeitzone auf Moskau ein und starten Sie Ihre Maschine neu.

Ömer Faruk Almalı
quelle
Ich denke, das sollte ein Kommentar sein.
BlackVegetable
@BlackVegetable Ich dachte auch, dass es ein Kommentar sein könnte, aber die Sache ist, wenn Sie sich in einer Situation befinden, die ich erwähnt habe, und Anweisungen innerhalb der akzeptierten Antwort befolgen werden, wird es ungelöst bleiben; Deshalb ist dies eine Antwort, die eine alternative Lösung bietet.
Ömer Faruk Almalı
0

Ich bin auf dieses Problem gestoßen, bei dem Jet (Codeship) und Terraform unter MacOS mit Docker für Mac Beta Channel 1.13.1-beta42 ausgeführt wurden.

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

Dies wurde durch einen Neustart von Docker behoben.

EvilPlankton
quelle
0

Ich habe gerade angefangen, diesen Fehler zu bekommen, und die Synchronisierung meiner Uhr hilft nicht. (Ich habe 2 Stunden damit verbracht, es mit jedem Zeitserver zu synchronisieren, den ich finden kann, einschließlich der AWS-Server, aber nichts macht einen Unterschied.)

Genau das Gleiche geschah vor einem Jahr am 31. Dezember 2017. In diesem Fall wurde das Problem behoben, indem mein System neu gestartet und mein Server (der das aws java sdk verwendet) neu erstellt wurde. Ich weiß nicht warum. Ich nahm an, dass AWS eine Besonderheit der Zeitzone zum Jahresende hatte. Es ist auch möglich, dass sich AWS-Zeitserver während dieser Zeit selbst repariert haben. Ich habe keine Möglichkeit, diese Hypothese zu testen.

Jetzt hat das Gleiche plötzlich am 30. Dezember 2018 begonnen. Es ist nicht richtig zum Jahresende, aber nah genug, um verdächtig zu wirken. (Ich habe diesen Fehler nur an diesen Daten erhalten.) Neustart und Neuerstellung helfen diesmal nicht.

Meine Entwicklungsumgebung auf dieser Box ist Windows 10 unter Parallels. An meinem System hat sich nichts anderes geändert. Ich habe dies überprüft, indem ich auf frühere Parallels-Snapshots zurückgegriffen habe. Die Uhren auf meinem Host-MacOS und dem virtuellen Windows 10 sind korrekt.

Ich vermute einen AWS-Fehler.

Donner
quelle