Atualmente temos alguns AzureFunctions que usam um gatilho Azure CosmosDB. Pelo que entendi, isso usa um ChangeFeed
gerado pelo CosmosDB que gera os input
elementos para a função acionada.
Minha pergunta é: se eu disable
usar a Função do Azure com o gatilho do CosmosDB no Portal do Azure, executar um grande número de alterações em Items
nosso CosmosDB e, em seguida, re-enable
o AzureFunction fornecido, a função captará todas as alterações ou essas alterações simplesmente não ser processado?
Além disso, caso a função não processe, de fato, as alterações feitas enquanto ela estava desativada, terei algum problema ao processar as alterações feitas nesses mesmos itens no futuro?
Estou perguntando porque temos uma situação em que precisamos fazer alterações em lote em um número muito grande de itens em nosso CosmosDB, mas essas alterações não exigem a execução do AzureFunction em questão. Na verdade, preferiríamos que a função não fosse executada para evitar sobrecarregar outros serviços.
Obrigado!
Quando você desabilita uma Função do Azure com um gatilho do CosmosDB, a função não processará nenhuma alteração do Feed de Mudanças enquanto estiver desabilitada. Se você fizer alterações em itens no CosmosDB enquanto a função estiver desabilitada, essas alterações não serão captadas pela função quando você reativá-la.
No entanto, depois de reativar a Função Azure, ela começará a processar alterações a partir do momento em que a reativar. Ele não processará retroativamente as alterações ocorridas enquanto estava desativado.
Não deve haver nenhum problema. Depois que a Função do Azure for reativada, ela processará novas alterações nesses itens à medida que ocorrerem após o ponto de reativação do CosmosDB Change Feed.
Se você quiser evitar a sobrecarga de outros serviços ao fazer alterações em lote, considere a viabilidade de alterar temporariamente o gatilho do CosmosDB para uma função acionada por temporizador ou acionar manualmente o processo em lote e reativar o gatilho do CosmosDB posteriormente. Dessa forma, você pode controlar quando a função processa as alterações em lote.