Windows Azure テーブルにおける重大な(互換性のない)変更
このポストは、11 月 24 日に Windows Azure Storage Team が投稿した Windows Azure Tables Breaking Changes (November 2013) の翻訳です。
Windows Azure テーブルで JSON をサポートするための準備として、マイクロソフトは、Windows Azure テーブルにいくつか大きな変更を実施しています。これらの変更は WCF Data Services の依存性の問題によるもので、マイクロソフトは下位互換性の確保に集中的に取り組んでいます。
WCF Data Services ライブラリにいくつか変更を施しましたが、標準で定められている XML パーサーや HTTP リーダーには支障はありません。しかし、カスタム パーサーは従来の応答の書式に対し一定の依存性を持っている場合があり、これから予定されている大幅な変更によって影響が出ることが考えられます。このため、マイクロソフトでは、正規のパーサーと同様に XML の内容を標準に基づいて処理し、改行、空白、要素の順序などに対して強い依存性を持たないようにしていただくことを推奨します。
変更の内容は、次のとおりです。
- 新しいリリースで導入される AtomPub XML 応答には、XML 要素の間に改行および空白がありません。書式がコンパクトになり、データ転送量を抑制しながら、サービス更新前に生成された XML と同等に取り扱うことができます。標準の XML パーサーには、この変更による影響はありません。しかし、カスタマイズされたロジックでは不具合が発生することがユーザーから報告されています。マイクロソフトは、このような変更にシームレスに対応できるように、専用のパーサーを使用するクライアントには XML の仕様と互換性を維持させるようにすることを推奨します。
- AtomPub XML 応答の XML 要素 (title、id など) の順序が変更可能です。パーサーには要素の順序に依存性を持たせないようにすることを推奨します。
- “type” プレースホルダーが Content-Type HTTP ヘッダーに追加されます。たとえば、クエリ応答 (ポイント クエリではない) の場合、charset および application/atom+xml に加えて、content type に “type=feed” が追加されます。
- 以前のバージョン: Content-Type: application/atom+xml;charset=utf-8
- 新しいバージョン: Content-Type: application/atom+xml;type=feed;charset=utf-8
- 新しい応答ヘッダーでは、MIME タイプのセキュリティ リスクを軽減するために、"X-Content-Type-Options: nosniff" を返します。
ご不明な点がありましたら、フォーラムかこのブログへお気軽にご連絡ください。
Windows Azure ストレージ チーム