

# Gravação em entidades do Adobe Marketo Engage
<a name="adobe-marketo-engage-writing-to-entities"></a>

**Pré-requisitos**
+ Um objeto do Adobe Marketo em que você gostaria de gravar. Você precisará do nome do objeto, como `leads` ou `customobjects`.
+ O conector do Adobe Marketo é compatível com três operações de gravação:
  + INSERT
  + UPSERT
  + UPDATE
+ Para operações de gravação `UPSERT` e `UPDATE`, você deve fornecer a opção `ID_FIELD_NAMES` para especificar o campo ID para os registros. Ao trabalhar com a entidade `leads`, use `email` como `ID_FIELD_NAMES` para operações `UPSERT` e `id` para operações `UPDATE`. Para a entidade `customobjects`, use `marketoGUID` como `ID_FIELD_NAMES` para as operações `UPDATE` e `UPSERT`.

**Entidades compatíveis para destino (Síncrono)**


| Nome da entidade | Será compatível como conector de destino | Pode ser inserido | Pode ser atualizado | Pode ser upserted | 
| --- | --- | --- | --- | --- | 
| leads | Sim | Sim (em massa) | Sim (em massa) | Sim (em massa) | 
| customobjects | Sim | Sim (em massa) | Sim (em massa) | Sim (em massa) | 

**Exemplo:**

**Operação INSERT:**

```
marketo_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="marketo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v1",
        "WRITE_OPERATION": "INSERT"
    }
```

**Operação UPDATE:**

```
marketo_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="marketo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v1",
        "WRITE_OPERATION": "UPDATE",
        "ID_FIELD_NAMES": "id"
    }
```

**nota**  
Para as entidades `leads` e `customobjects`, o Adobe Marketo fornece endpoints para buscar metadados dinamicamente, de forma que os campos graváveis sejam identificados na resposta da API do Marketo.