Conceito e mecanismo
Service Bus separa receção, processamento e settlement. Em PeekLock, confirma depois de persistir o efeito necessário, preparando idempotência quando a confirmação se perde. Uma fila com consumidores concorrentes distribui trabalho; um tópico com subscrições permite fluxos independentes. Duplicate detection compara MessageId numa janela e não transforma efeitos externos em transações exatamente uma vez. A DLQ conserva trabalho que precisa de diagnóstico, correção e reprocessamento controlado. Event Grid também exige consumidores que tolerem duplicados e ordem diferente. Filtros de assunto ou propriedades selecionam eventos; não substituem autenticação do endpoint. Escolhe o serviço e o padrão segundo o contrato de entrega e recuperação necessário ao negócio.
Aplicação guiada
Uma Function tem um trigger que inicia execução e pode usar bindings para integrar entradas e saídas. Permissões continuam necessárias. Em Python, async def só beneficia de concorrência quando o I/O não bloqueia o event loop ou é isolado adequadamente. Para trabalho longo, persiste o pedido numa fila ou orquestração duradoura e devolve aceitação com estado consultável; uma thread local depois da resposta pode desaparecer com o host. Num processamento fictício, o resultado foi gravado mas Complete falhou. Na reentrega, consulta a chave de negócio e evita repetir o efeito. Retries devem distinguir falhas transitórias, respeitar orçamento e limitar pressão. Define quem trata DLQ, quando escalar e como provar reconciliação antes de declarar o batch concluído.
Efeito persistido + Complete perdido = possível reentrega. A chave de negócio permite reconhecer a operação já aplicada.
Armadilhas comuns
Receção como conclusão; deduplicação do broker como exatamente uma vez; DLQ vazia obtida por apagar trabalho; async com I/O bloqueante; 200 como trabalho duradouro.
Tópicos relacionados: Containers, artefactos e revisões · Cosmos DB, vetores e change feed · PostgreSQL, vetores e cache
Separa aceitação, execução e confirmação, com retoma e efeitos idempotentes.
Referência: Service Bus locks and settlement · AI-200 current guide updated2026-05-05; Azure technical documentation2026-09-30