2017-07-19 5 views
0

私はAzure SQLDBで作業しています。クライアントに接続するsignalRハブにメッセージを送信することです。トラフィックの量は少なくなります(最大で1日あたり約1000〜2000メッセージ、1〜2秒の遅延は問題ありません)AzureSQLDB-関数を呼び出すテーブル更新を送信する

定期的にポーリングするのではなく、Azure関数を使用してデータをプルする更新があるとき。機能します - 私は

Azure SQL Database trigger to insert audit info into Azure Table

が最良の選択肢は何

  • 私はキューを投入すべきAzureDBが原因CLRのサポートの欠如に直接Azureの機能を呼び出すことはできません機能制限やトリガを持って理解して機能のためのトリガー?繰り返しますが、どのようにこのキューにデータを入れますか?
  • 私はサービスバスを使用することができます - それは、単純な

は任意のポインタや指導そう

答えて

2

に感謝保つことを好むだろう、私はあなたが何かを持っていると思い、のは、SQLデータベースにClient、更新データを、それを呼びましょう:

Client->Database

だから、あなたは、大きく分けて2つのオプションがあります。

  1. Clientには、データベースを更新するたびにキューアイテムを挿入するように変更します。その後、あなたの関数はキューアイテムによってトリガされ、通知を送信します。

    Client -> Database 
         -> Queue -> Function -> SignalR 
    
  2. 機能を定期的にデータベースにポーリングし、更新自体を検出する(タイマートリガ)。

    Client -> Database <- (pulls) Function -> SignalR 
    

    あなたはすでにクライアントから既に投票しているように聞こえるので、おそらく悪化しません。しかし、1〜2秒の目標待ち時間は毎秒ポーリングを意味し、クエリに応じて高価になる可能性があります。

関連する問題