問題の概要
リクエスト内の X-Amz-Algorithm フィールドが不足しています。
原因
Amazon S3 互換の SigV4 署名方式を使用するリクエストを送信しましたが、署名アルゴリズムを指定する X-Amz-Algorithm フィールドがリクエストに含まれていません。
例
以下のリクエストでは、X-Amz-Algorithm が欠落しています。
GET /test.txt?X-Amz-Credential=LTAI****************/20221220/us-east-1/s3/aws4_request&X-Amz-Date=20221220T084818Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=ab2s**** HTTP/1.0
Date: Tue, 20 Dec 2022 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
x-oss-s3-compat: trueソリューション
署名付き URL のクエリ文字列に、以下の必須フィールドがすべて含まれていることを確認してください:X-Amz-Algorithm、X-Amz-Credential、X-Amz-Signature、X-Amz-Date、X-Amz-SignedHeaders、および X-Amz-Expires。以下に、正しく構成されたリクエストの例を示します。
GET /test.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LTAI****************/20221220/us-east-1/s3/aws4_request&X-Amz-Date=20221220T084818Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=ab2s**** HTTP/1.0
Date: Tue, 20 Dec 2022 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
x-oss-s3-compat: true事前署名付き URL を手動で構築することを避けるには、Amazon S3 SDK を使用してそれらを生成してください。SDK は、すべての SigV4 署名パラメーターを自動的に処理します。セットアップとコード例については、「Amazon S3 SDK を使用して OSS にアクセスする」をご参照ください。