問題の説明
リクエスト内のx-oss-object-aclリクエストヘッダーが欠落しているか、空のままです。
原因
たとえば、PutObjectAclリクエストを開始し、x-oss-object-aclリクエストヘッダーを使用してオブジェクトのACLを指定します。 リクエストヘッダーがリクエストにない場合、またはリクエストヘッダーの値が空の文字列の場合、エラーが報告されます。
例
たとえば、次のリクエストを開始します。
PUT /test-object?acl HTTP/1.1
x-oss-object-acl:
ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
日付: 4月29日水曜日05:21:12 GMT 2015
権限付与: OSS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZ **** 上記のリクエストでは、x-oss-object-aclリクエストヘッダーの値は空のままです。これは有効なACL名ではありません。 エラーが返されます。
ソリューション
リクエスト内のx-oss-object-aclリクエストヘッダーの値が有効かどうかを確認します。 有効な値は次のとおりです。
default: オブジェクトのACLは、オブジェクトが格納されているバケットのACLと同じです。 デフォルト値です。
private: オブジェクトのACLがprivateです。 オブジェクトに対する読み取りおよび書き込み権限を持つのは、オブジェクトの所有者および許可されたユーザーのみです。 他のユーザーにはオブジェクトに対する権限がありません。
public-read: オブジェクトのACLはpublic readです。 オブジェクトに対する読み取りおよび書き込み権限を持つのは、オブジェクトの所有者および許可されたユーザーのみです。 他のユーザーはオブジェクトを読むことしかできません。 x-oss-object-aclをこの値に設定する場合は注意してください。
public-read-write: オブジェクトのACLはpublic read/writeです。 すべてのユーザーがオブジェクトに対する読み取りおよび書き込み権限を持っています。 x-oss-object-aclをこの値に設定する場合は注意してください。