AWS PHP SDK を使用した Amazon S3 での「計算したリクエスト署名は、指定した署名と一致しません」エラーのトラブルシューティング
を試行したときAWS PHP SDK を使用して Amazon S3 に接続すると、開発者は「計算されたリクエスト署名」というエラーが発生する可能性があります。指定した署名と一致しません。キーと署名方法を確認してください。」アクセス キーを検証し、新しいアクセス キーを生成し、資格情報の受け渡し方法を調整したにもかかわらず、問題は解決しません。
このわかりにくいエラーは、ピリオド (「.」) で始まるオブジェクト キーという予期しない原因によって発生する可能性があります。提供されているコードでは、オブジェクト キーは「..imagesABC.jpg」として定義されています。
オブジェクト キーがピリオドで始まる場合、SDK はそれが絶対パスであると想定し、それに応じてリクエストに署名します。ただし、Amazon S3 はピリオドで始まるオブジェクト キーを受け入れないため、署名の不一致が発生します。
解決策:
このエラーを解決するには、オブジェクト キーを次のように変更します。先頭のピリオドを削除して、バケット内の有効な相対パスであることを確認します。たとえば、「..imagesABC.jpg」を「images/ABC.jpg」に変更します。
オブジェクト キーが調整されると、SDK は適切な署名を作成し、操作は成功します。
以上がAWS PHP SDK を使用して Amazon S3 で発生する「計算したリクエスト署名が指定した署名と一致しません」エラーを修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。