問題の説明
クライアント側の暗号化シナリオでのUploadPartリクエストのx-oss-meta-client-side-encryption-start
ヘッダーの値は、InitiateMultipartUploadリクエストに基づいてOSSが計算した予想パーツ数とは異なります。
原因
UploadPartリクエストで指定されたx-oss-meta-client-side-encryption-start
ヘッダーの値が、InitiateMultipartUploadリクエストで指定されたヘッダーの値と同じではありません。
例
たとえば、InitiateMultipartUploadリクエストを開始します。
POST /multipart.data? HTTP/1.1のアップロード
ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
日付: 2月22日水2012 08:32:21 GMT
x-oss-storage-class: アーカイブ
権限付与: OSS qn6qrrqxo2oawuk53otfjbyc:/cluRFtRwMTZpC2hTj4F67AG ****
x-oss-meta-client-side-encryption-start: value1
次に、UploadPartリクエストを開始します。
PUT /multipart.data?partNumber=1&uploadId=0004B9895DBBB6EC9 **** HTTP/1.1
ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
コンテンツ-長さ: 6291456
日付: 2月22日水2012 08:32:21 GMT
権限付与: OSS qn6qrrqxo2oawuk53otf ****:J/lICfXEvPmmSW86bBAfMmUm ****
x-oss-meta-client-side-encryption-start: value2
[6291456バイトのデータ]
InitiateMultipartUploadリクエストとUploadPartリクエストでx-oss-meta-client-side-encryption-start
ヘッダーを同じ値に設定しないため、UploadPartリクエストに対してエラーが返されます。
ソリューション
InitiateMultipartUploadリクエストとUploadPartリクエストで、x-oss-meta-client-side-encryption-start
ヘッダーを同じ値に設定していることを確認してください。