0

Web アプリケーションのイメージを格納するために Azure Mobile Services を使用しています。画像をプライベート コンテナーに正常にアップロードできました。この入門ガイド ( http://code.msdn.microsoft.com/windowsapps/Upload-File-to-Windows-c9169190 )のロジックに従いました。つまり、ファイルをデータベースにアップロードすると、SAS がレコードをテーブルに挿入するときに呼び出されるノード スクリプト。

モバイル アプリからこのアプローチを使用する理由の 1 つは、ストレージ キーがアプリケーション ソース自体に格納されないようにするためです。

その考えに準拠して、画像をダウンロードする方法の例を見つけるのに苦労しています。

おそらく、同じテーブルの読み取り関数を更新し、イメージへのアクセスに使用できる SAS を返す必要があります。

これは合理的に聞こえますか、それともより良いアプローチですか? どんな援助も大歓迎です。

4

1 に答える 1

0

あなたは正しい軌道に乗っているように思えます。画像をプライベート コンテナーに保存していて、モバイル デバイスにそれを読み取らせたい場合は、読み取りを許可する SAS を生成してデバイスに戻す必要があります。その後、デバイス コードは、その SAS URL を使用して BLOB ストレージに対して直接呼び出しを行い、画像を取得できます。

これは、コンテナーを非公開にする場合にのみ適用されます。コンテナーが公開されている場合は、(リンク先の記事にあるように) URL を返すだけで問題ありません。

また、画像をどの程度プライベートにするかにもよります。たとえば、ユーザーごとに作成されたコンテナーがあるとします。コンテナーに共有アクセス署名ポリシーがあり、有効期限が非常に遠い場合、技術的には、誰かがそれを表示するために SAS を含む URL を必要としますが、その SAS を作成して、サンプルのように保存することができます。モバイル アプリは、サービスからデータを読み取り、追加の SAS を作成せずに BLOB に直接アクセスするときに URL を指定できます。私の意見では、このオプションが実際に機能するのは、画像があまり長くない場合、または誰かがネットワーク トラフィックから URL を盗聴してアクセスできるかどうかをあまり気にしない場合だけです。

かなり安全にしたいが、画像がどれくらいの期間存在するかわからない場合は、アプリが関連するテーブル データから読み取るときに、読み取り用の SAS を取得するという前述のアプローチを使用する必要があります。SAS の有効期限はかなり短く、モバイル デバイスは結果をキャッシュできます。

于 2013-03-04T02:44:05.793 に答える