問題の説明
policyフォームフィールドのconditionsパラメーターで指定された条件は、マップまたはリストタイプではありません。
原因
PostObjectリクエストを開始して、オブジェクトをアップロードしました。 ただし、policyフォームフィールドのconditionsパラメーターで指定された条件は、マップまたはリストタイプではありません。 その結果、エラーが返されます。
例
policyフォームフィールドのconditionsパラメーターで指定された最初の条件が123されているため、エラーが返されます。 ポリシーフォームフィールドの条件パラメーターで指定される各条件は、マップまたはリストタイプである必要があります。
{
"expiration": "2023-02-19T13:19:00.000Z" 、
"conditions": [
123,
["content-length-range", 10, 1024]
]
}
ソリューション
ポリシーフォームフィールドのconditionsパラメーターで指定された各項目が、マップまたはリストタイプの条件であることを確認してください。
{
"expiration": "2023-02-19T13:19:00.000Z" 、"conditions": [
["content-length-range", 1, 1024],
["eq" 、"$success_action_status" 、"201"] 、
["starts-with", "$key", "user/eric/"],
["in" 、"$content-type" 、["image/jpg" 、"image/png"]] 、
["not-in", "$cache-control", ["no-cache"]]
]
}
関連ドキュメント
ポリシーフォームフィールドの詳細については、「付録: ポリシー」をご参照ください。
フォームアップロードを使用してwebクライアントからOSSにデータを転送する方法については、「JavaScriptを使用してクライアントに署名を追加し、データをOSSにアップロードする」をご参照ください。
PostObject操作の一般的なエラーとトラブルシューティング方法については、「PostObjectのエラーとトラブルシューティング方法」をご参照ください。