問題の説明
PostObjectリクエストのポリシーフォームフィールドの条件で指定されたフィールドタイプが無効です。
原因
PostObjectリクエストを開始して、オブジェクトをアップロードします。 ただし、リクエストボディのポリシーフォームフィールドの条件で指定されているフィールドタイプは無効です。 その結果、リクエストエラーが発生します。
例
次のサンプルコードは、conditionsフィールドのフィルターの例を示しています。 この例では、["not-In", "cache-control", "no-cache"] が指定されています。 「not − in」フィルタは、「no − cache」フィルタがList型でなければならないことを必要とする。 ただし、「キャッシュなし」
のフィルタはString型です。 その結果、リクエストエラーが発生します。
{
"expiration": "2023-02-19T13:19:00.000Z" 、
"conditions": [
["not-in", "cache-control", "no-cache"]
]
}
ソリューション
条件フィールドのフィルターが有効なデータ型であることを確認します。 次のサンプルコードは、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"]]
]
}
関連ドキュメント
ポリシーフォームフィールドの詳細については、「PostObject」トピックの「付録: ポリシー」セクションを参照してください。
フォームアップロードを使用してwebクライアントからObject Storage Service (OSS) にデータを転送する方法の詳細については、「JavaScriptを使用してクライアントに署名を追加し、データをOSSにアップロードする」をご参照ください。
PostObject操作の一般的なエラーとトラブルシューティング方法の詳細については、「PostObject」をご参照ください。