2016-04-11 15 views
0

私は、一般的なアプリケーション開発の詳細を知るために、シンプルなモバイルアプリケーションに取り組んでいます。私はXamarinとC#を使ってクロスプラットフォームのアプリケーションを作っています。AzureモバイルサービスEasy Tables - 私は正しいトラックですか?

最後の目標は、ゴルフをするために連絡を取りたいユーザーのリストを作成することです。ユーザーが名前と電子メールアドレスを1つのページに入力し、Azure SQLデータベースを使用してテーブルにエントリを保存し、それらをアプリケーションの別のページのリストに表示できるようにします。

私は自分自身でかなり広範な研究を行ってきましたが、今私はそれを実践的なものにして、私を導くのに役立つ時間だと思います。だから私の実際の質問は...

"Getting Started"チュートリアルhereは私がしたいことに近いと思われます。しかし、例のアプリケーションが使用するデータベースはローカルに格納されているのに対し、すべてのユーザーがアクセス可能なテーブルを作成したいと考えています。このウォークスルーの後、私のために正しい動きをしていますか?そうでない場合、私は代わりに何をすべきですか?

私はAzure Mobile Servicesを使用することを約束していますので、別のプラットフォームを使用していることを示唆する回答は控えてください。

ありがとうございました!

+1

私はあなたがAzureモバイルサービスに加わったと述べています。しかし、これはapp-mobile通信のための古い空白のコンテナであることに注意してください。 Azureは新しいportal.azure.comの新しいコンテナシステムにアップグレードしました。新しいものはAzure App Service - Mobile(App Serviceの特定のバージョン)と呼ばれています。私はこれをプラットフォーム/フレームワークとして前進させるため、これを使用することをお勧めします。 – JTIM

+0

そうです、新しいプロジェクトでは、Azure Mobile Appsの使用をお勧めします。 –

答えて

0

あなたのゴルフプレーヤーを保管することができるAzureプラットフォームには、いくつかの製品があります。ただし、リンク先のページはBLOBストレージのためのものです。その使用をお勧めしません。

アズールテーブルストレージがあります。 AzureプラットフォームにNoSQLストアがあります。スケーラビリティとスキーマレス性が非常に高く、非常に柔軟性があります。 Azure SDKを利用して読み書きすることができます。そうであれば、RESTに行くことができます。チュートリアルはこちらからご覧ください:https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-tables/

Azureプラットフォームで提供されているSQLサーバーであるAzure SQLがあります。これは伝統的なリレーショナルデータベースストアですが、よりスケーラブルです(Azureプラットフォーム上にあるため)。このソリューションを使用することもできますが、おそらくEntity FrameworkのようなORMを使用したいので、少し余分な作業が必要です。

だから私はすべてAzureテーブルストレージに行きます。あなたがやりたいことをやり遂げるのは本当に簡単です。

+0

私はこれがまさに私が必要とするものだと思います! –

+0

これは動作しますが、モバイルクライアントがデータベースに接続することをどのようにお勧めしますか? Azure StorageからSASトークンを取得するサービスはありません。アプリケーションにマスターキーを配布することはセキュリティ上のリスクです。テーブルストレージは素晴らしいソリューションですが、実際に認証されたクライアントにトークンを提供するために何らかの種類のWeb APIを追加する必要があります。 1つの解決方法は、Mobile Apps/Mobile Servicesでテーブルストレージの組み込み機能を使用するか、カスタムAPIを使用することです。 –

+0

セキュリティ要件が何であるかによって異なります。私はあなたのセキュリティ要件を説明するためにこれについて新しい質問を開くことをお勧めします、そして、私たちはオプションを見ていきます。 –

5

Azure Storageをクライアントアプリケーションから直接使用する場合は、ではなく、が共有キー認証を使用していることを確認してください。そうしないと、誰もが単にアプリからクレデンシャルを盗んで、あなたのBLOBアカウントに完全にアクセスできます。詳細については、Shared Access SignaturesとSOの質問Azure blob storage and security best practicesを参照してください。 official documentationから

:アカウントキーのいずれかを公開

は、悪意のあるまたは過失使用の可能性にあなたのアカウントを開きます。共有アクセス・シグネチャーは、他のクライアントが、許可された許可に従って、アカウント・キーを必要とせずに、ストレージ・アカウント内のデータの読み取り、書き込み、および削除を可能にする安全な方法です。

新しいプロジェクトの場合は、Azure Mobile Apps instead of Azure Mobile Servicesを使用してください。新しいサービスはいくつかの機能を提供し、将来のすべての投資がどこにあるかを示します。

たとえば、通常のオフラインデータ同期と一緒にブロブストレージの同期をサポートし、SASトークンを使用して安全に接続します。Xamarin.FormsのチュートリアルはConnect to Azure Storage in your Xamarin.Forms appです。ワンクリックでAzureサブスクリプションにデプロイできるサンプルが含まれています。

具体的な質問については、Todoサンプルを変更したり、さらにフル機能のField Engineerサンプルを見たりして、プレーヤーとゲームのテーブルを追加することができます。

+0

私はこの2週間後に[this](https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-tables)に続くXamarin.Androidアプリケーションを設定しました。 /)チュートリアル。 Xamarin Studioの代わりにVisual Studioを使用してデバッグするまでは、Windows Azure Storage Accountのnugetパッケージはアセンブリに存在しないことを伝えるエラーが表示されました(System.IO.FileSystem.Primitives)。 Android用のモノラルプロファイル。あなたの記事に戻って、私はあなたがXamarin.Formsを使って実際に提案したことに気付きました!とにかくそれを使用できるように回避策を提案できますか? –

+0

Android用のMonoにはXamarin.Formsと同じ基本.NETアセンブリがあるので、プロジェクトが誤っている可能性があります。ストレージナゲットを7.0.1プレビューにアップグレードして、問題が解決しないかどうか確認できますか?もしそうなら、Xamarinという新しいタグをXamarinフォーラムに投稿することをお勧めします。 Storage SDKには、特にMono for Androidで動作するテストがあります。 –

+0

私は最初からプロジェクトを作成し、7.0.1プレビューナットをインストールしようとしましたが、現在依存しているSystem.Diagnostics.Toolsパッケージをインストールできないというエラーが表示されます。 –

関連する問題