ILeaseManager インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Azure Storage 以外の場所に EventProcessorHost ストア リースを設定する場合は、このインターフェイスを使用して独自のリース マネージャーを作成できます。
Azure Storage マネージャーはリースとチェックポイントの両方に同じストレージを使用するため、両方のインターフェイスは同じクラスによって実装されます。 両方の種類のデータに対して統合ストアがある場合は、同じことを自由に行うことができます。
実装に必要な情報を知る方法がないため、このインターフェイスでは初期化メソッドは指定されません。
public interface ILeaseManager
type ILeaseManager = interface
Public Interface ILeaseManager
プロパティ
LeaseDuration |
主にテストに役立ちます。 |
LeaseRenewInterval |
リース マネージャーの実装で、リースをスキャンして更新する頻度を PartitionManager に指定できるようにします。 ホストの運用停止後に適切なタイミングでリースを再配布するには、10 秒などの比較的短い間隔をお勧めします。 間違った有効期限が切れないようにするには、明らかにリースの長さの半分未満にする必要があります。 |
メソッド
AcquireLeaseAsync(Lease) |
この EventProcessorHost の目的のパーティションのリースを取得します。 別のホストが既に所有しているリースを取得することは有効であることに注意してください。 リース盗みとは、追加のホストが開始されたときにパーティションを再配布する方法です。 |
CreateLeaseIfNotExistsAsync(String) |
特定のパーティションのリース情報が存在しない場合は、ストアにを作成します。 ストアに既に存在する場合は、何も行いません。 |
CreateLeaseStoreIfNotExistsAsync() |
リース ストアが存在しない場合は作成し、存在する場合は何も行いません。 |
DeleteLeaseAsync(Lease) |
特定のパーティションのリース情報をストアから削除します。 特定のパーティションに格納されたリースがない場合、それは成功として扱われます。 |
DeleteLeaseStoreAsync() |
EventProcessorHost では使用されませんが、テストに便利な関数です。 |
GetAllLeasesAsync() |
すべてのパーティションのリース情報を返します。 一般的な実装では、すべてのパーティションで GetLeaseAsync() を呼び出すだけです。 |
GetLeaseAsync(String) |
指定したパーティションのリース情報を返します。 指定したパーティションのストアにリースが作成されていない場合は null を返すことができます。 |
LeaseStoreExistsAsync() |
リース ストアは存在しますか? |
ReleaseLeaseAsync(Lease) |
このホストが現在保持しているリースを放棄します。 リースが盗まれた場合、または期限切れになった場合、リースの解放は不要であり、試行されると失敗します。 |
RenewLeaseAsync(Lease) |
このホストが現在保持しているリースを更新します。 リースが盗まれたり、期限切れになったり、解放されたりした場合、更新することはできません。 getLease() を呼び出してから、acquireLease() をもう一度呼び出す必要があります。 |
UpdateLeaseAsync(Lease) |
提供されたリースの情報を使用してストアを更新します。 更新するには、現在リースを保持する必要があります。 リースが盗まれた場合、期限切れになった場合、または解放された場合は、更新できません。 更新では、プロセス中にリースの有効期限が切れないように、更新を実行する前にリースを更新する必要があります。 |
適用対象
Azure SDK for .NET