ファイルのアップロードにbotoを使用すると、他の多くのユーザーと同じように、奇妙な403禁制エラーが発生しました。 彼らに提供されたソリューションは私のために働いていませんでした。AWS S3 403バックアップファイルによるサーバーエラー
私のバケツには多くのファイルがアップロードされていますが、そのほとんどは403エラーが発生するまで動作しました。
私はさらに問題がチルダを削除し、ファイルの名前を変更する場合UUID_Server.csv〜
という名前のファイルから来たことに気づき、すべてが動作します。 スクリプトで回避策を講じましたが、解決策はあまりエレガントではありません。
なぜ '〜'はs3のダイジェストにならないのでしょうか? 私は設定ファイルを使用しません。すべてがスクリプトにあります。私のpythonバージョンは2.7.3で、botoは最新です。
ありがとうございます。
'〜'はurl-encodingを使ってURLで特別な処理が必要な文字です(または必須でない場合は特別な処理が行われる可能性があります)、署名コードはエンコーディングと一致する署名を生成する必要があります。問題の説明のための有望な候補のようであり、廃止されたbotoの状態...よく、ええ。それはうまくいったはずです。 +1 –
(ほぼ)まったく同じスクリプトでboto3に切り替えました。そして、今回はうまくいきました。ありがとう! – Sogeking
@Sogeking 'boto'ページを訪問する私はあなたの問題に対処するプルのリクエストが見つかりました(https://github.com/boto/boto/commit/98651e86a5fddee84c123ff78dbe09eca68b5d5a)が1週間前にマスターにマージされました。もし彼らが今やっているように、彼らが新しいバージョンをリリースしたのか、あなたが好きなら「開発版を使う」の中に 'boto'を残すのだろうか。あなたは 'boto3'に切り替えました。 –