

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Sintaxe do padrão de evento
<a name="eb-create-pattern"></a>

Para criar um padrão de evento, especifique os campos aos quais o padrão de evento deve corresponder. Especifique somente os campos usados para fazer a correspondência. 

Por exemplo, o exemplo de padrão de evento a seguir fornece valores somente para três campos: os campos de nível superior `"source"` e`"detail-type"`, e o `"state"` campo dentro do campo do `"detail"` objeto. EventBridgeignora todos os outros campos do evento ao aplicar a regra.

```
{
  "source": ["aws.ec2"],
  "detail-type": ["EC2 Instance State-change Notification"],
  "detail": {
    "state": ["terminated"]
  }
}
```

Para que um padrão de evento corresponda a um evento, o evento deve conter todos os nomes de campos listados no padrão do evento. Os nomes de campos também devem aparecer no evento com a mesma estrutura de aninhamento.

Ao gravar padrões de regras para corresponder, pode usar a API `TestEventPattern` ou o comando `test-event-pattern` da CLI para garantir que o padrão corresponda ao JSON correto. Para obter mais informações, consulte [TestEventPattern](https://docs.aws.amazon.com/AmazonCloudWatchEvents/latest/APIReference/API_TestEventPattern.html).

## Valores de eventos correspondentes
<a name="eb-filtering-match-values"></a>

Em um padrão de evento, o valor correspondente está em uma matriz JSON, entre colchetes ("[", "]") para que possa fornecer vários valores. Por exemplo, para combinar eventos da Amazon EC2 ou AWS Fargate, você pode usar o seguinte padrão, que corresponde a eventos em que o valor do `"source"` campo é `"aws.ec2"` ou`"aws.fargate"`.

```
{
    "source": ["aws.ec2", "aws.fargate"]
}
```

Para obter mais informações, consulte [Fazer a correspondência com vários valores de campo](eb-event-patterns-arrays.md).

## Usando operadores de comparação nos padrões de EventBridge eventos da Amazon
<a name="eb-event-patterns-content-based-filtering"></a>

A Amazon EventBridge oferece suporte à filtragem declarativa de conteúdo usando padrões de eventos. Com a filtragem de conteúdo, é possível escrever padrões de eventos complexos que só são acionados sob condições muito específicas. Por exemplo, é possível criar um padrão de evento que corresponda a um evento quando:
+ Um campo do evento está dentro de um intervalo numérico específico.
+ O evento vem de um endereço IP específico.
+ Não existe um campo específico no JSON do evento.

Para obter mais informações, consulte [Operadores de comparação](eb-create-pattern-operators.md).

## Considerações ao criar padrões de eventos
<a name="eb-create-pattern-considerations"></a>

A seguir, algumas considerações ao criar seus padrões de eventos:
+ EventBridge ignora os campos do evento que não estão incluídos no padrão do evento. O efeito é que há um curinga `"*": "*"` para campos que não aparecem no padrão do evento.
+ Os valores de correspondência nos padrões de evento seguem regras JSON. Você pode incluir strings entre aspas (“), números e as palavras-chave `true`, `false` e `null`.
+ Para strings, EventBridge usa a character-by-character correspondência exata sem dobrar maiúsculas e minúsculas ou qualquer outra normalização de string.
+ Para números, EventBridge usa representação de string. Por exemplo, 300, 300.0 e 3.0e2 não são considerados iguais.
+ Se vários padrões forem especificados para o mesmo campo JSON, usará EventBridge somente o último.
+ Lembre-se de que, ao EventBridge compilar padrões de eventos para uso, ele usa ponto (.) como caractere de junção.

  Isso significa que EventBridge tratará os seguintes padrões de eventos como idênticos:

  ```
  ## has no dots in keys
  { "detail" : { "state": { "status": [ "running" ] } } }
  
  ## has dots in keys
  { "detail" : { "state.status": [ "running" ] } }
  ```

  E que os dois padrões de eventos corresponderão aos dois seguintes eventos: 

  ```
  ## has no dots in keys
  { "detail" : { "state": { "status": "running" } } }
  
  ## has dots in keys
  { "detail" : { "state.status": "running"  } }
  ```
**nota**  
Isso descreve EventBridge o comportamento atual e não se deve confiar que não mude.
+ Os padrões de eventos contendo campos duplicados são inválidos. Se um padrão contiver campos duplicados, considerará EventBridge apenas o valor final do campo.

  Por exemplo, os seguintes padrões de eventos corresponderão ao mesmo evento:

  ```
  ## has duplicate keys
  {
    "source": ["aws.s3"],
    "source": ["aws.sns"],
    "detail-type": ["AWS API Call via CloudTrail"],
    "detail":  {
        "eventSource": ["s3.amazonaws.com"],
        "eventSource": ["sns.amazonaws.com"]
    }
  }
  
  ## has unique keys
  {
    "source": ["aws.sns"],
    "detail-type": ["AWS API Call via CloudTrail"],
    "detail": { "eventSource": ["sns.amazonaws.com"] }
  }
  ```

  E EventBridge trata os dois eventos a seguir como idênticos: 

  ```
  ## has duplicate keys
  {
    "source": ["aws.s3"],
    "source": ["aws.sns"],
    "detail-type": ["AWS API Call via CloudTrail"],
    "detail":  [
      {
        "eventSource": ["s3.amazonaws.com"],
        "eventSource": ["sns.amazonaws.com"]
      }
    ]
  }
  
  ## has unique keys
  {
    "source": ["aws.sns"],
    "detail-type": ["AWS API Call via CloudTrail"],
    "detail": [
      { "eventSource": ["sns.amazonaws.com"] }
    ]
  }
  ```
**nota**  
Isso descreve EventBridge o comportamento atual e não se deve confiar que não mude.