Windows Azure Storage Release - CORS、JSON、Minute Metrics の紹介

Windows Azure Storage Team Blogで、新しいWindows Azure Storageのリリースが紹介されています。Windows Azure Storage Release - Introducing CORS, JSON, Minute Metrics, and More

以下に抜粋で内容を紹介します。

3つの主要な機能

  1. CORS (Cross Origin Resource Sharing):Windows Azure Blobs, Tables, Queues でCORS が有効できるようにになった。これによって、browser から異なったドメインのリソースへのアクセス・操作ができる。CORS は、Service Properties の 設定で有効化。詳しくはhttp://msdn.microsoft.com/en-us/library/windowsazure/dn535601.aspxを参照してください。

  2. JSON (JavaScript Object Notation): 現在、Windows Azure Table は、OData 3.0JSON formatをサポートしている。JSON format では、AtomPub XML payloadの冗長な部分が削減されより効率的な転送になる。

    JSONは下記3つの形式でサポート

    • No Metadata - これは最も効率的なformatで、クライアントがカスタムプロパティのデータ型を知っている場合に便利です
    • Minimal Metadata - この形式は、暗黙的に解釈できない特定の種類のカスタムプロパティのデータ型情報が含まれている。例えば、Azure Table Browserのような、一般的なツールのように保存されているEntityのデータ型を知らないで読まなければいけない場合に便利です
    • Full Metadata - このフォーマットは、 generic OData readers で読む場合に便利です

    Windows Azure TableのJSONについての詳細情報はhttp://msdn.microsoft.com/en-us/library/windowsazure/dn535600.aspxを参照してださい。

  3. Windows Azure Storage Analytics の Minute Metrics: 今まで、Windows Azure StorageのMetricsは時間集計でした。(Storage Analytics Metrics の詳細) 新しい 2013-08-15 version では、 いくつかの主要な値に付いて 5分以内に 分集計(Minute Metrics) が取得できるようになります。それに伴って下記のテーブルを追加します。

    • $MetricsHourPrimaryTransactionsBlob
    • $MetricsHourPrimaryTransactionsTable
    • $MetricsHourPrimaryTransactionsQueue
    • $MetricsMinutePrimaryTransactionsBlob
    • $MetricsMinutePrimaryTransactionsTable
    • $MetricsMinutePrimaryTransactionsQueue

    時間集計のテーブル名が変わっているので注意してください。古いテーブルも継続して存在します。

    分集計の設定は、2013-08-15 version を設定して、Set Service Properties REST APIを使います。現在 Windows Azure Portal では設定ができませんが、将来サポートされる予定です。

    詳細情報は、About Storage Analytics Metricsを見てくだい。

その他の追加機能

これらの他の2013-8-15 versionでは、以下の機能を実装しています。2013-8-15 version の変更詳細のリストは:http://msdn.microsoft.com/en-us/library/windowsazure/dd894041.aspxにあります。

  • Copy blob で、Shared Access Signature (SAS) を、コピー先にも適応します。(同じstorage accountの場合)
  • Windows Azure Blob service は、Content-Disposition と response headers の cache-control などの ability control (via. SAS)をサポートします。Content-Disposition は、Set Blob Properties で設定します。
  • Windows Azure Blob service は、Get Blob と Get Blob Propertiesで、複数の HTTP conditional header をサポートします。この機能は、web-browsers which から CDN servers 経由でアクセスする場合に有用です。
  • Windows Azure Blob Service は、uncommitted blobはある状態での、Delete Blob operation をサポートします。以前は、事前にcommitしないとdelete Blob出来ませんでした。
  • List Containers, List Blobs と List Queues は、2013-08-15 version から、resourceに、URL address field を含みません。 これは、clientで再構築できる fields を削減したためです。
  • Lease Blob と Lease Container は、2013-08-15 version から、ETag と Last Modified Time を response headers で返します。これによって、lease holder は最後に見た時から、リソースが変更されたかどうかを簡単に確認することができます。(つまり、blob や その metadata が更新されたか)。以前と同じくblob の lease operations では、ETagは変更されません。

これらの機能に対応した、Windows Azure Storage Client Library をgithub:azure-storage-netにリリースします。数ヶ月で、Windows AzureのSDK 2.2、Windows Azure Storage Emulatorのアップデートをリリースする予定です。この更新は、2013-08-15 version の新機能をサポートします。

既知の問題が幾つかあります。下記の記事を参照してください。

http://blogs.msdn.com/b/windowsazurestorage/archive/2013/11/23/windows-azure-storage-known-issues-november-2013.aspxhttp://blogs.msdn.com/b/windowsazurestorage/archive/2013/11/23/windows-azure-storage-breaking-changes-for-windows-azure-tables-november-2013.aspx

以上

最後に

Azure Storage Client (Windows Azure Storage)は、3.0.0がリリースされています。nugetはnuget:WindowsAzure.StorageDependenciesを見ると、Microsoft.Data.OData 5.6以上になっているので、既存のコードとコンフリクトするかもしれません、要注意です。BUILD 2013で話が出てきたStorageの新機能の一部がまだ出てきていないようなので、年末に向けてさらに期待しています。負荷試験している時とかはMinute Metricsは便利ですね、嬉しいです。