エラーが発生しましたリクエスト時間と現在の時間の差が大きすぎますメソッドamazons3.ListObjectsを呼び出す
ListObjectsRequest request = new ListObjectsRequest() {
BucketName = BucketName, Prefix = fullKey
};
using (ListObjectsResponse response = s3Client.ListObjects(request))
{
bool result = response.S3Objects.Count > 0;
return result;
}
それは何でしょうか?
ローカルボックスの時刻が現在の時刻と同期していません。システムクロックを同期すると、問題はなくなります。
Vagrantを使用している場合は、vagrant halt
に続く vagrant up
私のために働いた。
クロックが同期していません。
this post の手順に従って再び動作するようにしましたが、次のコマンドも実行する必要がありました。
Sudo ntpdate ntp.ubuntu.com
Sudo apt-get install ntp
NTPソケットがまだ使用中であるというメッセージが表示された場合は、Sudo /etc/init.d/ntp stop
で停止し、コマンドを再実行してください。
同じエラーが発生し、Docker for Macを使用しています。 Dockerを再起動するだけでうまくいきました。
誰かがLaravelとHomesteadを使用してこれを見つけた場合、単に実行します
Homestead halt
に続く
Homestead up
そして、あなたは再び行ってもいいです。
WindowsでDockerを使用している場合は、Setting-> Reset-> Restart DockerでDocker Engineを再起動してください。
他の人が言ったように、ローカルクロックはAWSと同期していません。 Amazonのサーバーと直接同期させることができます[〜#〜] ntp [〜#〜] を使用すると、クロックのドリフトを心配する必要がなくなりますor将来的に。
注:以下の手順は* nixユーザー向けです。 Windowsでどのように行うかについてのコメントを追加しましたが、Windows以外のユーザーとして、その正確性を検証することはできません。
NTPをインストールするには、ディストリビューションに応じて、次のいずれかを選択します。
apt-get install ntp
または
yum install ntp
等.
Amazonサーバーを使用するには、NTPを構成します。
vim /etc/ntp.conf
そして、その中に、デフォルトのサーバーをコメントアウトし、これらを追加します:
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
そして、ntpサービスを再起動します。
Sudo service ntp restart
ソース: https://www.allcloud.io/how-to/how-to-fix-Amazon-s3-requesttimetooskewed/
そして、時間をNTPと同期させるためのより一般的な記事: https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-12-04
これにより、OSXでシステムクロックが正しくリセットされました。 JS SDKを使用したS3アップロードは、ローカルの開発環境で動作します
ntpdate us.pool.ntp.org
この問題を解決するには、最大15分のタイムスタンプの差が最大になるようにクライアントのタイミングを調整する必要があります。システムの標準時間とゾーンも設定します。
windowsでこのエラーが発生した場合は、次の手順に従って問題を解決してください。現地時間の設定を変更します。
ステップ1:日付と時刻の設定の変更をクリックします
ステップ2:ポップアップの[Date and Time]ウィンドウからInternet Timeタブ
ステップ3:next設定の変更
ステップ4:[サーバー]ドロップダウンからtime.nist.govまたは このWebサイト をチェック
ステップ5:[OK]をクリックします
コンソールを再起動して確認します。できます...
ローカルマシンの時間とタイムゾーンが正しく設定されていないため、このエラーが発生しました。それらを正しい時間とタイムゾーンに変更するとうまくいきました。
Virtualboxを使用している場合、仮想マシンへの時間は実際のマシンの時間と同期します。仮想マシンに時間を修正しても、問題は修正されません。
これは、タスクの外部でリクエストオブジェクトを構築し、タスク内でAWSを実際に呼び出して、async/awaitを使用することによっても発生します。実行中のタスクが多数あり、タスクが時間内にスケジュールされていない場合、またはAWSへの実際の呼び出しを遅延させる他の操作がある場合、この例外がスローされる可能性があります。
このエラーが発生し始めたばかりで、時計を同期しても役に立ちません。 (AWSサーバーを含め、見つけることができるすべてのタイムサーバーに同期するのに2時間かかりましたが、何も違いはありません。)
1年前の2017年12月31日にまったく同じことが起こりました。その場合、システムを再起動し、サーバーを再構築(aws Java sdk)を使用)して修正しました。 AWSには年末のタイムゾーンの特殊性があると仮定しましたが、これらのことを行っている間にAWSタイムサーバーが修正された可能性もあります。
今、2018年12月30日に突然同じことが起こり始めました。それは年末には正しくありませんが、疑わしいと思われるほど近いものです。 (これらの日付を除いて、このエラーは発生しません。)今回は再起動と再構築は役に立たない。
このボックスの開発環境は、ParallelsのWindows 10です。以前のParallelsスナップショットにロールバックすることで再確認したため、システム上のその他の変更はありません。ホストMacOSと仮想Windows 10の両方の時計は正しいです。
AWSのバグを疑っています。
Linuxベースのサーバーのすべてのバージョンでntpの使用が機能しない場合があります(たとえば、サポートされていない古いUbuntuサーバーバージョンは、ntpがまだインストールされていない場合、ダウンロードをブロックします)。
これがあなたの状況であれば、Linux VMに独立したタイムゾーンを設定できます。 https://community.rackspace.com/products/f/25/t/65
これを行った後、時刻/日付をリセットする必要がある場合があります。これを行うための手順はこの記事にあります: http://codeghar.wordpress.com/2007/12/06/manage-time-in-ubuntu-through-command-line
2016年にイスタンブールで、トルコで冬時間標準に切り替えずにローカルタイムゾーンをモスクワに設定し、マシンを再起動しないことにしたという奇妙な状況です。
Docker for Macベータチャネル1.13.1-beta42を使用してMacOSでJet(コードシップ)とTerraformを実行すると、この問題に遭遇しました。
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
これは、Dockerを再起動することで解決しました。