0

リモート クライアントが最大 1 書き込み/秒の頻度でデータ/イメージを「ストリーミング」する Azure アプリケーションを設計する。データはテーブル ストレージに移動し、画像は BLOB ストレージに移動します。

これらの書き込みが受け入れられる前にロジックを実行したい場合があります。たとえば、書き込み頻度を制限したり、バグや改ざんが発生した場合にデータを検証したり、サムネイル、サービス バスの使用などのその他のサポート操作を行ったりします。

1 つのオプションは、worker ロールで実行されている REST サービスを介してすべての操作をパイプすることです。このサービスは、データをストレージにプッシュし、必要な操作を実行します。ただし、クライアントがストレージ サービスに直接アクセスできる (アクセスを保護する共有アクセス署名) ことを考えると、これは不必要なボトルネックのように思えますが、さらに多くの問題が発生する可能性があります。さらに、このロジックを別の場所にプッシュする機会がある場合、ロールを持つことでコストが増加します。

ありがとう

4

1 に答える 1

1

リモート クライアントが有効な SAS を持っている場合、SAS で定義されている内容 (読み取り、書き込み、削除など) に基づいて、リソースを使って好きなことを行うことができます。ストレージ レベルにロジックを追加する方法はありません。

できることは、Windows Azure Web サイトを使用することです。

  1. Blob/Table & Queue サービスのファサードとして機能する Web サイトを使用できます。これにより、これらのサービスへのアクセス方法を制御できます。リモート クライアントはストレージ サービスに直接アクセスしません。
  2. Web サイトを使用して SAS を配布できます。これにより、クライアントがストレージ サービスに直接アクセスできるようになり、クライアントがストレージ サービスにアクセスできるかどうか、およびアクセスできる時間を Web サイトが制御します。ただし、SAS を 1 分間配布したとしても、その 1 分間は、SAS で定義されたアクセス許可を使用して、必要なことを何でも実行できることに注意してください。検証などを行いたい場合、これは最適なオプションではありません。

また、ワーカー ロールと比較すると、Web サイトは非常に安価です (無料でさえあります)。

于 2012-12-01T17:22:24.533 に答える