問題の説明
PutBucketLifecycleリクエストのXMLリクエスト本文のRule
ノードのPrefix
パラメーターの値はUTF-8にエンコードされていません。
原因
PutBucketLifecycleリクエストを開始しますが、XMLリクエストボディのRule
パラメーターにPrefix
属性の値を指定すると、UTF-8にエンコードされていないため、リクエストエラーが発生します。
例
次のサンプルリクエストでは、Rule
パラメーターのPrefix
属性の値はUTF-8エンコードされていません。
PUT /? ライフサイクルHTTP/1.1
ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
コンテンツ-長さ: 336
日付: 5月6日月曜日2019 15:23:20 GMT
承認: OSS Wnjl3fg9fdv8fg4b ****:Phuu8bBhS8dsff2a ****
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>abc</ID>
<Status>Enabled</Status>
<Prefix>(UTF-8でエンコードされていない文字を省略)</Prefix>
<Transition>
<Days>30</Days>
<StorageClass>IA</StorageClass>
<IsAccessTime>true</IsAccessTime>
</Transition>
</ルール>
</LifecycleConfiguration>
ソリューション
XMLリクエストボディのRuleパラメーターの
Prefix
属性の値がエンコードされていUTF-8ことを確認します。 値の長さは最大1,023文字です。Prefix属性を指定した場合、ルールはバケット内の指定されたプレフィックスを名前に含むオブジェクトにのみ適用されます。
Prefix属性を指定しない場合、ルールはバケット内のすべてのオブジェクトに適用されます。
リクエスト本文を手動で作成する必要がないように、Object Storage Service (OSS) コンソールでライフサイクルルールを設定します。