これは私の場合に役立ちました:
<オール>s3cmd ls
バケツでbucket_host
を置き換えます .s3cfg
で 警告からのものを含むファイル。 s3cmd ls
、もはや警告を出力するべきではありません私の .s3cfg は今:
host_bucket = %(bucket)s.s3-external-3.amazonaws.com
あなたが言及したエラーを s3cmd が返す結果となるいくつかの一般的な問題があります:
- 存在しない (例:バケット名の入力ミス、またはまだプロビジョニングされていないバケット)
- 認証値 (キー/ID) の末尾のスペース
- 不正確なシステム クロック。 Wireshark を (https 接続ではなく http 経由で) 使用して、システム クロックが S3 のクロックとどのように一致しているかを確認できます。それらは数秒以内に一致するはずです。これが問題になる場合は、NTP を使用して時計を同期することを検討してください。
s3cmd の代替:
- s3cp - ファイルを S3 に転送するための優れた機能と、s3cmd よりも詳細なエラー メッセージを提供する Java ベースのスクリプト
- aws - Tim Kay によって書かれた Perl ベースのスクリプトで、AWS (S3 を含む) のほとんどの機能に簡単にアクセスでき、非常に人気があります。
独自のスクリプトを作成する場合は、Python Boto ライブラリを使用できます。このライブラリには、ほとんどの AWS 操作を実行するための関数があり、多くの例がオンラインで入手できます。コマンド ラインで boto 関数の一部を公開するプロジェクトがありますが、現在利用できる関数はごくわずかです。
Ubuntu s3cmd
でも同じ問題がありました コマンド。
最新の安定版 (1.0.1) をダウンロードすると解決しました:http://sourceforge.net/projects/s3tools/files/s3cmd/