Azure Tables でデータを処理するための Azure WebJob を作成していますが、WebSite のインスタンスが複数ある場合 (つまり、WebSite がスケールアウトされている場合)、処理の同期を使用する必要があります。
インフラストラクチャからそのような情報を取得できますか (現在実行されている WebApp のインスタンスの数)?
Azure Tables でデータを処理するための Azure WebJob を作成していますが、WebSite のインスタンスが複数ある場合 (つまり、WebSite がスケールアウトされている場合)、処理の同期を使用する必要があります。
インフラストラクチャからそのような情報を取得できますか (現在実行されている WebApp のインスタンスの数)?
このブログ投稿には、Azure Web サイトのインスタンス数の取得に関する情報が記載されています - http://blog.amitapple.com/post/2014/03/access-specific-instance/
特に継続的な Web ジョブには、特定の Web ジョブのすべてのインスタンスのステータスを提供する API 呼び出しがあります。ここで説明されている API を使用する必要があります: https://github.com/projectkudu/kudu/wiki/WebJobs-API#get -特定の継続ジョブ名
https://{sitename}.scm.azurewebsites.net/api/continuouswebjobs/{jobname}
プロパティは と呼ばれdetailed_status
ます。
どちらのシナリオでも、リクエストを認証する必要があります。
ただし、Web サイト/Web ジョブ インスタンス間でロックが必要な場合は、Web サイトの共有ファイル システムを使用できます。すべてのインスタンスが同じファイル システム ( d:\home\...
) にアクセスするため、ファイル システム ロックを使用して同期できます。
kudu の使用例は次のとおりです: https://github.com/projectkudu/kudu/blob/master/Kudu.Core/Infrastructure/LockFile.cs