ILeaseManager Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Se você quiser ter concessões de repositório EventProcessorHost em algum lugar diferente do Armazenamento do Azure, você poderá escrever seu próprio gerenciador de concessão usando essa interface.
Os gerenciadores de Armazenamento do Azure usam o mesmo armazenamento para concessão e pontos de verificação, portanto, ambas as interfaces são implementadas pela mesma classe. Você estará livre para fazer a mesma coisa se tiver um repositório unificado para ambos os tipos de dados.
Essa interface não especifica métodos de inicialização porque não temos como saber quais informações sua implementação exigirá.
public interface ILeaseManager
type ILeaseManager = interface
Public Interface ILeaseManager
Propriedades
LeaseDuration |
Principalmente útil para teste. |
LeaseRenewInterval |
Permite que uma implementação do gerenciador de concessão especifique ao PartitionManager a frequência com que ele deve verificar as concessões e renová-las. Para redistribuir as concessões em tempo hábil depois que um host deixar de operar, recomendamos um intervalo relativamente curto, como dez segundos. Obviamente, deve ser menos da metade do comprimento da concessão, para evitar a expiração acidental. |
Métodos
AcquireLeaseAsync(Lease) |
Adquira a concessão na partição desejada para este EventProcessorHost. Observe que é legal adquirir uma concessão que já pertence a outro host. Roubo de concessão é como as partições são redistribuídas quando hosts adicionais são iniciados. |
CreateLeaseIfNotExistsAsync(String) |
Crie no repositório as informações de concessão para a partição fornecida, se ela não existir. Não faça nada se ele já existir na loja. |
CreateLeaseStoreIfNotExistsAsync() |
Crie o repositório de concessão se ele não existir, não faça nada se ele existir. |
DeleteLeaseAsync(Lease) |
Exclua as informações de concessão da partição fornecida do repositório. Se não houver concessão armazenada para a partição fornecida, isso será tratado como êxito. |
DeleteLeaseStoreAsync() |
Não usado por EventProcessorHost, mas uma função conveniente para teste. |
GetAllLeasesAsync() |
Retornar as informações de concessão para todas as partições. Uma implementação típica pode chamar GetLeaseAsync() em todas as partições. |
GetLeaseAsync(String) |
Retornar as informações de concessão para a partição especificada. Pode retornar nulo se nenhuma concessão tiver sido criada no repositório para a partição especificada. |
LeaseStoreExistsAsync() |
O repositório de concessão existe? |
ReleaseLeaseAsync(Lease) |
Desista de uma concessão atualmente mantida por este host. Se a concessão tiver sido roubada ou expirada, liberá-la será desnecessária e falhará se for tentada. |
RenewLeaseAsync(Lease) |
Renove uma concessão atualmente mantida por esse host. Se a concessão tiver sido roubada, expirada ou liberada, não será possível renová-la. Você precisará chamar getLease() e, em seguida, adquirirLease() novamente. |
UpdateLeaseAsync(Lease) |
Atualize o repositório com as informações na concessão fornecida. Atualmente, é necessário manter uma concessão para atualizá-la. Se a concessão tiver sido roubada ou expirada ou liberada, ela não poderá ser atualizada. A atualização deve renovar a concessão antes de executar a atualização para evitar a expiração da concessão durante o processo. |
Aplica-se a
Azure SDK for .NET