SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Scott Guthrie氏 Blog翻訳

Windows Azure:Mobile Servicesに対するBizTalk Services、Traffic Manager、Azure AD App AccessとXamarinサポートをGAリリース

連載:ScottGu's Blog翻訳


  • X ポスト
  • このエントリーをはてなブックマークに追加

オプティミスティック同時実行制御のサポート

 今回のMobile Servicesリリースには、オプティミスティック同時実行のサポートも追加されています。オプティミスティック同時実行を使用すると、アプリケーションは複数のユーザから提出された競合する更新を検出し、解決できます。

 例えば、あるユーザが編集するためにMobile Servicesテーブルからレコードを取得し、一方で他のユーザがそのテーブル内でこのレコードを更新した場合、オプティミスティック同時実行サポートがないと、最初のユーザは2番目のユーザのデータ更新を上書きする可能性があります。オプティミスティック同時実行があると、アプリケーションは、矛盾する変更を捕え、手動による競合の解決もしくは解決動作の実装という選択肢をユーザに提供することができます。

 新しいテーブルを作成する際に、オプティミスティック同時実行をサポートするために追加された3つのシステムプロパティカラムが確認できると思います。

 (1) __version、レコードのバージョン

 (2) __createdAt、このレコードがに挿入された時間

 (3) __updatedAt、レコードが最後に更新された時刻

 コードに2つの変更を行うことで、アプリケーションでオプティミスティック同時実行を使用することができます。

 まず、以下のコードスニペットに示すように、データモデルにversionプロパティを追加します。Mobile Servicesは、テーブルに対応するレコードを更新している間に、このプロパティを使用して競合を検出します。

public class TodoItem 

{
        public string Id { get; set; } 

        [JsonProperty(PropertyName = "text")] 

        public string Text { get; set; } 

        [JsonProperty(PropertyName = "__version")] 
        public byte[] Version { get; set; } 

}

 次に、MobileServicePreconditionFailedExceptionという新しい例外を捕捉して、競合を処理するようにアプリケーションを修正してください。Mobile Servicesは、競合項目のサーバーバージョンを含めたエラーを送り返します。これにより、アプリケーションは、サーバーにコミットするバージョンを決定して、検出された競合を解決できます。

 オプティミスティック同時実行の詳細については、新しいMobile Servicesオプティミスティック同時実行のチュートリアルをご確認ください。また、今回のリリースで追加された新しいCustom IDプロパティのサポートもご確認ください。これにより、さまざまなよりリッチなデータモデリングシナリオ(シャーディングサポートを含む)をよりいっそう簡単に処理することができます。

通知ハブ:プライスダウンとデバッグ送信の改善

 8月にWindows Azure通知ハブの一般公開を発表しました。

 これは、さまざまなモバイルデバイス(Windows Phone、Windows 8、iOS、Androidデバイスを含む)へ低レイテンシで高容量のプッシュ通知が簡単に送信できる強力なモバイルプッシュ通知サービスです。通知ハブは、あらゆるモバイルアプリのバックエンド(Windows Azure Mobile Servicesを使用して構築されたものを含む)を使用することができ、クラウドおよびオンプレミスで実行されているバックエンドでも使用することができます。

価格更新:通知ハブ有料層からアクティブデバイス制限を削除

 通知ハブの価格モデルを簡素化し、お客様にコスト節約していただくため、以前あったアクティブデバイス数の制限を削除しました。例えば、通知ハブ標準層の消費価格は、100万プッシュ当たり月額75ドル、500万プッシュ当たり月額199ドル(日割り)になります。

 これらの変更とプライスダウンは、12月15日からすべての有料層で利用可能になります。価格の詳細については、ここからご確認いただけます

デバッグ送信によるプッシュ通知のトラブルシューティング

 バックエンド、通知ハブ、プラットフォーム通知サービス、クライアントアプリなど多くのコンポーネントが関わっているため、プッシュ通知のトラブルシューティングが難しいことが時々あります。

 それを支援するため、今回のリリースで、Windows Azure管理ポータルから直接テスト通知が簡単に送信できる機能を追加しました。

 各通知ハブのDEBUGタブに移動し、すべての登録済みデバイスにブロードキャストするのか、もしくは特定デバイス/デバイスグループだけをターゲットにするタグ(またはタグ式)を提供するのかを指定し、送信したい通知ペイロードを指定し、“Send”を押してください。例えば、以下では、アプリのiOSバージョンを持ち、アプリ内で“sport-scores”の購読を登録しているすべてのユーザに、テスト通知メッセージを送信するという選択をしています。

 通知が送信されると、通知ターゲットとなったすべてのデバイス登録一覧と、対応するプラットフォームの通知サービス(WNS、MPNS、APNS、GCM)により報告として送信された具体的な通知結果が取得できます。これにより、問題をデバッグすることがはるかに簡単になります。

 通知ハブを使用開始する場合、通知ハブドキュメントセンターをご確認ください。

次のページ
Webサイト:Blob Storageへの自動ログに対する診断サポート

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Scott Guthrie氏 Blog翻訳連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト Chica(チカ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Scott Guthrie(Scott Guthrie)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7528 2013/12/05 19:18

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング