web-dev-qa-db-ja.com

JSONでのAmazonS3の応答?

ドキュメントによると http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html S3サービスはXMLで応答するようです。

代わりにJSON形式で取得する方法はありますか?

30
ajsie

番号。

また、応答は常に有効なXMLであるとは限りません。これはS3の既知のバグです。 S3では、anyUTF-8文字列をオブジェクトのキーとして使用できます。これにはXMLの無効な文字(<、>など)を含むものも含まれますが、一部の奇妙な制御文字はそうではありません。

したがって、どういうわけか、キーとして十分に奇妙な文字列を使用してS3でファイルを取得した場合、そのリストを要求すると、無効なXMLが返されます。

したがって、オプションとして何らかのJSONを返すことでこのバグを修正できる可能性がありますが、すぐには探しないでください。 XMLのバグは何年も前から知られています。 https://forums.aws.Amazon.com/thread.jspa?threadID=10869https://forums.aws.Amazon.com/thread.jspa?threadID=82485

もう1つの問題点は、(少なくとも1年前に試したときは)XML応答をgzipで圧縮することが不可能なことです。したがって、非常にふわふわしたXMLを送信するために多くの帯域幅を浪費します。

S3が、圧縮された堅牢な新しい返されるデータ形式をサポートする時が来ました。

43
Tom Andersen