Skip to main content
O filtro escolhe quais mensagens publicadas geram uma entrega para a assinatura. Coloque valores de roteamento no mapa attributes. Um campo event dentro do texto JSON de message não se torna um atributo filtrável.

Um exemplo completo

Esta política aceita pedidos de produção de valor mínimo 100 e menor que 1.000, salvo quando há um atributo test:
Estes atributos de publicação correspondem:
Valores de atributos são strings mesmo com tipo Number. Operandos numéricos do filtro são números JSON. Mantenha as representações distintas.

Como combinar condições

Todos os atributos nomeados devem corresponder: AND entre nomes de atributos. Na lista de um atributo, basta uma alternativa: OR entre alternativas. Dentro de um único operador numeric, todas as comparações devem ser satisfeitas. Nomes e comparações textuais distinguem maiúsculas. Uma política vazia {} aceita todas as mensagens, inclusive sem atributos. Todos os operadores exceto exists: false exigem presença. Atributos ausentes não correspondem a exclusões como anything-but.

Comparações disponíveis

Os exemplos mostram a lista de alternativas de um atributo. Operadores numéricos: =, <, <=, > e >=. Escreva operador e operando; repita pares para um intervalo. Valores que não podem ser interpretados como números não correspondem. O avaliador atual interpreta o valor independentemente do tipo declarado; use Number em dados numéricos para clareza. Números JSON simples também são alternativas exatas, mas comparam a representação textual. [100] corresponde a "100", não a "100.0". Use numeric para igualdade matemática. Prefixos e sufixos comparam texto literal. Não há curingas, expressões regulares, filtros aninhados do corpo, atributos com arrays ou operadores que ignorem maiúsculas. Não presuma suporte a todos os operadores SNS.

Combinar presença e exclusão

Para aceitar um valor diferente de test, inclusive quando o atributo estiver ausente, inclua ambas as alternativas:
Dois itens na lista não exigem prefixo e sufixo ao mesmo tempo: significam OR. Publique um atributo de roteamento separado com a classificação combinada quando precisar dessa condição.

Definir ou limpar uma política

Abra Subscriptions no tópico e selecione Subscribe. Cole um objeto JSON em Filter policy na criação. Deixe vazio para receber tudo. O formulário verifica sintaxe; a API valida operadores e limites.Abra Filter policy na assinatura existente para inspecionar; use a API para substituir ou limpar.

Limites e validação

Cada objeto deve ter exatamente um operador. Prefixos e sufixos não podem ser vazios. Listas numéricas precisam de pares completos operador/número. Alternativas vazias e operadores desconhecidos são inválidos. Políticas malformadas retornam HTTP 400 com NOTIFICATION_INVALID_FILTER_POLICY. Uma assinatura filtrada não tem registro de entrega nem tentativa com falha. Se houver menos entregas que o esperado, verifique confirmação, nomes e valores exatos e todas as condições. Mudanças afetam decisões de distribuição posteriores; não criam nem removem registros existentes retroativamente.